AdlibRegister -> progi

  • hi leute. kuckt mal mein script.

    http://pastebin.com/Xdy4GQEn

    wenn ihr "1" eingebt, zählt das script von 7 herunter. nach 7 sec zählt es einfach weiter runter, obwohl ich eigentlich will, dass wenn GesammtDauer auf 0 ist, das es dann die funktion _toDo() ausübt, was hier leider nicht der fall ist. bitte helft mir.
    mfg

    Einmal editiert, zuletzt von pestomitketchup (25. September 2011 um 19:04)

  • Du fragst ab ob die Gesamtdauer = 0 ist. Wenn du 1 eingibst, ist Sie zu beginn jedoch 7.2 da kannst du noch so oft 1 abziehen du wirst nie genau 0 erhalten. Nimm statdessen einfach z.B. Gesamtdauer < 0.

    Gruss Shadowigor

  • @pestomitketchup: es ist unhöflich seine Skripte auf pastbin zu stellen anstatt sie direkt hier zu posten. Deshalb der Vollständigkeit halber:

    Spoiler anzeigen
    [autoit]

    do
    $anzahl = InputBox("Info","Geben sie die anzahl ein:","")
    Until Not @error

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

    $DauerGesammt = ($anzahl*7.2);sec
    ;--------------------------------------------------------------------------------

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

    AdlibRegister("_start",1000)

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

    While 1
    Sleep(250)
    WEnd

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

    Func _start()
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),0,0)
    $DauerGesammt = $DauerGesammt - 1
    If $DauerGesammt = 0 Then _toDo()

    EndFunc

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

    Func _toDo()
    AdlibUnRegister("_start")
    Exit
    EndFunc

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

    Func _Sek2StdMinSek($value)

    $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))
    $value = $value - ((60*60) * $std)
    $min = Floor($value / (60))
    $sek = $value - ((60) * $min)

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

    Return StringFormat($format1,$std,$min,$sek)
    EndFunc

    [/autoit]

    mfg autoBert