Balken während Kopieren

  • Hey Leute,

    während dieses Skriptes soll ein Balken durchlaufen, der den Kopierstatus zeigt, also wie viel kopiert wurde.
    Das Skript sieht wie folgt aus:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <File.au3>
    #include <Excel.au3>
    #Region ### START Koda GUI section ### Form=d:\autoit\koda\forms\copygui.kxf
    $KopierenGUI = GUICreate("Kopieren ", 455, 269, 465, 319)
    $DirList = GUICtrlCreateCombo("---", 96, 56, 265, 25)
    GUICtrlSetFont(-1, 11, 800, 0, "Comic Sans MS")
    $Copy = GUICtrlCreateButton("Kopieren", 128, 112, 209, 113, 0)
    GUICtrlSetFont(-1, 36, 800, 0, "Comic Sans MS")
    $Delete = GUICtrlCreateButton("Löschen", 40, 240, 369, 25, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "Comic Sans MS")
    $ProgressCopy = GUICtrlCreateProgress(16, 8, 425, 41)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Dir = "\\Medien\Sonstiges"
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($DirList, $Dir_Combo[$i])
    EndIf
    Next
    EndIf
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Copy
    GUICtrlSetState ($Copy, $GUI_DISABLE)
    $PfadSource = GUICtrlRead ($DirList)
    DirCreate ("C:\Von MedienServer\"&$PfadSource)
    $PfadZiel = "C:\Von MedienServer\"&$PfadSource
    $Kopieren = DirCopy ("\\Medien\Sonstiges\"&$PfadSource, $PfadZiel,1)
    $FileSize = DirGetSize ("\\Medien\Sonstiges\"&$PfadSource)
    $CurSize = 0
    Do
    GUICtrlSetData($ProgressCopy, $CurSize)
    $CurFileSize = DirGetSize ($PfadZiel)
    $CurSize = $CurFileSize * 100
    $CurSize = $CurSize / $FileSize
    $CurSize = Ceiling ($CurSize)
    $CurFileSize = Round ($CurFileSize / 1024 / 1024, 2)
    Sleep (100)
    Until $CurSize >= 99
    Case $Delete
    $PfadSource = GUICtrlRead ($DirList)
    $DeleteProgress = FileDelete ("\\Medien\Sonstiges\"&$Pfadsource)
    If $DeleteProgress = 1 Then
    MsgBox (1, "", "Fertig")
    EndIf
    EndSwitch
    WEnd

    [/autoit]


    Nur leider bewegt sich der Balken beim Kopieren nicht ^^

  • Ich glaube das wurde schon x-mal durchgekaut.

    Der DirCopy()-Befehl warte bis der Kopiervorgang beendet ist, bis das Script weiterläuft. Müsste ja also eigentlich DirCopyWait() heißen, oder ?

    Und damit ist deine Schleife Do...Until() völlig wertlos !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Oh, da hast du wohl recht.
    Sonst gibt es keine Möglichkeit, das irgendwie zum laufen zu bekommen oder?