Springen zu einer Programmzeile

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Benjo85
Posts: 18
Joined: 10 Nov 2017, 14:30

Springen zu einer Programmzeile

07 Mar 2018, 12:16

Ich habe mal eine Frage.....
Ich habe ein kleines Programm, welches mit der Loop Parse einige Datensätze in einem Programm prüft.
Dieses Programm reagiert teils mit unterschiedlichen Verzögerungen auf meine Anfrage... mal 8 Sekunden, mal 5 Minuten....
Das einfachste wäre nun, wenn ich mehrere Bedingungen prüfe in einer Loopfunktion, bis eine der möglichen Reaktionen erfolgt ist und sobald dies eintrifft, sollte das skript erst weiterlaufen....

vereinfacht gesagt:

Eine Loop-Funktion mit mehreren Optionen. Sobald eine der Bedingungen erfüllt ist, muss der Loop durchbrochen werden.....
Wenn XY= rot -> springe zu Programmzeile 123
Wenn XY= blau -> springe zu Programmzeile 123

Hat jemand von euch eine Idee?

Bislang habe ich einfach einen festen Wert mit sleep definiert, der meistens hinhaut, aber dennoch durch teils viel längere Verzögerungen des Programms zu fehlern führt.....

VG
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Springen zu einer Programmzeile

07 Mar 2018, 14:14

Was repräsentieren denn diese farben, eine farbänderung irgendwelcher fensterbestandteile ... ??
Wie heißt die Anwendung? Kann man das script mal sehn?
cocobanana
Posts: 19
Joined: 31 Oct 2017, 05:43

Re: Springen zu einer Programmzeile

07 Mar 2018, 14:21

Denke das einfachste wäre eine normal if abfrage in der schleife...
oder die kurz version mit until zb.

Code: Select all

loop {
	sleep 10
} until  ... < -- deine Bedingung um die Schleife zu verlassen...
Benjo85
Posts: 18
Joined: 10 Nov 2017, 14:30

Re: Springen zu einer Programmzeile

08 Mar 2018, 06:08

Irgendwo habe ich jetzt einen Denkfehler....

Code: Select all

^7::
Loop
{
sleep, 50
PixelGetColor, Farbe, 850, 105, RGB
}
until %Farbe% <> 0x3F627F

MsgBox, Seite verlassen
Unabhängig davon, ob die Farbe an dieser Stelle zu finden ist, kommt meine MsgBox in meinem Testskript....
Benjo85
Posts: 18
Joined: 10 Nov 2017, 14:30

Re: Springen zu einer Programmzeile

08 Mar 2018, 06:17

Problem gelöst :)

Code: Select all

^7::
Loop
{
sleep, 50
PixelGetColor, Farbe, 850, 105, RGB
If Farbe <> 0x3F627F 
Goto Label
}

Label:
MsgBox, Seite verlassen
Funktioniert hervorragend.... Mal schauen, ob das nun auch in komplexen Situationen passt :)
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Springen zu einer Programmzeile

08 Mar 2018, 06:41

Code: Select all

^7::
   Loop {
   Sleep, 50
   PixelGetColor, Farbe, 850, 105, RGB
   } Until (Farbe != 0x3F627F)
   MsgBox, Seite verlassen
   Return
Until erwartet expression schreibweise!

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 25 guests