Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 19:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Frage zur While-Schleife

Discussion on Frage zur While-Schleife within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #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
DJSirius is offline  
Old 06/14/2013, 15:29   #2
 
omer36's Avatar
 
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.
omer36 is offline  
Old 06/14/2013, 16:14   #3
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Schau dir mal an ?
Croco™ is offline  
Old 06/14/2013, 17:47   #4
 
EinfachSö's Avatar
 
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ö
EinfachSö is offline  
Old 06/14/2013, 18:39   #5
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
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
YatoDev is offline  
Old 06/14/2013, 19:02   #6
 
EinfachSö's Avatar
 
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
EinfachSö is offline  
Thanks
2 Users
Old 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
DJSirius is offline  
Old 06/15/2013, 21:27   #8
 
EinfachSö's Avatar
 
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
Gerne doch
Freut mich, dass ich dir helfen konnte
EinfachSö is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.