Label Farbe wechseln wenn Zeit auf 10 Minuten runtergelaufen ist

  • Hallo zusammen,

    wie schon in der Überschrift gesagt möchte ich gerne die Labelfarbe des Timers wechseln wenn die Zeit bei 10 Minuten angekommen ist, jedoch macht er das nicht.

    Hier die Function:

    Spoiler anzeigen
    [autoit]

    ; Funktion die vom Timer genutzt wird
    Func _start()
    GUICtrlSetData($Label1, "Restzeit: " & _Sek2StdMinSek($DauerGesammt))
    If $DauerGesammt < 10 Then
    GUICtrlSetColor($Label1, 0x000000)
    ElseIf $DauerGesammt < 10 Then
    GUICtrlSetColor($Label1, 0xFFE4C4)
    EndIf
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),0,0,$titel,1) ; Ausgabe der Information
    $DauerGesammt = $DauerGesammt - 1 ; Immer den Wert 1 von der Dauer abziehen
    EndFunc ;==>_start

    [/autoit]

    Kann bitte wer drüber sehen wo der Fehler liegt, danke schön.

    Mfg Ghostleader

    Einmal editiert, zuletzt von Ghostleader (22. November 2013 um 23:51)

  • Hallo i2c,

    hier mal kommplett die Timer Func:

    Spoiler anzeigen
    [autoit]


    ;Begin Timer Variablen
    $titel = "" ; Titel, es wird auch ein Info Icon mit angezeigt
    $DauerStd = 0 ; Dauer in Stunden
    $DauerMin = 10 ; Dauer in Minuten
    $DauerSek = 30; Dauer in Sekunden
    ;Ende Timer Variablen

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

    ; Begin Globale für Timer
    Global $DauerGesammt = (60 * 60 * $DauerStd) + (60 * $DauerMin) + $DauerSek
    ; Ende Globale für Timer

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

    ;Begin Label/Button Timer
    Opt("GUIOnEventMode", 1)
    $Label1 = GUICtrlCreateLabel("", 500, 113, 165, 22)
    GUICtrlSetFont(-1, 14, 600)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor($Label1, 0xF0F8FF)
    $Button1 = GUICtrlCreateButton("TimerStart", 500, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer1")
    $Button2 = GUICtrlCreateButton("TimerStop", 585, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer2")
    $Button3 = GUICtrlCreateButton("Neustart", 500, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer3")
    GUICtrlSetState($Button3, $GUI_HIDE)
    ;Ende Label/Buttons Timer

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

    ; Begin Button Funktionen Timer
    Func ButtonTimer1()
    AdlibRegister("_start", 1000) ; Timer aktivieren
    GUICtrlSetState($Button1, $GUI_SHOW)
    GUICtrlSetState($Button2, $GUI_SHOW)
    EndFunc

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

    Func ButtonTimer2()
    AdlibUnRegister("_start") ; Timer deaktivieren
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndFunc

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

    Func ButtonTimer3()
    AdlibRegister("_start", 1000) ; Timer neustarten
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndFunc
    ; Ende Funktion Timer

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

    ; Funktion die vom Timer genutzt wird
    Func _start()
    GUICtrlSetData($Label1, "Restzeit: " & _Sek2StdMinSek($DauerGesammt))
    If $DauerGesammt < 10 Then
    GUICtrlSetColor($Label1, 0x000000)
    ElseIf $DauerGesammt < 10 Then
    GUICtrlSetColor($Label1, 0xFFE4C4)
    EndIf
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),0,0,$titel,1) ; Ausgabe der Information
    $DauerGesammt = $DauerGesammt - 1 ; Immer den Wert 1 von der Dauer abziehen
    EndFunc ;==>_start
    ; Ende Timerfunktion

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

    ; Funktion zum umrechnen von Sekunden in Stunden, Minuten, Sekunden
    Func _Sek2StdMinSek($value)
    ; Hier eine kleine Auswahl von Formaten, diese bitte bei dem Return Befehl mit angeben.
    $format1 = "%02d:%02d:%02d"
    $format2 = "%02d:%02d"
    $format3 = "%02d Std. %02d Min. %02d Sek."
    $format4 = "%02d Std. %02d Min."

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

    $std = Floor($value / (60 * 60)) ; Berechnung der Stunden
    $value = $value - ((60 * 60) * $std) ; Berechnung des Restwertes der Sekunden
    $min = Floor($value / (60)) ; Berechnung der Minuten
    $sek = $value - ((60) * $min) ; Rest Sekunden

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

    Return StringFormat($format1, $std, $min, $sek) ; Rückgabe des formatierten Strings
    EndFunc ;==>_Sek2StdMinSek

    [/autoit]

    Die Bedingungen ach ja gerade gesehen oje peinlich^^. Ich habe ja nur ein Label, wo lediglich die Farbe geändert werden soll, wenn die Zeit bei 10 Minuten angekommen ist.

    Mfg Ghostleader


    Ps: Habe die Bedingungen mal angepasst, jedoch bleibt der Erfolg aus.

  • Ich werf mal drei Sachen in den Raum.

    1. Dein Skript ist nicht ausführbar.
    2. Du registrierst zwar die Funktion _start() aber wo ist der Timer? Seh ich den nicht? Läuft da einer?
    3. In deiner If Anweisung prüfst du auf < 10. Das entspricht aber nicht 10 Minuten sondern 10 Sekunden.

  • Hallöle,

    jier nochmal ausführbar:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ; Variablen
    $titel = "" ; Titel, es wird auch ein Info Icon mit angezeigt
    $DauerStd = 0 ; Dauer in Stunden
    $DauerMin = 10 ; Dauer in Minuten
    $DauerSek = 30; Dauer in Sekunden

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

    ; Begin Globale für Timer
    Global $DauerGesammt = (60 * 60 * $DauerStd) + (60 * $DauerMin) + $DauerSek
    ; Ende Globale für Timer

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

    GUICreate("WarenHandelsTool", 680, 330, 192, 124)

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

    ;Begin Label/Button Timer
    Opt("GUIOnEventMode", 1)
    $Label1 = GUICtrlCreateLabel("", 500, 113, 165, 22)
    GUICtrlSetFont(-1, 14, 600)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor($Label1, 0xF0F8FF)
    $Button1 = GUICtrlCreateButton("TimerStart", 500, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer1")
    $Button2 = GUICtrlCreateButton("TimerStop", 585, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer2")
    $Button3 = GUICtrlCreateButton("Neustart", 500, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer3")
    GUICtrlSetState($Button3, $GUI_HIDE)

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

    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(4000)
    WEnd

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

    ; Begin Button Funktionen Timer
    Func ButtonTimer1()
    AdlibRegister("_start", 1000) ; Timer aktivieren
    GUICtrlSetState($Button1, $GUI_SHOW)
    GUICtrlSetState($Button2, $GUI_SHOW)
    EndFunc

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

    Func ButtonTimer2()
    AdlibUnRegister("_start") ; Timer deaktivieren
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndFunc

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

    Func ButtonTimer3()
    AdlibRegister("_start", 1000) ; Timer neustarten
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndFunc
    ; Ende Funktion Timer

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

    ; Funktion die vom Timer genutzt wird
    Func _start()
    GUICtrlSetData($Label1, "Restzeit: " & _Sek2StdMinSek($DauerGesammt))
    If $DauerGesammt < 10 Then
    GUICtrlSetColor($Label1, 0xFFE4C4)
    ElseIf $DauerGesammt > 10 Then
    GUICtrlSetColor($Label1, 0x000000)
    EndIf
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),0,0,$titel,1) ; Ausgabe der Information
    $DauerGesammt = $DauerGesammt - 1 ; Immer den Wert 1 von der Dauer abziehen
    EndFunc ;==>_start
    ; Ende Timerfunktion

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

    ; Funktion zum umrechnen von Sekunden in Stunden, Minuten, Sekunden
    Func _Sek2StdMinSek($value)
    ; Hier eine kleine Auswahl von Formaten, diese bitte bei dem Return Befehl mit angeben.
    $format1 = "%02d:%02d:%02d"
    $format2 = "%02d:%02d"
    $format3 = "%02d Std. %02d Min. %02d Sek."
    $format4 = "%02d Std. %02d Min."

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

    $std = Floor($value / (60 * 60)) ; Berechnung der Stunden
    $value = $value - ((60 * 60) * $std) ; Berechnung des Restwertes der Sekunden
    $min = Floor($value / (60)) ; Berechnung der Minuten
    $sek = $value - ((60) * $min) ; Rest Sekunden

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

    Return StringFormat($format1, $std, $min, $sek) ; Rückgabe des formatierten Strings
    EndFunc ;==>_Sek2StdMinSek

    [/autoit]

    Mfg Ghostleader

    Ps: Wieviel müsste ich denn für die 10 Minuten eintragen?

  • Hallöle,

    he danke, da lag der Hund begraben. Auf 600 gestellt und es geht :)

    Aber mal noch ne andere Frage, man sieht ja den Timer nicht bevor man start drückt, also das Label. Kann man das schon sichtbar machen bevor es anfängt zu laufen?

    Mfg Ghostleader

  • Hallo,

    danke dir i2c, war etwas durch den Wind, es funktioniert so einwandfrei Danke.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ; Variablen
    $titel = "" ; Titel, es wird auch ein Info Icon mit angezeigt
    $DauerStd = 0 ; Dauer in Stunden
    $DauerMin = 10 ; Dauer in Minuten
    $DauerSek = 30; Dauer in Sekunden

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

    ; Begin Globale für Timer
    Global $DauerGesammt = (60 * 60 * $DauerStd) + (60 * $DauerMin) + $DauerSek
    ; Ende Globale für Timer

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

    GUICreate("WarenHandelsTool", 680, 330, 192, 124)

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

    ;Begin Label/Button Timer
    Opt("GUIOnEventMode", 1)
    $Label1 = GUICtrlCreateLabel("", 500, 113, 165, 22)
    GUICtrlSetData($Label1, StringFormat("%02d:%02d:%02d", $DauerStd, $DauerMin, $DauerSek))
    GUICtrlSetFont(-1, 14, 600)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor($Label1, 0xF0F8FF)
    $Button1 = GUICtrlCreateButton("TimerStart", 500, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer1")
    $Button2 = GUICtrlCreateButton("TimerStop", 585, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer2")
    $Button3 = GUICtrlCreateButton("Neustart", 500, 147, 80, 18)
    GUICtrlSetOnEvent(-1, "ButtonTimer3")
    GUICtrlSetState($Button3, $GUI_HIDE)

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

    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(4000)
    WEnd

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

    ; Begin Button Funktionen Timer
    Func ButtonTimer1()
    AdlibRegister("_start", 1000) ; Timer aktivieren
    GUICtrlSetState($Button1, $GUI_SHOW)
    GUICtrlSetState($Button2, $GUI_SHOW)
    EndFunc

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

    Func ButtonTimer2()
    AdlibUnRegister("_start") ; Timer deaktivieren
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndFunc

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

    Func ButtonTimer3()
    AdlibRegister("_start", 1000) ; Timer neustarten
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndFunc
    ; Ende Funktion Timer

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

    ; Funktion die vom Timer genutzt wird
    Func _start()
    GUICtrlSetData($Label1, "Restzeit: " & _Sek2StdMinSek($DauerGesammt))
    If $DauerGesammt < 600 Then
    GUICtrlSetColor($Label1, 0xFFE4C4)
    ElseIf $DauerGesammt > 600 Then
    GUICtrlSetColor($Label1, 0x000000)
    EndIf
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),0,0,$titel,1) ; Ausgabe der Information
    $DauerGesammt = $DauerGesammt - 1 ; Immer den Wert 1 von der Dauer abziehen
    EndFunc ;==>_start
    ; Ende Timerfunktion

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

    ; Funktion zum umrechnen von Sekunden in Stunden, Minuten, Sekunden
    Func _Sek2StdMinSek($value)
    ; Hier eine kleine Auswahl von Formaten, diese bitte bei dem Return Befehl mit angeben.
    $format1 = "%02d:%02d:%02d"
    $format2 = "%02d:%02d"
    $format3 = "%02d Std. %02d Min. %02d Sek."
    $format4 = "%02d Std. %02d Min."

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

    $std = Floor($value / (60 * 60)) ; Berechnung der Stunden
    $value = $value - ((60 * 60) * $std) ; Berechnung des Restwertes der Sekunden
    $min = Floor($value / (60)) ; Berechnung der Minuten
    $sek = $value - ((60) * $min) ; Rest Sekunden

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

    Return StringFormat($format1, $std, $min, $sek) ; Rückgabe des formatierten Strings
    EndFunc ;==>_Sek2StdMinSek

    [/autoit]


    Eine Frage habe ich dennoch noch. Und Zwar, wenn ich auf den Button3 drücke der eigentlich die Zeit auf Anfang setzen soll, passiert dies nicht sondern er lässt die Zeit normal da weiter laufen, wo sie beim Stoppen aufhörte.

    Hoffe es nervt nicht all zu sehr, aber ich weiss nicht wie ich das ändern kann.

    Hier geht es wenn die Buttons in While Schleife sitzen warum?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ; Variablen
    $titel = "" ; Titel, es wird auch ein Info Icon mit angezeigt
    $DauerStd = 0 ; Dauer in Stunden
    $DauerMin = 10 ; Dauer in Minuten
    $DauerSek = 30; Dauer in Sekunden

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

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 260, 73, 370, 298)
    $Label1 = GUICtrlCreateLabel("", 58, 7, 164, 21)
    GUICtrlSetData($Label1, StringFormat("%02d:%02d:%02d", $DauerStd, $DauerMin, $DauerSek))
    GUICtrlSetFont(-1, 14, 600)
    GUICtrlSetColor($Label1, "")
    $Button1 = GUICtrlCreateButton("Start", 56, 40, 75, 25)
    $Button2 = GUICtrlCreateButton("Stop", 135, 40, 75, 25)
    $Button3 = GUICtrlCreateButton("Neustart", 56, 40, 75, 25)
    GUICtrlSetState($Button3, $GUI_HIDE)
    #endregion ### END Koda GUI section ###

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1, $Button2, $Button3
    Global $DauerGesammt = (60 * 60 * $DauerStd) + (60 * $DauerMin) + $DauerSek
    If $nMsg = $Button1 Then
    AdlibRegister("_start", 1000) ; Timer aktivieren
    GUICtrlSetState($Button1, $GUI_SHOW)
    GUICtrlSetState($Button2, $GUI_SHOW)
    EndIf
    If $nMsg = $Button2 Then
    AdlibUnRegister("_start") ; Timer deaktivieren
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndIf
    If $nMsg = $Button3 Then
    AdlibRegister("_start", 1000) ; Timer neustarten
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)
    EndIf
    EndSwitch
    WEnd

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

    ; Funktion die vom Timer genutzt wird
    Func _start()
    GUICtrlSetData($Label1, "Restzeit: " & _Sek2StdMinSek($DauerGesammt))
    If $DauerGesammt < 900 Then
    GUICtrlSetColor($Label1, 0x000000)
    ElseIf $DauerGesammt > 900 Then
    GUICtrlSetColor($Label1, 0xFFE4C4)
    EndIf
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),0,0,$titel,1) ; Ausgabe der Information
    $DauerGesammt = $DauerGesammt - 1 ; Immer den Wert 1 von der Dauer abziehen
    EndFunc ;==>_start

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

    ; Funktion, welche ausgefürht wird, wenn die Zeit um ist
    Func _toDo()
    AdlibUnRegister("_start") ; Timer beenden
    Exit ; Skript beenden
    EndFunc ;==>_toDo

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

    ; Funktion zum umrechnen von Sekunden in Stunden, Minuten, Sekunden
    Func _Sek2StdMinSek($value)
    ; Hier eine kleine Auswahl von Formaten, diese bitte bei dem Return Befehl mit angeben.
    $format1 = "%02d:%02d:%02d"
    $format2 = "%02d:%02d"
    $format3 = "%02d Std. %02d Min. %02d Sek."
    $format4 = "%02d Std. %02d Min."

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

    $std = Floor($value / (60 * 60)) ; Berechnung der Stunden
    $value = $value - ((60 * 60) * $std) ; Berechnung des Restwertes der Sekunden
    $min = Floor($value / (60)) ; Berechnung der Minuten
    $sek = $value - ((60) * $min) ; Rest Sekunden

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

    Return StringFormat($format1, $std, $min, $sek) ; Rückgabe des formatierten Strings
    EndFunc ;==>_Sek2StdMinSek

    [/autoit]

    Mfg Ghostleader

    Ps: Im Oberen Spoiler ist der Code nun mit den Veränderungen von dir schon.

    Einmal editiert, zuletzt von Ghostleader (22. November 2013 um 00:50)

  • Hallo i2c,

    danke dir für die Anhaltspunkte es hat geklappt.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ; Variablen
    $titel = "Neue Runde es ist genug Zeit" ; Titel, es wird auch ein Info Icon mit angezeigt
    $titel1 = "Achtung, die Zeit wird knapp" ; Titel, es wird auch ein Info Icon mit angezeigt
    $DauerStd = 0 ; Dauer in Stunden
    $DauerMin = 10 ; Dauer in Minuten
    $DauerSek = 15; Dauer in Sekunden

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

    ; Begin Globale für Timer
    Global $DauerGesammt = (60 * 60 * $DauerStd) + (60 * $DauerMin) + $DauerSek
    ; Ende Globale für Timer

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

    Opt("GUIOnEventMode", 1) ; Activate Event mode
    GUICreate("WarenHandelsTool", 750, 330, 520, 10)
    GUISetOnEvent($GUI_EVENT_CLOSE, "close")

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

    ;Begin Label/Button Timer
    Opt("GUIOnEventMode", 1)
    $Label1 = GUICtrlCreateLabel("", 500, 113, 165, 22)
    GUICtrlSetData($Label1, StringFormat("%02d Std %02d Min %02d Sek", $DauerStd, $DauerMin, $DauerSek))
    GUICtrlSetFont(-1, 14, 600)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor($Label1, 0x000000)
    $Button1 = GUICtrlCreateButton("Timer-Start", 585, 146, 100, 21, $BS_CENTER)
    GUICtrlSetOnEvent(-1, "ButtonTimer1")
    $Button2 = GUICtrlCreateButton("Timer-Stop/Reset", 585, 146, 100, 21, $BS_CENTER)
    GUICtrlSetOnEvent(-1, "ButtonTimer2")
    GUICtrlSetState($Button2, $GUI_HIDE)

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

    GUISetState(@SW_SHOW)

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

    ; Begin Button Funktionen Timer
    Func ButtonTimer1()
    AdlibRegister("_start", 1000) ; Timer aktivieren
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    EndFunc

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

    Func ButtonTimer2()
    AdlibUnRegister("_start") ; Timer deaktivieren
    Global $DauerGesammt = (60 * 60 * $DauerStd) + (60 * $DauerMin) + $DauerSek
    GUICtrlSetData($Label1, StringFormat("%02d Std %02d Min %02d Sek", $DauerStd, $DauerMin, $DauerSek))
    GUICtrlSetColor($Label1,0x000000)
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),175,0,$titel,1)
    GUICtrlSetState($Button1, $GUI_SHOW)
    GUICtrlSetState($Button2, $GUI_HIDE)
    EndFunc
    ; Ende Funktion Timer

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

    ; Funktion die vom Timer genutzt wird
    Func _start()
    GUICtrlSetData($Label1, "" & _Sek2StdMinSek($DauerGesammt))
    If $DauerGesammt > 600 Then
    GUICtrlSetColor($Label1, 0x000000)
    ElseIf $DauerGesammt < 600 Then
    GUICtrlSetColor($Label1, 0xFF0000)
    EndIf
    If $DauerGesammt > 600 Then
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),175,0,$titel,1) ; Ausgabe der Information
    ElseIf $DauerGesammt < 600 Then
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),175,0,$titel1,2)
    EndIf
    $DauerGesammt = $DauerGesammt - 1 ; Immer den Wert 1 von der Dauer abziehen
    EndFunc ;==>_start
    ; Ende Timerfunktion

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

    Func close()
    Exit
    EndFunc

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Sleep(4000)
    EndSwitch
    WEnd

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

    ; Funktion zum umrechnen von Sekunden in Stunden, Minuten, Sekunden
    Func _Sek2StdMinSek($value)
    ; Hier eine kleine Auswahl von Formaten, diese bitte bei dem Return Befehl mit angeben.
    $format1 = "%02d:%02d:%02d"
    $format2 = "%02d:%02d"
    $format3 = "%02d Std %02d Min %02d Sek"
    $format4 = "%02d Std. %02d Min."

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

    $std = Floor($value / (60 * 60)) ; Berechnung der Stunden
    $value = $value - ((60 * 60) * $std) ; Berechnung des Restwertes der Sekunden
    $min = Floor($value / (60)) ; Berechnung der Minuten
    $sek = $value - ((60) * $min) ; Rest Sekunden

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

    Return StringFormat($format3, $std, $min, $sek) ; Rückgabe des formatierten Strings
    EndFunc ;==>_Sek2StdMinSek

    [/autoit]


    Wenn du Lust hast, könntest ja nochmal drüber schauen ob es rein vom Code her ok ist, oder ob es vielleicht noch Verbesserungen gäbe, da es zwar einwandfrei funktioniert, aber ich es doch schon gerne ordentlich machen möchte.

    Mfg Ghostleader und nochmal vielen Dank für die Hilfe!