Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 11:48

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

Advertisement



while schleife stoppen

Discussion on while schleife stoppen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2011
Posts: 80
Received Thanks: 1
while schleife stoppen

hey ,

ich wollte mal fragen wie ich eine while schleife per button stoppe und sie dann wieder mit dem start button aktivieren kann .

LG Tom
gametom50 is offline  
Old 06/01/2013, 00:01   #2
 
elite*gold: 74
Join Date: Jul 2011
Posts: 474
Received Thanks: 13
func ?
leledergeile is offline  
Old 06/01/2013, 00:07   #3
 
elite*gold: 0
Join Date: Aug 2011
Posts: 80
Received Thanks: 1
Func startspam()
while (1)
ControlSend ( "METIN2", "", "", "{ENTER}" )
ControlSend ( "METIN2", "", "", GUICtrlRead ( $Spam ) )
ControlSend ( "METIN2", "", "", "{ENTER}" )
ControlSend ( "METIN2", "", "", "{ENTER}" )
Sleep ( guictrlread( $millisek ))
WEnd
EndFunc

Func beenden1()
While (1)
Sleep (1)
WEnd
EndFunc
gametom50 is offline  
Old 06/01/2013, 01:20   #4
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Mit einer globalen Variable, die dann als Bedingung in der while-Schleife angegeben wird. Beim Button-Klick wird diese dann dementsprechend geändert.
qkuh is offline  
Old 06/01/2013, 01:39   #5
 
elite*gold: 0
Join Date: Aug 2011
Posts: 80
Received Thanks: 1
wärst du so nett und gibst mir dazu ein beispiel? am besten an meinem script? ^^
gametom50 is offline  
Old 06/01/2013, 01:54   #6
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
Code:
case $Button
startspam()
;...

While not GuiGetMsg() = $ButtonStop
MfG
Achat is offline  
Old 06/02/2013, 19:41   #7
 
elite*gold: 0
Join Date: Aug 2011
Posts: 80
Received Thanks: 1
funktioniert bei mir leider nicht :/
ich versteh nicht wie ich das anwenden soll, aber wenn ich "case $Button
startspam()
;...

While not GuiGetMsg() = $ButtonStop"

einfach so einfüge funktionierts auf jedenfall nicht.. ._.
gametom50 is offline  
Old 06/02/2013, 22:40   #8
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Koenntest du vielleicht einfach mal googeln und die autoit hilfe benutzen ? und **** verdammt nochmal auf hier neue threads zu oeffnen das kommt in den autoit talk !!

noob code (bin nur am handy)
While 1
if $wend = 1 then
;deine funcs
else
exitloop
endif
endwhile

wie du jetzt die variable zu etwas anderem als 1 abaenderst musst du selbst wissen ^^
Damit auch du das hinbekommst :
in einer standard koda gui sieht das so aus :
while $gui
case $button1
.....

genau so musst du das auch aufbauen
YatoDev is offline  
Old 06/02/2013, 23:24   #9
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by gametom50 View Post
funktioniert bei mir leider nicht :/
ich versteh nicht wie ich das anwenden soll, aber wenn ich "case $Button
startspam()
;...

While not GuiGetMsg() = $ButtonStop"

einfach so einfüge funktionierts auf jedenfall nicht.. ._.
du definierst dir eine zustands variable. diese kann nur wahr oder falsch als werte annehmen. ist die variable wahr, so soll deine aktion ausgeführt werden. ist sie hingegen falsch, so wird nichts ausgeführt.

bei buttondruck änderst du einfach nur den inhalt der variable... da die variable nur True oder False sein kann, und Not True = False und Not False = True ergeben, kannst du einfach mit $variable = Not $variable den zustand auf jeweils das gegenteil ändern...

ein kleiner beispielcode zu dem ganzen:
Code:
Dim $state, $gui=GUICreate('GUI', 140, 40, Default, Default, 0x10C80000)
$controlChangeStateButton = GUICtrlCreateButton('Change State', 10, 10, 120, 20)

While True
	Switch GUIGetMsg()
		Case -3
			Exit
		Case $controlChangeStateButton
			$state = Not $state
	EndSwitch
	If $state Then
		;deine state aktion
	EndIf
WEnd
wie du siehst, haben wir unsere normale endlosschleife, in der in jedem durchlauf geschaut wird, ob ein button betätigt wurde. sobald dies geschehen ist, checken wir noch die state variable. ist diese aktiv, so führen wir die gewünschte aktion ebenfalls aus...

erweitern wir dieses einfache prinziep ein wenig, können wir mit minimalen änderungen am script das ganze auch recht hübsch grafisch anzeigen lassen:
Code:
Dim $state[3][2]=[['OFF','ON'],[0xFF0000,0xFF00]]
GUICreate('GUI', 200, 40, Default, Default, 0x10C80000)
$controlChangeStateButton = GUICtrlCreateButton('Change State', 10, 10, 80, 20)
$controlStateLabel = GUICtrlCreateLabel($state[0][0], 100, 10, 80, 20, 0x1201)
GUICtrlSetBkColor(-1, $state[1][0])

While True
	Switch GUIGetMsg()
		Case -3
			Exit
		Case $controlChangeStateButton
			$state[2][0] = Not $state[2][0]
			GUICtrlSetBkColor($controlStateLabel, $state[1][$state[2][0]])
			GUICtrlSetData($controlStateLabel, $state[0][$state[2][0]])
	EndSwitch
	Switch $state[2][0]
		Case True
			ConsoleWrite('State = ON!'&@CRLF)
		Case False
			ConsoleWrite('State = OFF!'&@CRLF)
	EndSwitch
WEnd
lolkop is offline  
Old 06/03/2013, 21:43   #10
 
elite*gold: 0
Join Date: Aug 2011
Posts: 80
Received Thanks: 1
Vielen Dank für deine sehr hilfreiche Antwort lolkop .
BTW: Tschuldige für meine etlichen Themeneröffnungen FlutterShy , das Prinzip wo ich was reinposten soll und was jetzt angemessen für diese Abteilung ist habe ich aber noch nicht verstanden :P.

LG Tom
gametom50 is offline  
Old 06/04/2013, 18:19   #11
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by gametom50 View Post
Vielen Dank für deine sehr hilfreiche Antwort lolkop .
BTW: Tschuldige für meine etlichen Themeneröffnungen FlutterShy , das Prinzip wo ich was reinposten soll und was jetzt angemessen für diese Abteilung ist habe ich aber noch nicht verstanden :P.

LG Tom
Ich wollte dich nicht irgendwie anmeckern nur du eröffnest hier immer threads

Es gibt ein einfaches Prinzip wo man was reinpostet :
Kleine fragen / nicht so schwere codes : Autoit talk

Nur du verstehst glaube ich andere sachen als schwer weil das hier ist vormich autoit grundlagen und somit finde ich das gehört in den autoit talk .
Deswegen habe ich mir auch nicht die mühe gemacht dir einen code schnipsel zu geben um das schön zu lösen ^^
YatoDev is offline  
Thanks
1 User
Old 06/04/2013, 19:24   #12
 
elite*gold: 0
Join Date: Aug 2011
Posts: 80
Received Thanks: 1
Achso nagut, dann wäre ja jetzt alles geklärt ^^, danke für den Hinweis , jetzt hab ich das auch mal gecheckt .
gametom50 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
Stoppen im PVP
02/12/2011 - Elsword - 7 Replies
Huhu,halöle. Hab seit gestern Elsword angefangen und hab mich auch gleich schonmal eingespielt, sowhl im PVE als auch PVP. Im PvE nervt mich eigtl. nur die begrenzte Willenskraft -_- Aber darum gehts hier ja nicht. Kurz nachdem ich im Pvp angekommen bin, gings auch schon los und es hing die ganze Zeit im Spiel -.- Immer wenn jemand nen Skill benutzte, kam ne kurze aber nervige Animation, die immer wieder Standbild ausgelöst hat. Die muss man doch irgendwie ausschalten können.
Per Hotkey While schleife stoppen
07/30/2010 - AutoIt - 11 Replies
Ich möchte in Folgendem Script $input = InputBox ("Counter Strike-Source Crasher", "Bitte Geben sie die Ip des Servers ein") sleep (5000) Send ("rcon_address " & $input) Send ("{Enter}") Send ("rcon_password %N") while 1 Send ("{Enter}") Send ("rcon")
while-schleife cast x | schleife ende cast y
07/26/2010 - Diablo 2 Programming - 6 Replies
ich kann nicht einschlafen und versuche gerade halbwach herauszufinden, wie ich den bot etwas casten lassen kann, um ihn anschließend nach 10-15 casts etwas anderes casten zu lassen. if(NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100) { if((target.name == "Pindleskin") && NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100) { var i =0; while(i<15) { return NTC_CastSkill(106, NTC_HAND_LEFT, target); i++;



All times are GMT +1. The time now is 11:53.


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.