Function aufrufen Fortschritt anzeigen

  • Hallo @all

    Ich komme nicht mehr weiter bzw ich seh den Wald nicht mehr vor lauter bäume Es gaht darum sobald das Setup beginnt soll der Fortschrittsbalken kommen was auch passiert ich möchte aber nur dann den Balken erweitern wenn ich an einer bistimmten Stelle vom Setup bin eigentlich muss ich doch nur die Funktion aufrufen aber wie ?

    Spoiler anzeigen

    #include <GUIConstants.au3>

    Dim $testa, $testb

    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)

    start ()
    run("C:\Local\vlc.exe")
    WinWait("Installer Language","Please select a language.")
    WinActivate("Installer Language","Please select a language.")
    ControlClick("Installer Language","Please select a language.", 1, "left")

    ;Fortschritt anzeigen

    WinWait("VideoLAN VLC media player 0.8.6h Installation","Willkommen beim ")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation","Willkommen beim ")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation" , "Willkommen beim" ,1, "left")

    ;Fortschritt anzeigen

    WinWait("VideoLAN VLC media player 0.8.6h Installation","Lizenzabkommen")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation","Lizenzabkommen")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation" , "Falls Sie alle Bedingungen" , 1, "left")

    ;Fortschritt anzeigen

    WinWait("VideoLAN VLC media player 0.8.6h Installation", "Komponenten auswählen")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "Komponenten auswählen")
    ControlCommand("VideoLAN VLC media player 0.8.6h Installation", "Komponenten auswählen", 1017, "SelectString", "Full")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation","Komponenten auswählen", 1, "left")
    ;Fortschritt anzeigen

    WinWait("VideoLAN VLC media player 0.8.6h Installation", "Zielverzeichnis")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "Zielverzeichnis")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation","Zielverzeichnis", 1, "left")


    ;Fortschritt anzeigen
    WinWait("VideoLAN VLC media player 0.8.6h Installation", "wurde auf Ihrem Computer installiert")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "wurde auf Ihrem Computer installiert")
    ControlCommand("VideoLAN VLC media player 0.8.6h Installation", "wurde auf Ihrem Computer installiert", 1203, "UnCheck", "")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation","wurde auf Ihrem Computer installiert", 1, "left")


    While 1
    Sleep(100)
    WEnd

    ;===============================================================================================================================

    Func start ()

    For $i = 0 To 100
    GUICtrlSetData($Progress1, $i)
    GUICtrlSetData($label2, GUICtrlRead($Progress1))

    $testa = $i

    If $i = 50 Then
    msgbox("", "Test" , $i)
    ;msgbox("", "Test2" , $testa)
    ElseIf $i = 100 Then
    msgbox("", "", "Installation beendet")
    close()
    EndIf
    $i = $i + 9

    Next
    EndFunc


    Func close()
    Exit
    EndFunc


    Bin mal gespannt wo mein fehler liegt !!!

    Greets bitworker

  • Hi Xenobiologist

    Danke für die schnelle antwort könntest du mir ein Beispiel zeigen wie der Aufruf dann aussieht mit GUICtrlSetData

    Wenn ich meine Funktion so schreibe mit ByRef und dann die Function aufrufe start ($u) bekomm ich immer ne Fehlermeldung warum ?

    Spoiler anzeigen

    Func start (ByRef $u , ByRef $r)

    For $i = 0 To 100
    GUICtrlSetData($Progress1, $i)
    GUICtrlSetData($label2, GUICtrlRead($Progress1))

    $testa = $i

    If $i = 50 Then
    msgbox("", "Test" , $i)
    ;msgbox("", "Test2" , $testa)
    ElseIf $i = 100 Then
    msgbox("", "", "Installation beendet")
    close()
    EndIf
    $i = $i + 9

    sleep(300)

    Next
    EndFunc

    Danke für die Unterstützung

    Greets

  • Er meint z.B. so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("-.-", 337, 378, 193, 115)
    $Progress1 = GUICtrlCreateProgress(24, 88, 265, 25, 0x01)
    $label2 = GUICtrlCreateLabel("", 137, 63, 60, 14)
    $Label1 = GUICtrlCreateLabel("Progress...", 24, 24, 189, 17)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
    GUISetState(@SW_SHOW)

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

    Run("C:\Local\vlc.exe")
    WinWait("Installer Language", "Please select a language.")
    WinActivate("Installer Language", "Please select a language.")
    ControlClick("Installer Language", "Please select a language.", 1, "left")

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

    GUICtrlSetData($Progress1, 16)

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

    WinWait("VideoLAN VLC media player 0.8.6h Installation", "Willkommen beim ")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "Willkommen beim ")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation", "Willkommen beim", 1, "left")

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

    GUICtrlSetData($Progress1, 32)

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

    WinWait("VideoLAN VLC media player 0.8.6h Installation", "Lizenzabkommen")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "Lizenzabkommen")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation", "Falls Sie alle Bedingungen", 1, "left")

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

    GUICtrlSetData($Progress1, 50)

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

    WinWait("VideoLAN VLC media player 0.8.6h Installation", "Komponenten auswählen")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "Komponenten auswählen")
    ControlCommand("VideoLAN VLC media player 0.8.6h Installation", "Komponenten auswählen", 1017, "SelectString", "Full")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation", "Komponenten auswählen", 1, "left")

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

    GUICtrlSetData($Progress1, 66)

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

    WinWait("VideoLAN VLC media player 0.8.6h Installation", "Zielverzeichnis")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "Zielverzeichnis")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation", "Zielverzeichnis", 1, "left")

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

    GUICtrlSetData($Progress1, 82)

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

    WinWait("VideoLAN VLC media player 0.8.6h Installation", "wurde auf Ihrem Computer installiert")
    WinActivate("VideoLAN VLC media player 0.8.6h Installation", "wurde auf Ihrem Computer installiert")
    ControlCommand("VideoLAN VLC media player 0.8.6h Installation", "wurde auf Ihrem Computer installiert", 1203, "UnCheck", "")
    ControlClick("VideoLAN VLC media player 0.8.6h Installation", "wurde auf Ihrem Computer installiert", 1, "left")

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

    GUICtrlSetData($Progress1, 100)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _close()
    Exit
    EndFunc ;==>_close

    [/autoit]