Kurze Frage zu nem Prog.

  • Guten Morgen alle zusammen :sleeping:

    Hab mal ne kleine Frage zu nem Prog.

    Und zwar, will ich hier:

    [autoit]

    Case $msg = $FileCopy_1
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_1 = GUICtrlRead ($DirSelectInput_1, 1)
    FileCopy ($Source_1, $Dest_1)
    FileCopy ($Source_2, $Dest_1)
    FileCopy ($Source_3, $Dest_1)
    FileCopy ($Source_4, $Dest_1)
    FileCopy ($Source_5, $Dest_1)
    FileCopy ($Source_6, $Dest_1)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")

    [/autoit]

    Einen Fortschrittsbalken einbauen.
    Alsoso, das sich ein Fenster öffnet, in dem man sieht, wieviel % fertig sind.

    Das ist nur ein kleiner Schnipsel aus meinem MultyFileCopy Tool.

    Ich weis, das es mit ProgressOn / Off geht, aber mir will nich einfallen, wie es gehn soll.

    Einer ne Idee?

  • bei einer festen Anzahl von "Vorgängen" kannst du den Fortschritt ja statisch ausrechnen, soll heissen bei z.B. 5 Dateien sind es jeweils 20%

    also:
    20 -> ProgressSet ( 20, "Subtext", "Maintext")
    40 -> ProgressSet ( 40, "Subtext", "Maintext")
    60 -> ProgressSet ( 60, "Subtext", "Maintext")
    80 -> ProgressSet ( 80, "Subtext", "Maintext")
    100 -> ProgressSet ( 100, "Subtext", "Maintext")

    bei dynamischer Anzeige musst du halt eine Formel nehmen und die 100% erst durch den Schleifenzähler teilen und hinterher pro durchlauf entsprechend multiplizieren, ganz einfach %-Rechnung quasi.

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • Es ist ja so, das garnicht alle 6 Sources belegt sein müssen. es kann in dem fall auch nur eine Source mit einer Datei belegt sein.

    z.B. Ich ich habe eine Datei, die ich in einen Ordner Kopieren will.
    Diese datei ist 100 MB groß.

    Nur mal schätzungsweise:
    Mein PC Kopiert 10 MB / Sek.

    Ach, ich stell einfach mal den Code rein. Guck dir das Prog mal an, vllt kann man dann etwas mehr sagen ^^
    So ein schnipsel is net so aussagekräftig ;)

    Spoiler anzeigen
    [autoit]

    GLOBAL Const $GUI_EVENT_CLOSE = -3
    GUICreate ("MultyFileCopy Tool", 700, 510)
    GUISetState (@SW_SHOW)
    GUISetBkColor (0x40E0D0)

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

    ; ***** CopyRight & Version& Überschrift *****
    GUICtrlCreateLabel ("(c) Michael Rechel", 13, 465)
    GUICtrlSetFont (-1, 8)
    ; ***************************************
    GUICtrlCreateLabel ("Version 1.2", 630, 465)
    GUICtrlSetFont (-1, 8)
    ; ***************************************
    GUICtrlCreateLabel ("MultyFileCopy Tool", 80, 20, 600, 100)
    GUICtrlSetFont (-1, 40, 800)

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

    ; ***** Dateien auswählen *****
    GUICtrlCreateLabel ("Datei zum Kopieren auswählen", 10, 100)
    $FileSelectInput_1 = GUICtrlCreateInput ("", 10, 120, 200)
    $FileSelectSearch_1 = GUICtrlCreateButton ("...", 220, 120, 30, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Datei zum Kopieren auswählen", 10, 150)
    $FileSelectInput_2 = GUICtrlCreateInput ("", 10, 170, 200)
    $FileSelectSearch_2 = GUICtrlCreateButton ("...", 220, 170, 30, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Datei zum Kopieren auswählen", 10, 200)
    $FileSelectInput_3 = GUICtrlCreateInput ("", 10, 220, 200)
    $FileSelectSearch_3 = GUICtrlCreateButton ("...", 220, 220, 30, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Datei zum Kopieren auswählen", 10, 250)
    $FileSelectInput_4 = GUICtrlCreateInput ("", 10, 270, 200)
    $FileSelectSearch_4 = GUICtrlCreateButton ("...", 220, 270, 30, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Datei zum Kopieren auswählen", 10, 300)
    $FileSelectInput_5 = GUICtrlCreateInput ("", 10, 320, 200)
    $FileSelectSearch_5 = GUICtrlCreateButton ("...", 220, 320, 30, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Datei zum Kopieren auswählen", 10, 350)
    $FileSelectInput_6 = GUICtrlCreateInput ("", 10, 370, 200)
    $FileSelectSearch_6 = GUICtrlCreateButton ("...", 220, 370, 30, 22)
    ; ***************************************
    ; ***** Ordner wählen & Kopieren *****
    GUICtrlCreateLabel ("Ordner auswählen, in den die Datei kopiert werden soll.", 360, 100)
    $DirSelectInput_1 = GUICtrlCreateInput ("", 360, 120, 200)
    $DirSelectSearch_1 = GUICtrlCreateButton ("...", 570, 120, 30, 22)
    $FileCopy_1 = GUICtrlCreateButton ("Kopieren", 620, 120, 60, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Ordner auswählen, in den die Datei kopiert werden soll.", 360, 150)
    $DirSelectInput_2 = GUICtrlCreateInput ("", 360, 170, 200)
    $DirSelectSearch_2 = GUICtrlCreateButton ("...", 570, 170, 30, 22)
    $FileCopy_2 = GUICtrlCreateButton ("Kopieren", 620, 170, 60, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Ordner auswählen, in den die Datei kopiert werden soll.", 360, 200)
    $DirSelectInput_3 = GUICtrlCreateInput ("", 360, 220, 200)
    $DirSelectSearch_3 = GUICtrlCreateButton ("...", 570, 220, 30, 22)
    $FileCopy_3 = GUICtrlCreateButton ("Kopieren", 620, 220, 60, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Ordner auswählen, in den die Datei kopiert werden soll.", 360, 250)
    $DirSelectInput_4 = GUICtrlCreateInput ("", 360, 270, 200)
    $DirSelectSearch_4 = GUICtrlCreateButton ("...", 570, 270, 30, 22)
    $FileCopy_4 = GUICtrlCreateButton ("Kopieren", 620, 270, 60, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Ordner auswählen, in den die Datei kopiert werden soll.", 360, 300)
    $DirSelectInput_5 = GUICtrlCreateInput ("", 360, 320, 200)
    $DirSelectSearch_5 = GUICtrlCreateButton ("...", 570, 320, 30, 22)
    $FileCopy_5 = GUICtrlCreateButton ("Kopieren", 620, 320, 60, 22)
    ; ***************************************
    GUICtrlCreateLabel ("Ordner auswählen, in den die Datei kopiert werden soll.", 360, 350)
    $DirSelectInput_6 = GUICtrlCreateInput ("", 360, 370, 200)
    $DirSelectSearch_6 = GUICtrlCreateButton ("...", 570, 370, 30, 22)
    $FileCopy_6 = GUICtrlCreateButton ("Kopieren", 620, 370, 60, 22)
    ; ***************************************
    $AllCopy = GUICtrlCreateButton ("Alles Kopieren", 360, 410, 200)
    ; ***************************************
    ; ***** Menüs & Items
    $DateiMenu = GUICtrlCreateMenu ("Datei")
    $DateiMenuExitItem = GUICtrlCreateMenuItem ("Schließen", $DateiMenu)
    ; ***************************************
    $HelpMenu = GUICtrlCreateMenu ("Hilfe")
    $HelpMenuHelpItem = GUICtrlCreateMenuItem ("Hilfe", $HelpMenu)

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

    ; ***** Funktionen *****
    While 1
    $msg = GUIGetMsg ()
    Select
    Case $msg = $DateiMenuExitItem
    Exit
    ; ***************************************
    Case $msg = $HelpMenuHelpItem
    MsgBox (64, "Hilfe", "Willkommen im MultyFileCopy Tool." & @CRLF & "Dies ist eine kleine Anleitung zu dem Tool." & @CRLF & @CRLF & "Sie können hier 6 unterschiedliche Dateien auswählen." & @CRLF & "Und sie dann in 6 verschiedene Ordner kopieren." & @CRLF & @CRLF & "Wählen Sie dazu einfach in der linken seite eine Datei aus." & @CRLF & "Wählen Sie danach auf der rechten Seite einen Ordner aus, in den die Datei Kopiert werden soll." & @CRLF & @CRLF & "Welche Möglichkeiten haben Sie?" & @CRLF & @CRLF & "Sie können 1-6 Dateien auswählen und diese in 1-6 Ordner Kopieren." & @CRLF & @CRLF & "Sollte eine zu kopierende Datei doppelt ausgewählt werden, so wird diese nur einmal kopiert." & @CRLF & @CRLF & @CRLF & @CRLF & "Besuchen Sie auch: http://www.autoit.de" & @CRLF & "Sie sind herzlich willkommen bei uns." & @CRLF & @CRLF & "Bei Bugs, Problem oder Fragen, sende bitte eine PN im Forum an Commander21" & @CRLF & @CRLF & "Danke für die Nutzung von MultyFileCopy" & @CRLF & @CRLF & @CRLF & @CRLF & "(c) by Michael Rechel")
    ; ***************************************
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    ; ***************************************
    Case $msg = $FileSelectSearch_1
    GUICtrlSetData ($FileSelectInput_1, FileOpenDialog ("Datei auswählen.", @DesktopDir, "Alle (*.*)" ))
    ; ***************************************
    Case $msg = $FileSelectSearch_2
    GUICtrlSetData ($FileSelectInput_2, FileOpenDialog ("Datei auswählen.", @DesktopDir, "Alle (*.*)" ))
    ; ***************************************
    Case $msg = $FileSelectSearch_3
    GUICtrlSetData ($FileSelectInput_3, FileOpenDialog ("Datei auswählen.", @DesktopDir, "Alle (*.*)" ))
    ; ***************************************
    Case $msg = $FileSelectSearch_4
    GUICtrlSetData ($FileSelectInput_4, FileOpenDialog ("Datei auswählen.", @DesktopDir, "Alle (*.*)" ))
    ; ***************************************
    Case $msg = $FileSelectSearch_5
    GUICtrlSetData ($FileSelectInput_5, FileOpenDialog ("Datei auswählen.", @DesktopDir, "Alle (*.*)" ))
    ; ***************************************
    Case $msg = $FileSelectSearch_6
    GUICtrlSetData ($FileSelectInput_6, FileOpenDialog ("Datei auswählen.", @DesktopDir, "Alle (*.*)" ))
    ; ***************************************
    Case $msg = $DirSelectSearch_1
    GUICtrlSetData ($DirSelectInput_1, FileSelectFolder ("Ordner auswählen.", @DesktopDir, 1+4))
    ; ***************************************
    Case $msg = $DirSelectSearch_2
    GUICtrlSetData ($DirSelectInput_2, FileSelectFolder ("Ordner auswählen.", @DesktopDir, 1+4))
    ; ***************************************
    Case $msg = $DirSelectSearch_3
    GUICtrlSetData ($DirSelectInput_3, FileSelectFolder ("Ordner auswählen.", @DesktopDir, 1+4))
    ; ***************************************
    Case $msg = $DirSelectSearch_4
    GUICtrlSetData ($DirSelectInput_4, FileSelectFolder ("Ordner auswählen.", @DesktopDir, 1+4))
    ; ***************************************
    Case $msg = $DirSelectSearch_5
    GUICtrlSetData ($DirSelectInput_5, FileSelectFolder ("Ordner auswählen.", @DesktopDir, 1+4))
    ; ***************************************
    Case $msg = $DirSelectSearch_6
    GUICtrlSetData ($DirSelectInput_6, FileSelectFolder ("Ordner auswählen.", @DesktopDir, 1+4))
    ; ***************************************
    Case $msg = $FileCopy_1
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_1 = GUICtrlRead ($DirSelectInput_1, 1)
    FileCopy ($Source_1, $Dest_1)
    FileCopy ($Source_2, $Dest_1)
    FileCopy ($Source_3, $Dest_1)
    FileCopy ($Source_4, $Dest_1)
    FileCopy ($Source_5, $Dest_1)
    FileCopy ($Source_6, $Dest_1)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_2
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_2 = GUICtrlRead ($DirSelectInput_2, 1)
    FileCopy ($Source_1, $Dest_2)
    FileCopy ($Source_2, $Dest_2)
    FileCopy ($Source_3, $Dest_2)
    FileCopy ($Source_4, $Dest_2)
    FileCopy ($Source_5, $Dest_2)
    FileCopy ($Source_6, $Dest_2)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_3
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_3 = GUICtrlRead ($DirSelectInput_3, 1)
    FileCopy ($Source_1, $Dest_3)
    FileCopy ($Source_2, $Dest_3)
    FileCopy ($Source_3, $Dest_3)
    FileCopy ($Source_4, $Dest_3)
    FileCopy ($Source_5, $Dest_3)
    FileCopy ($Source_6, $Dest_3)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_4
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_4 = GUICtrlRead ($DirSelectInput_4, 1)
    FileCopy ($Source_1, $Dest_4)
    FileCopy ($Source_2, $Dest_4)
    FileCopy ($Source_3, $Dest_4)
    FileCopy ($Source_4, $Dest_4)
    FileCopy ($Source_5, $Dest_4)
    FileCopy ($Source_6, $Dest_4)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_5
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_5 = GUICtrlRead ($DirSelectInput_5, 1)
    FileCopy ($Source_1, $Dest_5)
    FileCopy ($Source_2, $Dest_5)
    FileCopy ($Source_3, $Dest_5)
    FileCopy ($Source_4, $Dest_5)
    FileCopy ($Source_5, $Dest_5)
    FileCopy ($Source_6, $Dest_5)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_6
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_6 = GUICtrlRead ($DirSelectInput_6, 1)
    FileCopy ($Source_1, $Dest_6)
    FileCopy ($Source_2, $Dest_6)
    FileCopy ($Source_3, $Dest_6)
    FileCopy ($Source_4, $Dest_6)
    FileCopy ($Source_5, $Dest_6)
    FileCopy ($Source_6, $Dest_6)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $AllCopy
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    ; ***
    $Dest_1 = GUICtrlRead ($DirSelectInput_1, 1)
    $Dest_2 = GUICtrlRead ($DirSelectInput_2, 1)
    $Dest_3 = GUICtrlRead ($DirSelectInput_3, 1)
    $Dest_4 = GUICtrlRead ($DirSelectInput_4, 1)
    $Dest_5 = GUICtrlRead ($DirSelectInput_5, 1)
    $Dest_6 = GUICtrlRead ($DirSelectInput_6, 1)
    ; ***
    FileCopy ($Source_1, $Dest_1)
    FileCopy ($Source_1, $Dest_2)
    FileCopy ($Source_1, $Dest_3)
    FileCopy ($Source_1, $Dest_4)
    FileCopy ($Source_1, $Dest_5)
    FileCopy ($Source_1, $Dest_6)
    ; ***
    FileCopy ($Source_2, $Dest_1)
    FileCopy ($Source_2, $Dest_2)
    FileCopy ($Source_2, $Dest_3)
    FileCopy ($Source_2, $Dest_4)
    FileCopy ($Source_2, $Dest_5)
    FileCopy ($Source_2, $Dest_6)
    ; ***
    FileCopy ($Source_3, $Dest_1)
    FileCopy ($Source_3, $Dest_2)
    FileCopy ($Source_3, $Dest_3)
    FileCopy ($Source_3, $Dest_4)
    FileCopy ($Source_3, $Dest_5)
    FileCopy ($Source_3, $Dest_6)
    ; ***
    FileCopy ($Source_4, $Dest_1)
    FileCopy ($Source_4, $Dest_2)
    FileCopy ($Source_4, $Dest_3)
    FileCopy ($Source_4, $Dest_4)
    FileCopy ($Source_4, $Dest_5)
    FileCopy ($Source_4, $Dest_6)
    ; ***
    FileCopy ($Source_5, $Dest_1)
    FileCopy ($Source_5, $Dest_2)
    FileCopy ($Source_5, $Dest_3)
    FileCopy ($Source_5, $Dest_4)
    FileCopy ($Source_5, $Dest_5)
    FileCopy ($Source_5, $Dest_6)
    ; ***
    FileCopy ($Source_6, $Dest_1)
    FileCopy ($Source_6, $Dest_2)
    FileCopy ($Source_6, $Dest_3)
    FileCopy ($Source_6, $Dest_4)
    FileCopy ($Source_6, $Dest_5)
    FileCopy ($Source_6, $Dest_6)
    ; ***
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    EndSelect
    WEnd

    [/autoit]

    Guck dirs mal an ^^

  • wenn es nur um die Anzahl geht, würde ich in dem Fall abfragen ob die Felder gefüllt sind

    also im Fall (alles kopieren) würde ich abfragen, wieviele Felder gefüllt sind und dann hast du die Anzahl der zu kopierenden Datein.

    Für eine Anzeige mit Fortschriftt der zu kopiereren Dateien bzw. der Grüße musst du dann mit Filegetsize (auf den Zielordner) arbeiten - das wurde aber in den letzten Monaten oft hier im Forum besprochen, einfach mal suchen - ich hab dafür leider kein BSP zur Hand


    Ein Tipp vielleicht noch zur GUI - die ganzen Elemente sind alle redundant im Quelltext enthalten, mit einer Scheife und entsprechenden Arrays könntest du das Script um ~ 4/5 Quelltext kürzen

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • Das mit FileGetSize höhrt sich kopliziert an, das werd ich mal an gehn.

    Zu den Arrays.
    Leider hab ich keinen Plan, wie man Arrys richtig benutzt.
    Das man es mit Arrays kürzen kan, war mir schon klar, nur muss ich erstmal lernen, wie man die richtig einsetzt und so ^^

    Bis dahin isses ja net so schlimm wenn der code "etwas" länger ist :rofl:

  • Code-Kürzen mit Funktionen (ohne Arrays):

    Spoiler anzeigen
    [autoit]


    ; ***************************************
    Case $msg = $FileCopy_1
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_1 = GUICtrlRead ($DirSelectInput_1, 1)
    FileCopy ($Source_1, $Dest_1)
    FileCopy ($Source_2, $Dest_1)
    FileCopy ($Source_3, $Dest_1)
    FileCopy ($Source_4, $Dest_1)
    FileCopy ($Source_5, $Dest_1)
    FileCopy ($Source_6, $Dest_1)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_2
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_2 = GUICtrlRead ($DirSelectInput_2, 1)
    FileCopy ($Source_1, $Dest_2)
    FileCopy ($Source_2, $Dest_2)
    FileCopy ($Source_3, $Dest_2)
    FileCopy ($Source_4, $Dest_2)
    FileCopy ($Source_5, $Dest_2)
    FileCopy ($Source_6, $Dest_2)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")

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

    ; ***************************************
    Case $msg = $FileCopy_3
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_3 = GUICtrlRead ($DirSelectInput_3, 1)
    FileCopy ($Source_1, $Dest_3)
    FileCopy ($Source_2, $Dest_3)
    FileCopy ($Source_3, $Dest_3)
    FileCopy ($Source_4, $Dest_3)
    FileCopy ($Source_5, $Dest_3)
    FileCopy ($Source_6, $Dest_3)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_4
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_4 = GUICtrlRead ($DirSelectInput_4, 1)
    FileCopy ($Source_1, $Dest_4)
    FileCopy ($Source_2, $Dest_4)
    FileCopy ($Source_3, $Dest_4)
    FileCopy ($Source_4, $Dest_4)
    FileCopy ($Source_5, $Dest_4)
    FileCopy ($Source_6, $Dest_4)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_5
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_5 = GUICtrlRead ($DirSelectInput_5, 1)
    FileCopy ($Source_1, $Dest_5)
    FileCopy ($Source_2, $Dest_5)
    FileCopy ($Source_3, $Dest_5)
    FileCopy ($Source_4, $Dest_5)
    FileCopy ($Source_5, $Dest_5)
    FileCopy ($Source_6, $Dest_5)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_6
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    $Dest_6 = GUICtrlRead ($DirSelectInput_6, 1)
    FileCopy ($Source_1, $Dest_6)
    FileCopy ($Source_2, $Dest_6)
    FileCopy ($Source_3, $Dest_6)
    FileCopy ($Source_4, $Dest_6)
    FileCopy ($Source_5, $Dest_6)
    FileCopy ($Source_6, $Dest_6)
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************

    [/autoit]


    wird zu:

    Spoiler anzeigen
    [autoit]


    ; ***************************************
    Case $msg = $FileCopy_1
    _lesen()
    $Dest_1 = GUICtrlRead ($DirSelectInput_1, 1)
    _schreiben()
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_2
    _lesen()
    $Dest_2 = GUICtrlRead ($DirSelectInput_2, 1)
    _schreiben()
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_3
    _lesen()
    $Dest_3 = GUICtrlRead ($DirSelectInput_3, 1)
    _schreiben()
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_4
    _lesen()
    $Dest_4 = GUICtrlRead ($DirSelectInput_4, 1)
    _schreiben()
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_5
    _lesen()
    $Dest_5 = GUICtrlRead ($DirSelectInput_5, 1)
    _schreiben()
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************
    Case $msg = $FileCopy_6
    _lesen()
    $Dest_6 = GUICtrlRead ($DirSelectInput_6, 1)
    _schreiben()
    MsgBox (64, "Fertig", "Alle Daten wurden kopiert")
    ; ***************************************

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

    func _lesen()
    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)
    endfunc

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

    func _schreiben()
    FileCopy ($Source_1, $Dest_1)
    FileCopy ($Source_2, $Dest_1)
    FileCopy ($Source_3, $Dest_1)
    FileCopy ($Source_4, $Dest_1)
    FileCopy ($Source_5, $Dest_1)
    FileCopy ($Source_6, $Dest_1)
    endfunc

    [/autoit]
  • Mit einer Schleife die z.B. von 0 - 5 läuft kannst du das Ganze dann z.B. so umarbeiten:

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

    ;~ ohne Array

    $Source_1 = GUICtrlRead ($FileSelectInput_1, 1)
    $Source_2 = GUICtrlRead ($FileSelectInput_2, 1)
    $Source_3 = GUICtrlRead ($FileSelectInput_3, 1)
    $Source_4 = GUICtrlRead ($FileSelectInput_4, 1)
    $Source_5 = GUICtrlRead ($FileSelectInput_5, 1)
    $Source_6 = GUICtrlRead ($FileSelectInput_6, 1)

    ;~ mit Array und Schleife

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

    dim $Source[6]
    dim $FileSelectInput[6]

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

    For $i = 0 to 5
    $Source[$i] = GUICtrlRead ($FileSelectInput[$i], 1)
    Next

    [/autoit]
    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • mhh, ok, das versuch ich dann später mal.

    Ein größeres Problem is aber immer noch das mit dem Progress. Hab jetz mal die Suche nach FileGetSize und Progress durchsucht, aber ich finde i.wie nix passendes...

  • da du bei dir ja ohne Schleifen und Sprungmarken alles von oben nach unten durchgehst, kannst du ja nur zwischen den Schritten jeweils die Progressbar updaten viel mehr möglichkeiten hast du ja nicht - wenn du halt an einer stelle nichts kopierst, ist es auch egal, dann geht das Programm ja eh zum nächsten Schritt.

    Also bastel dir nach jedem Kopierschritt einfach eine Anzeige rein

    entspricht dann jedes mal ca 17%, 34%, 51%, 68%, 85%, 100%

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • Jo, hab ich mir gestern schonmal angeguckt. Leider sind da sehr viele Arrays und mir unbekannte funktionen drin.

    Gerade mit Arrays kenn ich mich noch nich aus.

    Ich bräuchte nur ein kleines Beispiel, wie ich das mit dem Progress hin gekommen würde, wie oben beschrieben...

    Aber es geht eigl. auch ohne. Laufen tut das Prog ja einwandfrei xD

    Ich will jetzt noch ne Oprtion dazu machen, das die Kopiervorgänge protokolliert.
    Danach vllt. ne Sprachauswahl.

    Und denne mal gucken ^^