|
You last visited: Today at 05:58
Advertisement
AutoIt - Frage/Problem bei den Schleifen!!
Discussion on AutoIt - Frage/Problem bei den Schleifen!! within the AutoIt forum part of the Coders Den category.
04/04/2010, 21:34
|
#1
|
elite*gold: 103
Join Date: Mar 2009
Posts: 1,721
Received Thanks: 927
|
AutoIt - Frage/Problem bei den Schleifen!!
Nabend,
ich hätte da mal eine kleine Frage zum unterbrechen von Endlosschleifen.
Und nein, damit meine ich nicht einfach den Befehl "Exitloop"!
Also, ich werde mal anhand eines kleinen Test-Scripts versuchen, meine Frage zu erklären:
PHP Code:
#include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 283, 107, 193, 125) $Button1 = GUICtrlCreateButton("Start", 32, 24, 100, 57, 0) GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif") $Button2 = GUICtrlCreateButton("Exit", 144, 24, 100, 57, 0) GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 Case $Button2 EndSwitch WEnd
Also, ich habe hier eine Form vor mir, mit einem Start -und einem Beenden-Button.
Wenn der Start-Button gedrückt wird soll etwas andauernd gemacht werden, z.b. mal "a" gesendet werden.
das würde ja wie folgt aussehen:
PHP Code:
while1 send("{a}") wend
Beim Klick auf den Beenden-Button soll dies nun unterbrochen werden, das Script soll pausieren.
Wie muss ich jetzt while1/wend setzen und gehört dort dann ein exitloop hin?
z.b.
PHP Code:
case $button2 exitloop sleep(200) wend
Oder i-wie so xD
Hoffe, einer hat ne Lösung für mich parat.
Danke im Vorraus!
MFG
|
|
|
04/04/2010, 23:02
|
#2
|
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
|
PHP Code:
$running = True while 1=1 While $running send("{a}") If GUIGetMsg () = $Beenden Then $running = False Wend
Man könnte sich die innere While Schleife auch sparen und gegen ne If Abfrage ersetzen, solange die äußere Schleife ne Endlosschleife bleibt.
Vorteil dieser Schreibweise ist aber, dass du die äußere Schleife anpassen kanns wie du möchtest (was du sicher noch machen musst um nen schönes Prog. zu haben) und du Sparst dir eine Instanz an Überprüfung wodurch dein Programm beinahe unbeteutend schneller wird, aber man gönnt sich ja sonst nichts
|
|
|
04/05/2010, 00:35
|
#3
|
elite*gold: 103
Join Date: Mar 2009
Posts: 1,721
Received Thanks: 927
|
Quote:
Originally Posted by .nAno
PHP Code:
$running = True while 1=1 While $running send("{a}") If GUIGetMsg () = $Beenden Then $running = False Wend
Man könnte sich die innere While Schleife auch sparen und gegen ne If Abfrage ersetzen, solange die äußere Schleife ne Endlosschleife bleibt.
Vorteil dieser Schreibweise ist aber, dass du die äußere Schleife anpassen kanns wie du möchtest (was du sicher noch machen musst um nen schönes Prog. zu haben) und du Sparst dir eine Instanz an Überprüfung wodurch dein Programm beinahe unbeteutend schneller wird, aber man gönnt sich ja sonst nichts
|
und wie baue ich das jetzt in die button ein?
|
|
|
04/05/2010, 00:45
|
#4
|
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
|
PHP Code:
#include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 283, 107, 193, 125) $Start = GUICtrlCreateButton("Start", 32, 24, 100, 57, 0) GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif") $Beenden = GUICtrlCreateButton("Exit", 144, 24, 100, 57, 0) GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Start $running = True while 1=1 While $running send("{a}") If GUIGetMsg () = $Beenden Then $running = False Wend EndSwitch WEnd
|
|
|
04/05/2010, 00:51
|
#5
|
elite*gold: 103
Join Date: Mar 2009
Posts: 1,721
Received Thanks: 927
|
Quote:
Originally Posted by .nAno
PHP Code:
#include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 283, 107, 193, 125) $Start = GUICtrlCreateButton("Start", 32, 24, 100, 57, 0) GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif") $Beenden = GUICtrlCreateButton("Exit", 144, 24, 100, 57, 0) GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Start $running = True while 1=1 While $running send("{a}") If GUIGetMsg () = $Beenden Then $running = False Wend EndSwitch WEnd
|
dann kommt fehlermeldung
|
|
|
04/05/2010, 01:05
|
#6
|
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
|
Du hättest ruhig erwähnen können was für eine Fehlermeldung
Es fehlt nen WEnd Statement, wo genau werd ich dir nicht sagen, da ich den Code nicht geschrieben hab damit du ihn kopierst sondern kapierst
|
|
|
04/05/2010, 01:29
|
#7
|
elite*gold: 103
Join Date: Mar 2009
Posts: 1,721
Received Thanks: 927
|
Quote:
Originally Posted by .nAno
Du hättest ruhig erwähnen können was für eine Fehlermeldung
Es fehlt nen WEnd Statement, wo genau werd ich dir nicht sagen, da ich den Code nicht geschrieben hab damit du ihn kopierst sondern kapierst
|
schönes wortspiel...ok dann mach ich mich mal auf "wend-suche"^^
€: danke klappt super, hast 2 thx
|
|
|
|
Similar Threads
|
Frage Autoit 2 While&WEnd Schleifen paralel laufen lassen
01/23/2011 - AutoIt - 7 Replies
Hallo,
Ich lerne im moment autoit(Bot´s machen) und wolte fragen wie ich 2 while&WEnd schleifen in einer func paralel zueinander laufen lassen kann.
Also beide gleichzeitig
Sinn:
die erste schleife drückt die ganze zeit also so jede skunde
und die 2te so alle 30 minuten
so ungefär(soll heisen bei mir sieht´s ordentlicher aus) sieht es im mom bei mir aus:
$var1 = Inputbox ("" "" "" "")
$var2 = Inputbox ("" "" "" "")
|
Auto-Schleifen [Problem]
06/23/2010 - Off Topic - 10 Replies
Hallo,
und zwar brauche ich Informationen über das Schleifen.
Am besten wäre folgendes:
Woher kommt das Schleifen?
Wie schleift man richtig?
|
Kleine Frage zu Schleifen
03/07/2010 - GW Bots - 1 Replies
Ich hab eine kleine Frage:
#include (alles notwendige)
Do
keysend("1")
slp(Random(5100,5300))
keysend("2")
slp(random(8100,8300))
$color2 = PixelGetColor( 520, 240, $hWnd); muss 7c6d73 sein
|
Frage zu AutoIt (eher Problem)
01/15/2010 - AutoIt - 3 Replies
Also. Ich hab heute Angefangen mit Autoit.. hab einen Bot gemacht.. ich will das bei diesem Bot die Tasten gesperrt werden.. also mit BlockInput..
Aber leider verstehe ich das ned mit dem Func.. Also mein Script sieht bisher so aus:
Kann wer pls den Code vervollständigen? also das die Tasten geblockt sind? wäre dankbar..
|
Schleifen Paralel Laufen lassen (AutoIt)
06/06/2009 - AutoIt - 8 Replies
hi wollte mal fragen ob man mit Autoit 2 oder mher schleifen paralel laufen lassen kann wenn aj wie???
|
All times are GMT +2. The time now is 05:58.
|
|