[AutoIT] Break

07/30/2011 13:15 Ludder231#1
Hi,

gibs in Autoit ne Funktion/Befehl womit man ne schleife oder ähnlcihes einfach abbrechen kann?

In C++ ist das ja so man macht ein Break hin..

MfG Ludder231
07/30/2011 13:18 lolkop#2
exitloop

guck doch bitte wenigstens einmal in die hilfe bevor du hier ständig neue threads eröffnest :s
07/30/2011 13:21 Ludder231#3
Quote:
Originally Posted by lolkop View Post
exitloop

guck doch bitte wenigstens einmal in die hilfe bevor du hier ständig neue threads eröffnest :s
o.O Ja das weiß ich aber dann schließt er ja das Programm aber ich möchte das er einfach die Aktion einfach beendet anstatt das Programm zu schließen...
07/30/2011 13:26 MrSm!th#4
ExitLoop beendet die Schleife, nicht das Programm.
07/30/2011 13:31 Ludder231#5
PHP Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"623442192124)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            Exitloop

    
EndSwitch
WEnd 
Bei solchen Programmen ja schon .... :/
07/30/2011 13:33 kknb#6
da steht exit, nicht exitloop :)
07/30/2011 13:45 Ludder231#7
Quote:
Originally Posted by kknb View Post
da steht exit, nicht exitloop :)
Ups ja ist nur ein beispiel :D da würde es das programm mit exitloop beenden...
07/30/2011 13:56 ~De@dly Silence~#8
Quote:
Originally Posted by Ludder231 View Post
PHP Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"623442192124)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            Exitloop

    
EndSwitch
WEnd 
Bei solchen Programmen ja schon .... :/
Wieso sollte man an dieser Stelle ein ExitLoop platzieren? Und angenommen der Quelltext den du da hast wäre in C++ und das ExitLoop wäre ein Break, dann würde das das Programm genauso beenden :O
07/30/2011 13:59 Volltboon#9
wie wärs wenn du eine 2te endlosschleife hinzufügst damit deine erste von der
ich annehme das es deine einzigste ist nicht das programm beendet wenn du die
schleife unterbrichst

PHP Code:
While 1
Sleep
(100)
WEnd 
07/30/2011 14:02 Ludder231#10
Quote:
Originally Posted by Volltboon View Post
wie wärs wenn du eine 2te endlosschleife hinzufügst damit deine erste von der
ich annehme das es deine einzigste ist nicht das programm beendet wenn du die
schleife unterbrichst

PHP Code:
While 1
Sleep
(100)
WEnd 
Genau sowas inder der art such ich ja :)

Quote:
Originally Posted by ~De@dly Silence~ View Post
Wieso sollte man an dieser Stelle ein ExitLoop platzieren? Und angenommen der Quelltext den du da hast wäre in C++ und das ExitLoop wäre ein Break, dann würde das das Programm genauso beenden :O
o.O Was versteht man unter BEISPIEL nicht? Es ist nur zur demonstration da das ein exitloop sehr wohl ein Programm beenden kann wenn es so aufgebaut ist wie das obrige! Meine güte :S :D

MfG Ludder231
07/30/2011 14:20 ~De@dly Silence~#11
Quote:
Originally Posted by Ludder231 View Post
o.O Was versteht man unter BEISPIEL nicht? Es ist nur zur demonstration da das ein exitloop sehr wohl ein Programm beenden kann wenn es so aufgebaut ist wie das obrige! Meine güte :S :D

MfG Ludder231
Natürlich wird das Programm beendet, wenn das einzige Element eine Schleife ist... wozu sollte das Programm weiterlaufen wenn danach nix mehr kommt...
07/30/2011 14:32 lolkop#12
erstell dir einfach par zustände, über welche du bestimmte funktionen steuern kannst.

dann lass wie es sich gehört alles über eine schleife laufen.

hier ein beispiel wie du 4 daueraufträge steuern könntest:
Code:
Dim $1 = False, $2 = False, $3 = False, $4 = False
While 1
	If $1 Then
		[...]
	EndIf
	If $2 Then
		[...]
	EndIf
	If $3 Then
		[...]
	EndIf
	If $4 Then
		[...]
	EndIf
WEnd

Func StartStop1()
	$1 = Not $1
EndFunc

Func StartStop2()
	$2 = Not $2
EndFunc

Func StartStop3()
	$3 = Not $3
EndFunc

Func StartStop4()
	$4 = Not $4
EndFunc
aktivieren/deaktivieren könntest du die daueraufträge dann zb mit einem button im gui oder hotkeys
07/31/2011 18:52 | Moep |#13
Exitloop beendet nicht das Programm. Es verläst die Schleife in der sich der code grad befindet. Wenn diese Schleife aber nun dein Mainloop war dann beendet das Script natürlich.