progress bar..

  • hallo leute

    ich weiß dass ich immer blöde fragen habe, aber auch ein nOOb muss lernen :)

    also, wenn die progress bar am laufen ist, kann ich sie mit nicht stoppen..
    kA warum

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("-.-", 337, 378, 193, 115)
    GUISetOnEvent($guI_EVENT_CLOSE, "close")
    $Progress1 = GUICtrlCreateProgress(24, 88, 265, 25, 0x01)
    GUICtrlSetData(-1, 0)
    $label2 = GUICtrlCreateLabel("", 137, 63, 60, 14)
    $Label1 = GUICtrlCreateLabel("Progress...", 24, 24, 189, 17)
    GUICtrlSetOnEvent(-1, "close")
    $button2 = GUICtrlCreateButton("Start", 94,136,129,25)
    GUICtrlSetOnEvent(-1, "start")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func start()
    For $i = 0 To 100
    GUICtrlSetData($Progress1, $i)
    GUICtrlSetData($label2, GUICtrlRead($Progress1))
    sleep(300)
    $i = $i + 9
    Next
    EndFunc

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

    Func close()
    Exit
    EndFunc

    [/autoit]
  • Du kannst sie nicht stoppen, weil du in der Funktion hängst und die erst fertig gemacht werden muss und danach was anderes gemacht werden kann.

  • kommt drauf an was du eigentlich willst ...

    entweder du stoppst über irgend einen if mit exitloop deine schleife oder du arbeitest woanders punkte ab und setzt dort systematisch den wert der progress bar höher ... (zb je nachdem wie weit etwas abgearbeitet ist ...)