Gibt es die Möglichkeit einen Timer im OnEventMode zu nutzen?
Timer im onEventMode
-
- [ offen ]
-
emeuv -
4. Dezember 2008 um 08:58 -
Geschlossen -
Erledigt
-
-
Wie meinst du das genau? Hab mal ein Beispiel erstellt, vllt hilft dir das. Du könntest mit Adlibenable auch immer die abgelaufene Zeit überprüfen.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $Startzeit = 0
[/autoit] [autoit][/autoit] [autoit]$gui = GUICreate("Timer-Test")
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")$ok1 = GUICtrlCreateButton ("Timer EIN", 10, 30, 100)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, "OKPressed")$cancel1 = GUICtrlCreateButton ( "Timer AUS", 110, 30, 100)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, "CancelPressed")GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10)
WendFunc OKPressed()
[/autoit] [autoit][/autoit] [autoit]
$Startzeit = TimerInit()
EndFuncFunc CancelPressed()
[/autoit] [autoit][/autoit] [autoit]
$Diff = TimerDiff($Startzeit)
MsgBox(0, "Gemessene Zeit", StringFormat("%.2f" ,$Diff/1000)&" s")
EndFuncFunc Ende()
[/autoit]
Select
Case @GUI_CTRLID = $GUI_EVENT_CLOSE
Exit
EndSelect
EndFunc -
Danke für das Beispiel. So habe ich es aber nicht gemein. Ich möchte einen Timer setzen (z.B.) auf 1Sec und dieser soll dann den Event auslösen, ohne Schleife die den Timerstand abfragt.
-
Also doch AdlibEnable. Hoffentlich habe ich es jetzt richtig verstanden. Alle Sekunden soll eine Funktion ausgeführt werden.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $i = 0
[/autoit] [autoit][/autoit] [autoit]$gui = GUICreate("AdlibEnable - Test")
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")$label = GUICtrlCreateLabel ("0", 10, 30, 100)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]AdlibEnable("Test", 1000)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10)
WendFunc Test()
[/autoit] [autoit][/autoit] [autoit]
$i += 1
GUICtrlSetData($label, $i)
EndFuncFunc Ende()
[/autoit]
Select
Case @GUI_CTRLID = $GUI_EVENT_CLOSE
Exit
EndSelect
EndFunc -
Danke, dies ist genau das was ich gesucht habe.