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
Springen zu einer Programmzeile
Moderator: jNizM
Re: Springen zu einer Programmzeile
Was repräsentieren denn diese farben, eine farbänderung irgendwelcher fensterbestandteile ... ??
Wie heißt die Anwendung? Kann man das script mal sehn?
Wie heißt die Anwendung? Kann man das script mal sehn?
-
- Posts: 19
- Joined: 31 Oct 2017, 05:43
Re: Springen zu einer Programmzeile
Denke das einfachste wäre eine normal if abfrage in der schleife...
oder die kurz version mit until zb.
oder die kurz version mit until zb.
Code: Select all
loop {
sleep 10
} until ... < -- deine Bedingung um die Schleife zu verlassen...
Re: Springen zu einer Programmzeile
Irgendwo habe ich jetzt einen Denkfehler....
Unabhängig davon, ob die Farbe an dieser Stelle zu finden ist, kommt meine MsgBox in meinem Testskript....
Code: Select all
^7::
Loop
{
sleep, 50
PixelGetColor, Farbe, 850, 105, RGB
}
until %Farbe% <> 0x3F627F
MsgBox, Seite verlassen
Re: Springen zu einer Programmzeile
Problem gelöst
Funktioniert hervorragend.... Mal schauen, ob das nun auch in komplexen Situationen passt
Code: Select all
^7::
Loop
{
sleep, 50
PixelGetColor, Farbe, 850, 105, RGB
If Farbe <> 0x3F627F
Goto Label
}
Label:
MsgBox, Seite verlassen
Re: Springen zu einer Programmzeile
Code: Select all
^7::
Loop {
Sleep, 50
PixelGetColor, Farbe, 850, 105, RGB
} Until (Farbe != 0x3F627F)
MsgBox, Seite verlassen
Return
Who is online
Users browsing this forum: No registered users and 51 guests