|
You last visited: Today at 11:48
Advertisement
while schleife stoppen
Discussion on while schleife stoppen within the AutoIt forum part of the Coders Den category.
06/01/2013, 00:00
|
#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
|
|
|
06/01/2013, 00:01
|
#2
|
elite*gold: 74
Join Date: Jul 2011
Posts: 474
Received Thanks: 13
|
func ?
|
|
|
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
|
|
|
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.
|
|
|
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? ^^
|
|
|
06/01/2013, 01:54
|
#6
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
Code:
case $Button
startspam()
;...
While not GuiGetMsg() = $ButtonStop
MfG
|
|
|
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.. ._.
|
|
|
06/02/2013, 22:40
|
#8
|
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
|
|
|
06/02/2013, 23:24
|
#9
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by gametom50
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
|
|
|
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
|
|
|
06/04/2013, 18:19
|
#11
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by gametom50
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 ^^
|
|
|
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  .
|
|
|
 |
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.
|
|