|
You last visited: Today at 19:15
Advertisement
Frage zur While-Schleife
Discussion on Frage zur While-Schleife within the AutoIt forum part of the Coders Den category.
06/14/2013, 14:50
|
#1
|
elite*gold: 0
Join Date: Jun 2013
Posts: 7
Received Thanks: 3
|
Frage zur While-Schleife
Hallo zusammen.
und zwar hab ich eine frage.
Code:
While 1
$result=_ImageSearch("test1.png",1,$x1,$y1,100)
If $result=0 Then
MsgBox(16,"FEHLER!","FEHLER!")
Else
If $result=1 Then
MouseClick("LEFT",$x1,$y1)
Sleep(1000)
EndIf
EndIf
$result1=_ImageSearch("test2.png",1,$x3,$y3,100)
If $result1=1 Then
MouseClick("LEFT",$x3,$y3)
Sleep(800)
EndIf
das ist ein Ausschnitt aus meinem Bot.
Wie kann ich jetzt sagen, wenn $result=0 ist, dass dann zurückgesprungen wird? also so ne Funktion, wie beginn wieder bei:
$result=_ImageSearch("test1.png",1,$x1,$y1,100)
Ich hoffe das geht irgendwie!
Gruß
DJSirius
|
|
|
06/14/2013, 15:29
|
#2
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
die abfragen befinden sich in einer endlosschleife (while 1...wend)
also geht er dein code durch und springt nach der abfrage von %result1 wieder zum anfang.
|
|
|
06/14/2013, 16:14
|
#3
|
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
|
Schau dir mal  an ?
|
|
|
06/14/2013, 17:47
|
#4
|
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
|
jo wurd eig schon alles gesagt
Code:
If $result=0 Then
MsgBox(16,"FEHLER!","FEHLER!")
Else
If $result=1 Then
MouseClick("LEFT",$x1,$y1)
Sleep(1000)
EndIf
EndIf
Warum machst du nicht:
Code:
If $result=0 Then
MsgBox(16,"FEHLER!","FEHLER!")
Elseif $result=1 then
MouseClick("LEFT",$x1,$y1)
Sleep(1000)
EndIf
Das spart ein paar Wörter und ist übersichtlicher, wenn du nur eine if-schleife offen hast.
Mfg
EinfachSö
|
|
|
06/14/2013, 18:39
|
#5
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by EinfachSö
jo wurd eig schon alles gesagt
Code:
If $result=0 Then
MsgBox(16,"FEHLER!","FEHLER!")
Else
If $result=1 Then
MouseClick("LEFT",$x1,$y1)
Sleep(1000)
EndIf
EndIf
Warum machst du nicht:
Code:
If $result=0 Then
MsgBox(16,"FEHLER!","FEHLER!")
Elseif $result=1 then
MouseClick("LEFT",$x1,$y1)
Sleep(1000)
EndIf
Das spart ein paar Wörter und ist übersichtlicher, wenn du nur eine if-schleife offen hast.
Mfg
EinfachSö
|
Das spart nicht nur wörter :
Wenn $result = 0 dann
...
wenn nicht : wenn $result = 1 dann
...
EndIf
dadurch spart man sich prüfungen von if abfragen indem man sagt wenn das eine schon zustimmt muss er das andere nicht mehr überprüfen
|
|
|
06/14/2013, 19:02
|
#6
|
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
|
ja das kommt noch dazu
ah... ich glaub ich weiß was er meint.
wenn $result=0 ist soll das Programm gar nicht erst $result1 festlegen.
Dann packst du den Part mit $result1 einfach in die Bedingung mit rein.
Code:
While 1
$result=_ImageSearch("test1.png",1,$x1,$y1,100)
If $result=0 Then
MsgBox(16,"FEHLER!","FEHLER!")
Elseif $result=1 Then
MouseClick("LEFT",$x1,$y1)
Sleep(1000)
$result1=_ImageSearch("test2.png",1,$x3,$y3,100)
If $result1=1 Then
MouseClick("LEFT",$x3,$y3)
Sleep(800)
EndIf
EndIf
Wend
Dann führt er den Teil mit $result1 nur aus, wenn er das erste Bild gefunden hat. Wenn er das erste Bild aber nicht gefunden hat, dann überspringt er den schritt, weil der Schritt nur für $result=1 gilt
|
|
|
06/15/2013, 19:29
|
#7
|
elite*gold: 0
Join Date: Jun 2013
Posts: 7
Received Thanks: 3
|
Vielen dank für eure postings!
EinfachSö genau das wollte ich wissen.
Gruß
Sirius
|
|
|
06/15/2013, 21:27
|
#8
|
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
|
Gerne doch 
Freut mich, dass ich dir helfen konnte
|
|
|
 |
Similar Threads
|
Quest-> Schleife in einer Schleife?
04/15/2013 - Metin2 Private Server - 3 Replies
Hallo Community,
ist es möglich in einer bestehenden Schleife eine weitere einzufügen die unabhängig von der 1. schleife agiert?
|
10 mal Schleife, dann 5 Sekunden Pause, dann wieder 10 mal Schleife, ...
05/06/2012 - AutoIt - 6 Replies
Hallo,
wie mache ich es, dass nach 10 Mal Schleife einmal Sleep (5000) gemacht wird?
Danach soll die Schleife wieder aufgenommen werden.
LG
Zottel
|
[Frage]Gui + while schleife?
09/05/2010 - AutoIt - 2 Replies
Tach,
Wie kann man einen Wert in einen Label ständig aktualisieren, ohne das sich das GUI aufhängt, ich meine funktion die im hintergrund läuft und das man gleizeitig noch andere funktionen von button aufrufen kann.
Wenn ich meine funktion in die while schleife unter dem gui packe, aktualisiert sich der wert blos ich kann das script nicht schließen und keine buttons betätigen.
|
[Frage]While schleife
07/14/2009 - AutoIt - 2 Replies
Kann man While so einstellen das es die Taste nicht gedrückt hält sondern immer schnell hintereinander drückt?
Danke im Voraus:)
|
Frage zu: While Schleife (loop) im Alias
03/12/2008 - General Coding - 9 Replies
Hi, habe da mal eine frage ... und zwar
Ich möchte einen loop (while) in ein alias verpacken, so das im script an bestimmter stelle der alias aufgerufen wird und somit an dieser stelle erst auch der loop aktiv wird.
dachte mir das so zb.
€heroskill(
While
Send("{NUMPAD7}")
Send("{NUMPAD8}")
€rndnumber = Random(3200, 4000)
|
All times are GMT +1. The time now is 19:17.
|
|