Zeitanzeigende Proggressbar

  • Also ich hab eine Angabe Zeit solange soll der Code warten und dannach weiter machen aber gleichzeitig soll er mit einer Progressbar die verbleibende Zeit anzeigen.

    Spoiler anzeigen
    [autoit]


    $timer = TimerInit()
    $timerzahl = Int(TimerDiff($timer))
    While $timerzahl <= $zeit
    $prozent = $timerzahl /$zei* 100
    $data = 100 * $prozent
    GUICtrlSetData($Progress1, $data)
    WEnd

    [/autoit]


    Nur leider funktioniert das nicht wirklich :(

  • Abgesehn von dem Schreibfehler, denke ich das liegt an der Stelle, wo du teilst und mal hundert nimmst und danach nochmal mal hundert nimmst. Außerdem hast du keinen Skill ( es fehlt $zeit = $timerzahl im If-Teil)

    So könnte es klappen:

    Spoiler anzeigen
    [autoit]

    $timer = TimerInit()
    $timerzahl = Int(TimerDiff($timer))
    While $timerzahl <= $zeit
    $prozent = $zeit /$timerzahl* 100
    $data=$prozent ;eventuell $data=round($prozent)
    $zeit=$timerzahl
    GUICtrlSetData($Progress1, $data)
    WEnd

    [/autoit]
  • Ich habe mal ein Beispiel mit ProgressOn gemacht:

    [autoit]

    $Zeit=10
    $Z=$Zeit*1000
    $x=TimerInit()
    ProgressOn("TEST - 10 Sekunden","10 Sekunden!")
    While TimerDiff($x) < $Z
    $p=Round(TimerDiff($x)*100/$Z,0)
    ProgressSet($p,$p,"10 Sekunden")
    Sleep(10)
    WEnd
    Sleep(500)
    ProgressOff()
    MsgBox(0,"ENDE!","Fertig")

    [/autoit]


    Statt ProgressSet musst du bei deiner GUI version Guictrlsetdata benutzen!

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!