Ein Fortschrittsbalken (Progress richtig einsetzten)

  • Hallo ich abe jetzt diese Schleife von Befhelen wo mehrere Sachen kopiert werden aber ich würde dann auch gerne sehen wie weit man ist denn es wird ja nicht angezeigt dann hängt der Gui nur.


    Bei diesen Befehlen:

    [autoit]

    If Bitand(GUICtrlRead($checkCN_1), $GUI_CHECKED) Then Local $folder = FileSelectFolder ( "DotNetFrameworkPacket Kopieren unter", "" , 5, "D:\UNINST\Software" )
    If Bitand(GUICtrlRead($checkCN_1), $GUI_CHECKED) Then DirCopy ("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder & "\DotnetFrameworkPacket",1)

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

    If Bitand(GUICtrlRead($checkCN_2), $GUI_CHECKED) Then Local $folder1 = FileSelectFolder ( "AcrobatReader9.1 Kopieren unter", "" , 5, "D:\UNINST\Software" )
    If BitAnd(GUICtrlRead($checkCN_2), $GUI_CHECKED) Then DirCopy ("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder1 & "\AcrobatReader9.1" ,1)

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

    If Bitand(GUICtrlRead($checkCN_3), $GUI_CHECKED) Then Local $folder2 = FileSelectFolder ( "InternetExplorer8 Kopieren unter", "" , 5, "D:\UNINST\Software" )
    If Bitand(GUICtrlRead($checkCN_3), $GUI_CHECKED) Then DirCopy ("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder2 & "\InternetExplorer8" ,1)

    [/autoit]


    Danke schon mal im voraus


    Moritz

  • Vorher die Anzahl der zu kopierenden Objekte ermitteln und der Rest ist %-Rechnung in einer Schleife (um den Progress voranzutreiben)

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Kann mir nicht jemand für meine Befehle oben mal ein Progress Beispiel zusammen basteln weil ich weiß gar nicht wie ich beginnen soll?

  • Spoiler anzeigen
    [autoit]

    ;Möglichkeit schaffen Progress auszustellen

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

    $Progress_enable = 1

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

    ;Start Kopierprozess

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

    If $Progress_enable = 1 Then ProgressOn("Dateiliste wird erstellt", "Bitte haben Sie etwas Geduld.")

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

    ;in der Schleife wo zum Beispiel die Dateien kopiert werden so etwas einarbeietn

    If $Progress_enable = 1 Then
    $Progress_cnt = $Progress_cnt + 1
    ProgressSet($Progress_cnt/40, $Progress_cnt & " Dateien ermittelt") ; bei mir sind es ca. 4000 Dateien ;)
    EndIf


    ; am Ende Progress wieder ausschalten

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

    If $Progress_enable = 1 Then ProgressOff()

    [/autoit]

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Hallo Moritz,

    z.B.: so

    Spoiler anzeigen
    [autoit][/autoit]

    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>

    Opt('MustDeclareVars', 1)

    Example()

    Func Example()
    Local $progressbar1, $button, $wait, $s, $msg, $m

    GUICreate("My GUI Progressbar", 220, 100, 100, 200)
    $progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
    GUICtrlSetColor(-1, 32250); not working with Windows XP Style
    $button = GUICtrlCreateButton("Start", 75, 70, 70, 20)
    GUISetState()
    Do
    $msg = GUIGetMsg()
    If $msg = $button Then
    GUICtrlDelete($button)
    ; If BitAND(GUICtrlRead($checkCN_1), $GUI_CHECKED) Then Local $folder = FileSelectFolder("DotNetFrameworkPacket Kopieren unter", "", 5, "D:\UNINST\Software")
    ; If BitAND(GUICtrlRead($checkCN_1), $GUI_CHECKED) Then DirCopy("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder & "\DotnetFrameworkPacket", 1)
    GUICtrlSetData($progressbar1, 33)
    Sleep(Random(2000, 8000))

    ; If BitAND(GUICtrlRead($checkCN_2), $GUI_CHECKED) Then Local $folder1 = FileSelectFolder("AcrobatReader9.1 Kopieren unter", "", 5, "D:\UNINST\Software")
    ; If BitAND(GUICtrlRead($checkCN_2), $GUI_CHECKED) Then DirCopy("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder1 & "\AcrobatReader9.1", 1)
    GUICtrlSetData($progressbar1, 66)
    Sleep(Random(2000, 8000))

    ; If BitAND(GUICtrlRead($checkCN_3), $GUI_CHECKED) Then Local $folder2 = FileSelectFolder("InternetExplorer8 Kopieren unter", "", 5, "D:\UNINST\Software")
    ; If BitAND(GUICtrlRead($checkCN_3), $GUI_CHECKED) Then DirCopy("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder2 & "\InternetExplorer8", 1) EndIf
    GUICtrlSetData($progressbar1, 100)
    MsgBox(0, "", "Bin fertig!")
    Exit
    EndIf
    Until $msg = $GUI_EVENT_CLOSE
    EndFunc ;==>Example

    da du nur einen Codeschnipsel gepostet hast musst du es dir noch anpassen,

    mfg (Auto)Bert