Progressbar Problem

  • Hallo

    So ich hoffe ich bin hier richtig, weil ich neu im Forum bin und mich noch nicht so gut hier auskenne.

    Also das Problem:

    Ich würde gerne das eine Progressbar bei Programmstart anfängt.

    Die Progressbar soll sich dann füllen.

    Wenn sie voll ist, soll ein anderes Programm ausgeführt werden( möglichst über die "Run" Funktion)

    ( Ich suche nicht die Funktion, die ein kleines Fenster mit einer Progressbar, weil ich gerne über die Bar noch eine Überschrift oder Bild setzen würde)

    Hire mal die Form die ich mir vorgestellt habe:

    [autoit]

    #include <GUIConstants.au3>
    #Region ### START Koda GUI section ### Form=$Form1 = GUICreate("Test", 402, 173, 193, 125)$Group1 = GUICtrlCreateGroup("", 8, 8, 385, 153)$Progress1 = GUICtrlCreateProgress(24, 112, 353, 33) ;<---Soll bei Programm Start anfangen sich zu füllen$Label1 = GUICtrlCreateLabel("Überschrift", 120, 32, 170, 41)GUICtrlSetFont(-1, 24, 800, 4, "MS Sans Serif")GUICtrlCreateGroup("", -99, -99, 1, 1)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###
    While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit
    EndSwitchWEnd

    [/autoit]

    Tut mir leid falls das eine blöde Frage ist, aber ich bekomme das irgendwie nicht hin :D .

    Mr. Script

  • Hallo Mr. Script,

    herzlich wollkommen im Forum. Das ganze kannst du über AdLibRegister lösen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Test", 402, 173, 193, 125)
    $Group1 = GUICtrlCreateGroup("", 8, 8, 385, 153)
    $Progress1 = GUICtrlCreateProgress(24, 112, 353, 33) ;<---Soll bei Programm Start anfangen sich zu füllen
    $Label1 = GUICtrlCreateLabel("Überschrift", 120, 32, 170, 41)
    GUICtrlSetFont(-1, 24, 800, 4, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    AdlibRegister("_incProgress") ;Hichzählen einschalten
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _incProgress()
    Static $i
    $i += 1
    GUICtrlSetData($Progress1,$i)
    if $i = 100 then
    AdlibUnRegister("_incProgress") ;Hochzählen wieder abschalten
    ;hier kommt die Funktion rein die bei 100% ausgeführt werden soll
    MsgBox(0,"","") ;kann gelöscht werden
    EndIf
    EndFunc

    [/autoit]

    Du solltest dir aber auch die Funktionen Progress... in der Hilfeanschauen,

    mfg autoBert