Frage zur While-Schleife

06/14/2013 14:50 DJSirius#1
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 omer36#2
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 Croco™#3
Schau dir mal [Only registered and activated users can see links. Click Here To Register...] an ?
06/14/2013 17:47 EinfachSö#4
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 YatoDev#5
Quote:
Originally Posted by EinfachSö View Post
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 EinfachSö#6
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 DJSirius#7
Vielen dank für eure postings!
EinfachSö genau das wollte ich wissen.

Gruß
Sirius
06/15/2013 21:27 EinfachSö#8
Gerne doch :)
Freut mich, dass ich dir helfen konnte