Abfragen in 1 Skript bündeln

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

WPLPHSS
Posts: 172
Joined: 04 Feb 2017, 05:34

Abfragen in 1 Skript bündeln

03 May 2024, 12:48

Stehe gerade auf dem Schlauch.

Code: Select all

Sleep, 300
MouseMove %x%, %y%
Sleep, 200
MouseGetPos x, y ; 3 Zeilen nach unten zum nächsten Betrag
Sleep, 200
MouseClick, left, 1914, 1071
Sleep, 200
MouseMove %x%, %y%
Sleep, 200
MouseMove, 0, 82, 2, R
MouseClick, left
MouseMove soll den Mauszeiger 1 Zeile, 2 Zeilen etc. verschieben. Die entsprechende Ziffer (1, 2 etc) wird aus der Zwischenablage in das Skript eingefügt.

Wie bekomme ich das hin? Wie würde das o. g. Skript aussehen?

Code: Select all

1 = MouseMove, 0, 82, 2, R
2 = MouseMove, 0, 62, 2, R
3 = MouseMove, 0, 42, 2, R
just me
Posts: 9512
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Abfragen in 1 Skript bündeln

04 May 2024, 01:28

Moin,

ich weiß nicht, ob ich das richtig verstehe. Vielleicht

Code: Select all

AnzahlZeilen := Clipboard
;...
Sleep, 300
MouseMove %x%, %y%
Sleep, 200
MouseGetPos x, y ; 3 Zeilen nach unten zum nächsten Betrag
Sleep, 200
MouseClick, left, 1914, 1071
Sleep, 200
MouseMove %x%, %y%
Sleep, 200

If AnzahlZeilen = 2 ; 2 Zeilen
   DY := 62
Else If AnzahlZeilen = 3 ; 3 Zeilen
   DY := 82
Else ; in allen anderen Fällen 1 Zeile
   DY := 42
   
MouseMove, 0, %DY%, 2, R
MouseClick, left
WPLPHSS
Posts: 172
Joined: 04 Feb 2017, 05:34

Re: Abfragen in 1 Skript bündeln

04 May 2024, 03:05

Super. Vielen Dank für deine Hilfe. Es hat geklappt. Es läuft wie gewünscht.
WPLPHSS
Posts: 172
Joined: 04 Feb 2017, 05:34

Re: Abfragen in 1 Skript bündeln

05 May 2024, 02:49

Guten Morgen,

ich habe heute Morgen festgestellt, dass nur die Zeile

Code: Select all

Else ; in allen anderen Fällen 1 Zeile
   DY := 42
richtig ausgewertet wird. Keine Ahnung, woran es liegen kann? Das von just me erstellte Skript wurde 1:1 übernommen.
just me
Posts: 9512
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Abfragen in 1 Skript bündeln

06 May 2024, 02:33

Moin,

ich habe kein Skript erstellt, ich habe nur Beispielcode geliefert. Wenn immer der Else-Zweig angesprungen wird, sind die anderen Bedingungen nicht erfüllt. Stell doch einfach mal eine MsgBox vor das erste If.

Code: Select all

MsgBox, >%Clipboard%< - >%AnzahlZeilen%<
If AnzahlZeilen = 2 ; 2 Zeilen
   ...
Dann weißt Du, was gerade geprüft wird.
WPLPHSS
Posts: 172
Joined: 04 Feb 2017, 05:34

Re: Abfragen in 1 Skript bündeln

06 May 2024, 03:49

Es wird angezeigt:

">2< - ><"

Wenn am Anfang des Skripts

Code: Select all

AnzahlZeilen := Clipboard
steht, wird

">>2>- ><< - ><"
angezeigt.
just me
Posts: 9512
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Abfragen in 1 Skript bündeln

07 May 2024, 04:26

Moin,

die Ausgabe zeigt, dass das Clipboard einen passenden Wert enthält, dieser Wert aber nicht in die Variable übernommen wurde.
Von Deinem Skript ist nicht viel zu sehen.
WPLPHSS wrote: Wenn am Anfang des Skripts

Code: Select all

AnzahlZeilen := Clipboard
steht, ...
Wenn Du den Code mit einem Hotkey startest, muss die Zeile am Anfang der Hotkeyroutine bzw. innerhalb der Hotkeyroutine nach der Zeile stehen, mit der das Clipboard gefüllt wird.
WPLPHSS
Posts: 172
Joined: 04 Feb 2017, 05:34

Re: Abfragen in 1 Skript bündeln

07 May 2024, 13:05

Vielen Dank für deine Antwort. Wo muss

Code: Select all

AnzahlZeilen := Clipboard
eingefügt werden? Ich hatte es unter und oberhalb vom Hotstring und im Code (oberhalb und unterhalb AnzahlZeilen). Dieses führte zu Problemen mit anderen AHK-Skripts bzgl. der Zwischenablage, so dass ich auf das ursprüngliche Skript wieder umgestellt hatte.

Code: Select all

#IfWinActive , ahk_exe firefox.exe
:?:oue:: ; Firefox PDF Cursur hinter Ct-Betrag Wechsel zu Buchungen.  Nach erfolgter Buchung wieder zum Kontoauszug zurück und x-Zeilen zum nächsten Betrag
Send, +{Home} ; Betrag markieren
Sleep, 100
Send, ^c ; Betrag kopieren
Sleep, 200
MouseMove, -250, 13, 2, R ; Cursur auf Position für KB II Nr. 
Sleep, 300
MouseGetPos x, y
Sleep, 300
MouseClick, left, 1712, 136 ; Kommentartext aktivieren
Sleep, 300
MouseMove %x%, %y%
Sleep, 200
... ; Buchung durchführen und Wechsel zu Firefox Pdf
     ; Verschiebung des Cursurs um x-Zeilen zum nächsten Betrag
If AnzahlZeilen = 2 ; 2 Zeilen
   DY := 21
Else If AnzahlZeilen = 3 ; 3 Zeilen
   DY := 60
Else If AnzahlZeilen = 4 ; 4 Zeilen
   DY := 53
Else If AnzahlZeilen = 5 ; 5 Zeilen
   DY := 82
Else ; in allen anderen Fällen 1 Zeile
   DY := -1
Sleep, 200   
AnzahlZeilen := Clipboard
MouseMove, 0, %DY%, 2, R
MouseClick, left
....
Sleep, 100
MouseClick, left
Sleep, 300
Send, {NumLock}
Sleep, 100
Send, #{NumPad4} ; Kennziffer für Mousverschiebung auswählen und einfügen
Sleep, 100
Send, {NumLock}
Sleep, 200
Sleep, 100
Send, +{Ins}
Sleep, 300
Return
#IfWinActive ; fensterbezogene Hotkeys ausschalten


just me
Posts: 9512
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Abfragen in 1 Skript bündeln

08 May 2024, 01:46

Moin,

in Deinem Beispiel steht die Zeile AnzahlZeilen := Clipboard hinter den Abfragen If AnzahlZeilen = 2 etc. Das kann nicht funktionieren. Folgendes sollte aber, wenn Du das Clipboard vor Eingabe des Hotstrings passend gefüllt hast:

Code: Select all

... ; Buchung durchführen und Wechsel zu Firefox Pdf
     ; Verschiebung des Cursurs um x-Zeilen zum nächsten Betrag
AnzahlZeilen := Clipboard ; <<<<<<<<<<
If AnzahlZeilen = 2 ; 2 Zeilen
   DY := 21
Else If AnzahlZeilen = 3 ; 3 Zeilen
   DY := 60
Else If AnzahlZeilen = 4 ; 4 Zeilen
   DY := 53
Else If AnzahlZeilen = 5 ; 5 Zeilen
   DY := 82
Else ; in allen anderen Fällen 1 Zeile
   DY := -1
Sleep, 200
MouseMove, 0, %DY%, 2, R
MouseClick, left
....
WPLPHSS
Posts: 172
Joined: 04 Feb 2017, 05:34

Re: Abfragen in 1 Skript bündeln

08 May 2024, 11:31

Es klappt leider nicht. Die Ursache wird wohl bei mir zu suchen sein. Ich werde das Skript entsprechend für die einzelnen Fälle umschreiben. Trotzdem vielen Dank für deine Hilfe.
just me
Posts: 9512
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Abfragen in 1 Skript bündeln

09 May 2024, 02:17

WPLPHSS wrote:Die Ursache wird wohl bei mir zu suchen sein.
Moin, hast Du geprüft, ob das Clipboard tatsächlich nur eine einzige Ziffer und keine weiteren Zeichen enthält?

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 11 guests