Timer der dauerhaft angezeigt und erneuert wird

  • hiho
    ich hab da en kleines problem ich doctor jetz schon en paar stunden an einem eigtl sehr einfachen script herum es geht darum, das man zwei inputboxen hat in die eine kommen die minuten rein in die andere die sekunden dann klickt man auf go und ein timer in der mitte der GUI soll anzeigen wieviel zeit schon verstrichen is oder was am besten wäre wie viel noch bleibt mein problem is nur der timer den ich dafür verwenden will funzt kein bisschen

    fals ihr ne idee habt ich geb euch mal den standart script:

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>
    #include <Date.au3>

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

    Global $Secs, $Mins, $Time , $timer, $Hours

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 154, 161, 210, 192)
    $Input1 = GUICtrlCreateInput("min", 12, 16, 129, 21)
    $Input2 = GUICtrlCreateInput("sec", 12, 48, 129, 21)
    $START = GUICtrlCreateButton("GO", 8, 132, 137, 33)
    $label = GUICtrlCreateLabel("00:00", 64, 96, 36, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $START
    $timer = TimerInit()

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

    EndSwitch
    _TicksToTime( $timer, $Hours, $Mins, $Secs)
    GUICtrlSetData( $label, $timer)
    if $timer == (GUICtrlRead($Input2)*1000 + GUICtrlRead($Input1)*60000)then
    MsgBox(0,"TIME IS UP","TIME IS UP!!!!!!!!!!!!!!!!!")
    endIf
    WEnd

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


    ich hab jetz solang dran rum probiert das er überall lücken und flicken haben müste

    3 Mal editiert, zuletzt von Moonwolf (2. April 2010 um 21:08)

  • Bitte schreib doch AutoIt Quelltext in Zukunft in ["autoit"]["/autoit"] brackets (ohne ""). ;)
    Zu deinem Problem:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>

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

    Global $Secs, $Mins, $Time = 0, $Timer = -1, $Hours

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

    $Form1 = GUICreate("Form1", 154, 161, 210, 192)
    $Input1 = GUICtrlCreateInput("min", 12, 16, 129, 21)
    $Input2 = GUICtrlCreateInput("sec", 12, 48, 129, 21)
    $START = GUICtrlCreateButton("GO", 8, 132, 137, 33)
    $label = GUICtrlCreateLabel("0:0:0", 64, 96, 36, 17)
    GUISetState()

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

    AdlibRegister("Update", 100)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $START
    $Timer = TimerInit()
    EndSwitch
    WEnd

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

    Func Update()
    If $Timer <> -1 Then
    $Time = TimerDiff($Timer)
    _TicksToTime($Time, $Hours, $Mins, $Secs)
    GUICtrlSetData($label, $Hours & ":" & $Mins & ":" & $Secs)
    If $Time >= GUICtrlRead($Input2) * 1000 + GUICtrlRead($Input1) * 60000 Then
    MsgBox(0, "TIME IS UP", "TIME IS UP!!!!!!!!!!!!!!!!!")
    $Timer = -1
    EndIf
    EndIf
    EndFunc ;==>Update

    [/autoit]


    So funktionierts. :P

  • ^^ ok

    danke für den script jetz fühl ich mich blöd ^^ da hät ich echt früher dran denke solle -.-