Sekunden hochzählen ohne Sleep

  • Hey ihrs C:

    Ich wollte in mein Programm ein Timer einbauen der z.B. am Start 00:00:00 hat und immer bei jeder vergangenen Sekunde eins hoch setzt.
    Das es dann so aussieht 00:00:14.

    Ps: Wie er die Minuten aufschreibt weis ich C:

    Einmal editiert, zuletzt von Rey96 (4. August 2011 um 20:57)

  • Mit Timer oder Adlibregister

    TIMER

    [autoit]


    $timer=TimerInit()

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

    While 1
    if TimerDiff($timer)>=1000 then SekundeHochzaehlen()
    Wend

    [/autoit]

    ADLIBREGISTER

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

    AdLibRegister('SekundeHochzaehlen',1000)
    While 1
    Sleep(100)
    Wend

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

    €DIT: Was die Funktion Sekundehochzaehlen ist, wird wohl klar erdenklich sein :rofl:

  • Hallo Rey96,
    ich bin kein Profi, aber ich meine so könnte es klappen(mit einer einfachen MsgBox)

    Spoiler anzeigen
    [autoit]


    Global $maximaleZeit = 10 ;Deine maximale Sekundenzahl
    Global $i = 00 ;Deine aktuelle Sekundenzahl

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

    For $i = 00 To $maximaleZeit Step +01
    MsgBox(64,"Zeit","00:00:"&$i,1)
    Next

    [/autoit]


    Habs selber noch nicht getestet, also Fehler vorbehalten...

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Wie wäre es so?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Date.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $hWnd = GUICreate("Timer", 180, 100)
    $cTime = GUICtrlCreateLabel("00:00:00 ", 25, 25, 160, 50)
    GUICtrlSetFont(-1, 15)
    GUISetState()

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $hWnd)
    $nTimer = TimerInit()
    Dim $iH, $iM, $iS

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

    While Sleep(100)
    _TicksToTime(Int(TimerDiff($nTimer)), $iH, $iM, $iS)
    $sNewTime = StringFormat("%02d:%02d:%02d", $iH, $iM, $iS)

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

    If $sNewTime <> GUICtrlRead($cTime) Then GUICtrlSetData($cTime, $sNewTime)
    WEnd

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]