Timer im onEventMode

  • 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")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")

    [/autoit] [autoit][/autoit] [autoit]

    $ok1 = GUICtrlCreateButton ("Timer EIN", 10, 30, 100)
    GUICtrlSetOnEvent(-1, "OKPressed")

    [/autoit] [autoit][/autoit] [autoit]

    $cancel1 = GUICtrlCreateButton ( "Timer AUS", 110, 30, 100)
    GUICtrlSetOnEvent(-1, "CancelPressed")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(10)
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    Func OKPressed()
    $Startzeit = TimerInit()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func CancelPressed()
    $Diff = TimerDiff($Startzeit)
    MsgBox(0, "Gemessene Zeit", StringFormat("%.2f" ,$Diff/1000)&" s")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Ende()
    Select
    Case @GUI_CTRLID = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    EndFunc

    [/autoit]
  • 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.

    Gruss Hans-Jürgen ^^

  • 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")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")

    [/autoit] [autoit][/autoit] [autoit]

    $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
    Sleep(10)
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    Func Test()
    $i += 1
    GUICtrlSetData($label, $i)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Ende()
    Select
    Case @GUI_CTRLID = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    EndFunc

    [/autoit]