1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. kayes

Beiträge von kayes

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 20:38

    Vielen Dank @Musashi,

    die Anregungen sind eingefügt.

    Gibt es noch die Möglichkeit auf eine einfache Art und Weise anzeigen zu lassen, ob kopiert wurde oder nicht? Oder die Anzahl der kopierten Dateien?

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 18:12

    So: Funktioniert!

    Kompletter Code;

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <FileConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=REORG.ico
    #AutoIt3Wrapper_UseX64 = N
    #AutoIt3Wrapper_UseUpx = N ; interne UPX Komprimierung ausschalten
    #AutoIt3Wrapper_Res_SaveSource = N
    #AutoIt3Wrapper_Res_Description = Kopiertool
    #AutoIt3Wrapper_Res_Fileversion = 1.0.0.5
    #AutoIt3Wrapper_Res_LegalCopyright = 2018 by kayes
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; ==============================================================================
    ; Projekt       : Kopiertool
    ; bearbeitet am : 19.12.2018
    ; ==============================================================================
    ; Danksagungen  :
    ; Erstellt unter Mithilfe aus dem autoit.de-Forum von :
    ; @Musashi, @BugFix, @autoiter, @alpines, @Code-Jack  usw.
    ; ==============================================================================
    ; Changelog     :
    ; Setzen der Pfade für Quelle und Ziel
    ; 1. Versuch Kopierbefehl
    ; Variable $jjjj definiert und aus dem Kopierbefehl herausgenommen
    ; Wrapperanweisungen und Kommentarbereich hinzugefügt
    ; ==============================================================================
    ;  Variablendeklaration
    ;
    Global $download
    Global $upload
    Global $rechner1
    Global $rechner2
    Global $rechner3
    Global $source
    Global $dest
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\", "F:\TESTUMGEBUNG\RECHNER1\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER2\Daten\", "F:\TESTUMGEBUNG\RECHNER2\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER3\Daten\", "F:\TESTUMGEBUNG\RECHNER3\Daten\"], _
                            ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\"]]
    Local $jjjj
    ;==============================================================================
    ; Beginn des Formulars:
    ;
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    ;
    ; Eingabefeld für das Projekt was vom Server auf den Aussendienstrechner kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektdown
    Global $idEditProjektDown = GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektDown, "19")
    GUICtrlSetFont($idEditProjektDown, 18, 400, 0, "MS Sans Serif")
    
    ;
    ; Eingabefeld für das Projekt was vom Aussendienstrechner auf den Server kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektup
    Global $idEditProjektUp = GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektUp, "19")
    GUICtrlSetFont($idEditProjektUp, 18, 400, 0, "MS Sans Serif")
    
    ;
    ; Auswahl des Aussendienstrechners
    ;
    $rechner1 = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $rechner2 = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $rechner3 = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    ;
    ; Downloadbutton wird gesetzt
    ;
    $download = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ;
    ; Uploadbutton wird gesetzt
    ;
    $upload = GUICtrlCreateButton("=>", 256, 176, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;==============================================================================
    ;
    ; Auslösen der jeweiligen Funktion über die beiden Buttons Download und Upload
    ;
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $download
             copydown()
          Case $upload
             copyup()
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
     WEnd
    ;
     ; Erste Funktion Kopieren von Server auf Rechner $Projektdown
     ;
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest = $aSourceDest [0] [1]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest = $aSourceDest [1] [1]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest = $aSourceDest [2] [1]
         local $source = $aSourceDest [3] [0]
    
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    ;
    Global $jjjjdown = "20" & StringTrimRight(GUICtrlRead($idEditProjektDown), 4)
    Local $prodown = GUICtrlRead($idEditProjektDown)
    
    ConsoleWrite ('< $Projektdown = ' & $Projektdown & @CRLF)
    ConsoleWrite ($source & $jjjjdown & "\" & $prodown & "\Berechnungen" & @CRLF)
    ConsoleWrite ($dest & $jjjjdown & "\" & $prodown & "\" & @CRLF)
    
    
    DirCopy (($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE)
    Return
     EndFunc
    ;
    ; Zweite Funktion Kopieren von Rechner auf Server
    ;
      Func copyup()
         ;Prüfung der Radios und setzen der entsprechenden Quellvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $source = $aSourceDest [0] [0]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source = $aSourceDest [1] [0]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source = $aSourceDest [2] [0]
        local $dest = $aSourceDest [3] [1]
    
    ;Kopierbefehl mit der $aSourceDest [3] [1] und der $source
    ;
    Global $jjjjup = "20" & StringTrimRight(GUICtrlRead($idEditProjektUp), 4)
    Local $proup = GUICtrlRead($idEditProjektUp)
    
    ConsoleWrite ('< $Projektup = ' & $Projektup & @CRLF)
    ConsoleWrite ($source & $jjjjup & "\" & GUICtrlRead($idEditProjektUp) & "\Berechnungen" & @CRLF)
    ConsoleWrite ($dest & $jjjjup & "\" & GUICtrlRead($idEditProjektUp) & "\" & @CRLF)
    
    DirCopy (($source & $jjjjup & "\" & $proup & "\Berechnungen"), ($dest & $jjjjup & "\" & $proup & "\Berechnungen"), $FC_OVERWRITE)
    Return
    EndFunc
    Alles anzeigen
  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 18:01

    So,

    die Pfade werden richtig angezeigt und diesselben Pfadangaben habe ich für den Kopierbefehl benutzt.

    Aber er kopiert nicht.

    Code nur Kopierbefehl:

    Code
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    ;
    Global $jjjjdown = "20" & StringTrimRight(GUICtrlRead($idEditProjektDown), 4)
    Local $prodown = GUICtrlRead($idEditProjektDown)
    
    ConsoleWrite ('< $Projektdown = ' & $Projektdown & @CRLF)
    ConsoleWrite ($source & $jjjjdown & "\" & $prodown & "\Berechnungen" & @CRLF)
    ConsoleWrite ($dest & $jjjjdown & "\" & $prodown & "\" & @CRLF)
    
    
    DirCopy (($source & $jjjjdown & "\" & $prodown & "\Berechnungen\*"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen\"), $FC_OVERWRITE)
    Return
     EndFunc
    Alles anzeigen
  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 17:25

    Moment,

    hatte nicht aktualisiert und Antwort #63 nicht mitbekommen.

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 17:24

    Danke @Musashi ,

    hatte ich schon korrigiert.

    Ich hatte mir ein 2. Skript erstellt, das sich ausschließlich auf den Kopierbefehl konzentriert.

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 13:58

    So schaut es aus:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <FileConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=REORG.ico
    #AutoIt3Wrapper_UseX64 = N
    #AutoIt3Wrapper_UseUpx = N ; interne UPX Komprimierung ausschalten
    #AutoIt3Wrapper_Res_SaveSource = N
    #AutoIt3Wrapper_Res_Description = Kopiertool
    #AutoIt3Wrapper_Res_Fileversion = 1.0.0.5
    #AutoIt3Wrapper_Res_LegalCopyright = 2018 by kayes
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; ==============================================================================
    ; Projekt       : Kopiertool
    ; bearbeitet am : 19.12.2018
    ; ==============================================================================
    ; Danksagungen  :
    ; Erstellt unter Mithilfe aus dem autoit.de-Forum von :
    ; @Musashi, @BugFix, @autoiter, @alpines, @Code-Jack  usw.
    ; ==============================================================================
    ; Changelog     :
    ; Setzen der Pfade für Quelle und Ziel
    ; 1. Versuch Kopierbefehl
    ; Variable $jjjj definiert und aus dem Kopierbefehl herausgenommen
    ; Wrapperanweisungen und Kommentarbereich hinzugefügt
    ; ==============================================================================
    ;  Variablendeklaration
    ;
    Global $download
    Global $upload
    Global $rechner1
    Global $rechner2
    Global $rechner3
    Global $source
    Global $dest
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\", "F:\TESTUMGEBUNG\RECHNER1\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER2\Daten\", "F:\TESTUMGEBUNG\RECHNER2\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER3\Daten\", "F:\TESTUMGEBUNG\RECHNER3\Daten\"], _
                            ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\"]]
    Local $jjjj
    ;==============================================================================
    ; Beginn des Formulars:
    ;
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    ;
    ; Eingabefeld für das Projekt was vom Server auf den Aussendienstrechner kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektdown
    Global $idEditProjektDown = GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektDown, "19")
    GUICtrlSetFont($idEditProjektDown, 18, 400, 0, "MS Sans Serif")
    ;
    ; Eingabefeld für das Projekt was vom Aussendienstrechner auf den Server kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektup
    Global $idEditProjektUp = GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektUp, "19")
    GUICtrlSetFont($idEditProjektUp, 18, 400, 0, "MS Sans Serif")
    ;
    ; Auswahl des Aussendienstrechners
    ;
    $rechner1 = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $rechner2 = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $rechner3 = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    ;
    ; Downloadbutton wird gesetzt
    ;
    $download = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ;
    ; Uploadbutton wird gesetzt
    ;
    $upload = GUICtrlCreateButton("=>", 256, 176, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;==============================================================================
    ;
    ; Auslösen der jeweiligen Funktion über die beiden Buttons Download und Upload
    ;
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $download
             copydown()
          Case $upload
             copyup()
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
     WEnd
    ;
     ; Erste Funktion Kopieren von Server auf Rechner $Projektdown
     ;
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest = $aSourceDest [0] [1]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest = $aSourceDest [1] [1]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest = $aSourceDest [2] [1]
         local $source = $aSourceDest [3] [0]
    
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    ;
    Global $jjjjdown = "20" & StringTrimRight(GUICtrlRead($idEditProjektDown), 4)
    ConsoleWrite ('< $Projektdown = ' & $Projektdown & @CRLF)
    
    ConsoleWrite ($source & $jjjjdown & "\" & GUICtrlRead($idEditProjektDown) & "\Berechnungen" & @CRLF)
    
    ConsoleWrite ($dest & $jjjjdown & "\" & GUICtrlRead($idEditProjektDown) & "\" & @CRLF)
    
    
     ;  DirCopy ($source & $jjjj & "\" & $Projektdown & "\Berechnungen", $dest & $jjjj & "\" & $Projektdown & "\", $FC_CREATEPATH, $FC_OVERWRITE)
    Return
     EndFunc
    ;
    ; Zweite Funktion Kopieren von Rechner auf Server
    ;
      Func copyup()
         ;Prüfung der Radios und setzen der entsprechenden Quellvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $source = $aSourceDest [0] [0]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source = $aSourceDest [1] [0]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source = $aSourceDest [2] [0]
        local $dest = $aSourceDest [3] [1]
    
    ;Kopierbefehl mit der $aSourceDest [3] [1] und der $source
    ;
    Global $jjjjup = "20" & StringTrimRight(GUICtrlRead($idEditProjektUp), 4)
    ConsoleWrite ('< $Projektup = ' & $Projektup & @CRLF)
    
    ConsoleWrite ($source & $jjjjup & "\" & GUICtrlRead($idEditProjektUp) & "\Berechnungen" & @CRLF)
    
    ConsoleWrite ($dest & $jjjjup & "\" & GUICtrlRead($idEditProjektUp) & "\" & @CRLF)
    
    ; DirCopy ($source & $jjjj & "\" & $Projektup & "\Berechnungen", $dest & $jjjj & "\" & $Projektup & "\", $FC_CREATEPATH, $FC_OVERWRITE)
    Return
    EndFunc
    Alles anzeigen

    Die Pfade werden jetzt richtig herausgegeben.

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 12:45

    ???

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 12:20

    alpines

    Wenn ich den Backslash weg lasse, muss ich ihn aber immer mit "\" einfügen,

    bei mir folgt ja Variable auf Variable...

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 11:56
    Zitat von alpines

    Was ist für dich daran zu groß?

    na:

    Zitat

    ......Trailing-Backslashes........

    .....Konkatenierung mit neuen Pfaden......

    :?::/

  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 11:08
    Zitat von alpines

    Du solltest deine Pfade standardmäßig nicht mit einem Backslash enden lassen, die Pfade von den Makros haben auch keine Trailing-Backslashes.

    Wenn du das ganze einheitlich hältst kannst du bei der Konkatenierung mit neuen Pfaden immer eins dranhängen statt erstmal zu gucken ob da eins dran ist oder nicht.

    Ok

    Das ist ne Nummer zu groß gerade....

    Ich habe gerade herumexperimentiert und habe jetzt ein Ergebnis mit den richtigen Pfaden:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <FileConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=REORG.ico
    #AutoIt3Wrapper_UseX64 = N
    #AutoIt3Wrapper_UseUpx = N ; interne UPX Komprimierung ausschalten
    #AutoIt3Wrapper_Res_SaveSource = N
    #AutoIt3Wrapper_Res_Description = Kopiertool
    #AutoIt3Wrapper_Res_Fileversion = 1.0.0.5
    #AutoIt3Wrapper_Res_LegalCopyright = 2018 by kayes
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; ==============================================================================
    ; Projekt       : Kopiertool
    ; bearbeitet am : 19.12.2018
    ; ==============================================================================
    ; Danksagungen  :
    ; Erstellt unter Mithilfe aus dem autoit.de-Forum von :
    ; @Musashi, @BugFix, @autoiter, @alpines, @Code-Jack  usw.
    ; ==============================================================================
    ; Changelog     :
    ; Setzen der Pfade für Quelle und Ziel
    ; 1. Versuch Kopierbefehl
    ; Variable $jjjj definiert und aus dem Kopierbefehl herausgenommen
    ; Wrapperanweisungen und Kommentarbereich hinzugefügt
    ; ==============================================================================
    ;  Variablendeklaration
    ;
    Global $download
    Global $upload
    Global $rechner1
    Global $rechner2
    Global $rechner3
    Global $source
    Global $dest
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\", "F:\TESTUMGEBUNG\RECHNER1\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER2\Daten\", "F:\TESTUMGEBUNG\RECHNER2\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER3\Daten\", "F:\TESTUMGEBUNG\RECHNER3\Daten\"], _
                            ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\"]]
    Local $jjjj
    ;==============================================================================
    ; Beginn des Formulars:
    ;
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    ;
    ; Eingabefeld für das Projekt was vom Server auf den Aussendienstrechner kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektdown
    Global $idEditProjektDown = GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektDown, "19")
    GUICtrlSetFont($idEditProjektDown, 18, 400, 0, "MS Sans Serif")
    ;
    ; Eingabefeld für das Projekt was vom Aussendienstrechner auf den Server kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektup
    Global $idEditProjektUp = GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektUp, "19")
    GUICtrlSetFont($idEditProjektUp, 18, 400, 0, "MS Sans Serif")
    ;
    ; Auswahl des Aussendienstrechners
    ;
    $rechner1 = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $rechner2 = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $rechner3 = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    ;
    ; Downloadbutton wird gesetzt
    ;
    $download = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ;
    ; Uploadbutton wird gesetzt
    ;
    $upload = GUICtrlCreateButton("=>", 256, 176, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;==============================================================================
    ;
    ; Auslösen der jeweiligen Funktion über die beiden Buttons Download und Upload
    ;
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $download
             copydown()
          Case $upload
             copyup()
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
     WEnd
    ;
     ; Erste Funktion Kopieren von Server auf Rechner $Projektdown
     ;
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest = $aSourceDest [0] [1]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest = $aSourceDest [1] [1]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest = $aSourceDest [2] [1]
         local $source = $aSourceDest [3] [0]
    
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    ;
    Global $jjjjdown = "20" & StringTrimRight(GUICtrlRead($idEditProjektDown), 4)
    ConsoleWrite ('< $Projektdown = ' & $Projektdown & @CRLF)
    
    ConsoleWrite ($source & $jjjjdown & "\" & GUICtrlRead($idEditProjektDown) & "\Berechnungen" & @CRLF)
    
    ConsoleWrite ($dest & $jjjjdown & "\" & GUICtrlRead($idEditProjektDown) & "\" & @CRLF)
    
    
     ;  DirCopy ($source & $jjjj & "\" & $Projektdown & "\Berechnungen", $dest & $jjjj & "\" & $Projektdown & "\", $FC_CREATEPATH, $FC_OVERWRITE)
    Return
     EndFunc
    ;
    ; Zweite Funktion Kopieren von Rechner auf Server
    ;
      Func copyup()
         ;Prüfung der Radios und setzen der entsprechenden Quellvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $source = $aSourceDest [0] [0]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source = $aSourceDest [1] [0]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source = $aSourceDest [2] [0]
        local $dest = $aSourceDest [3] [1]
    
    ;Kopierbefehl mit der $aSourceDest [3] [1] und der $source
    ;
    Global $jjjjup = "20" & StringTrimRight(GUICtrlRead($idEditProjektUp), 4)
    ConsoleWrite ('< $Projektup = ' & $Projektup & @CRLF)
    
    ConsoleWrite ($source & $jjjjup & "\" & GUICtrlRead($idEditProjektUp) & "\Berechnungen" & @CRLF)
    
    ConsoleWrite ($dest & $jjjjup & "\" & GUICtrlRead($idEditProjektUp) & "\" & @CRLF)
    
    ; DirCopy ($source & $jjjj & "\" & $Projektup & "\Berechnungen", $dest & $jjjj & "\" & $Projektup & "\", $FC_CREATEPATH, $FC_OVERWRITE)
    Return
    EndFunc
    Alles anzeigen
  • Kopiertool

    • kayes
    • 22. Dezember 2018 um 10:52

    Moin!

    So, nach der gestrigen Weihnachtsfeier ist mal wieder etwas Hirnschmalz gefragt.

    Hier das aktuelle Skript:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <FileConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=REORG.ico
    #AutoIt3Wrapper_UseX64 = N
    #AutoIt3Wrapper_UseUpx = N ; interne UPX Komprimierung ausschalten
    #AutoIt3Wrapper_Res_SaveSource = N
    #AutoIt3Wrapper_Res_Description = Kopiertool
    #AutoIt3Wrapper_Res_Fileversion = 1.0.0.5
    #AutoIt3Wrapper_Res_LegalCopyright = 2018 by kayes
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; ==============================================================================
    ; Projekt       : Kopiertool
    ; bearbeitet am : 19.12.2018
    ; ==============================================================================
    ; Danksagungen  :
    ; Erstellt unter Mithilfe aus dem autoit.de-Forum von :
    ; @Musashi, @BugFix, @autoiter, @alpines, @Code-Jack  usw.
    ; ==============================================================================
    ; Changelog     :
    ; Setzen der Pfade für Quelle und Ziel
    ; 1. Versuch Kopierbefehl
    ; Variable $jjjj definiert und aus dem Kopierbefehl herausgenommen
    ; Wrapperanweisungen und Kommentarbereich hinzugefügt
    ; ==============================================================================
    ;  Variablendeklaration
    ;
    Global $download
    Global $upload
    Global $rechner1
    Global $rechner2
    Global $rechner3
    Global $source
    Global $dest
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\", "F:\TESTUMGEBUNG\RECHNER1\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER2\Daten\", "F:\TESTUMGEBUNG\RECHNER2\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER3\Daten\", "F:\TESTUMGEBUNG\RECHNER3\Daten\"], _
                            ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\"]]
    Local $jjjj
    ;==============================================================================
    ; Beginn des Formulars:
    ;
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    ;
    ; Eingabefeld für das Projekt was vom Server auf den Aussendienstrechner kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektdown
    Global $idEditProjektDown = GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektDown, "19")
    GUICtrlSetFont($idEditProjektDown, 18, 400, 0, "MS Sans Serif")
    ;
    ; Eingabefeld für das Projekt was vom Aussendienstrechner auf den Server kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektup
    Global $idEditProjektUp = GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektUp, "19")
    GUICtrlSetFont($idEditProjektUp, 18, 400, 0, "MS Sans Serif")
    ;
    ; Auswahl des Aussendienstrechners
    ;
    $rechner1 = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $rechner2 = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $rechner3 = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    ;
    ; Downloadbutton wird gesetzt
    ;
    $download = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ;
    ; Uploadbutton wird gesetzt
    ;
    $upload = GUICtrlCreateButton("=>", 256, 176, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;==============================================================================
    ;
    ; Auslösen der jeweiligen Funktion über die beiden Buttons Download und Upload
    ;
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $download
             copydown()
          Case $upload
             copyup()
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
     WEnd
    ;
     ; Erste Funktion Kopieren von Server auf Rechner $Projektdown
     ;
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest = $aSourceDest [0] [1]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest = $aSourceDest [1] [1]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest = $aSourceDest [2] [1]
         local $source = $aSourceDest [3] [0]
    
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    ;
    Local $jjjj = "20" & StringTrimRight(GUICtrlRead($idEditProjektDown), 4)
    ConsoleWrite ('< $Projektdown = ' & $Projektdown & @CRLF)
    
    ConsoleWrite ($source & $jjjj & "\" & $Projektdown & "\Berechnungen" & @CRLF)
    
    ConsoleWrite ($dest & $jjjj & "\" & $Projektdown & "\" & @CRLF)
    
    
    
     ;  DirCopy ($source & $jjjj & "\" & $Projektdown & "\Berechnungen", $dest & $jjjj & "\" & $Projektdown & "\", $FC_CREATEPATH, $FC_OVERWRITE)
    Return
     EndFunc
    ;
    ; Zweite Funktion Kopieren von Rechner auf Server
    ;
      Func copyup()
         ;Prüfung der Radios und setzen der entsprechenden Quellvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $source = $aSourceDest [0] [0]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source = $aSourceDest [1] [0]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source = $aSourceDest [2] [0]
        local $dest = $aSourceDest [3] [1]
    
    ;Kopierbefehl mit der $aSourceDest [3] [1] und der $source
    ;
    Local $jjjj = "20" & StringTrimRight(GUICtrlRead($idEditProjektUp), 4)
    ; DirCopy ($source & $jjjj & "\" & $Projektup & "\Berechnungen", $dest & $jjjj & "\" & $Projektup & "\", $FC_CREATEPATH, $FC_OVERWRITE)
    Return
    EndFunc
    Alles anzeigen

    Es schaut gut aus. Bei der Eingabe eines Projektes erscheint unten folgendes:

    < $Projektdown =

    F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\2018d001

    18\\Berechnungen

    F:\TESTUMGEBUNG\RECHNER2\Daten\2018d001

    18\\

    Ich muss also noch an der Pfadzusammensetzung feilen....

  • Kopiertool

    • kayes
    • 20. Dezember 2018 um 19:35

    Ich möchte es schon zu 100% verstehen.

    Für nur ein fertiges Skript sind wir schon zu weit :theke:

  • Kopiertool

    • kayes
    • 20. Dezember 2018 um 19:12

    Ja Musashi,

    habe ich so eingebaut und ja

    das Script ist in einer Schleife und gibt nicht den Wert in die entsprechende Variable.

  • Kopiertool

    • kayes
    • 20. Dezember 2018 um 18:28

    Hallo,

    das mit den FileConstants hatte ich schon herausgefunden.

    Jetzt stellt sich mir die Frage: Wie kann der Wert in die Variable geschrieben werden?

    Die Daten sollen auf jeden Fall überschrieben werden.

    Die Verzeichnisse auf dem Server sind nicht diesselben.

    So haben wir einen "Puffer" damit wir mit Aussendienst Daten nicht im Innendienst bearbeitete Daten überschreiben.

  • Kopiertool

    • kayes
    • 20. Dezember 2018 um 15:09
    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=REORG.ico
    #AutoIt3Wrapper_UseX64 = N
    #AutoIt3Wrapper_UseUpx = N ; interne UPX Komprimierung ausschalten
    #AutoIt3Wrapper_Res_SaveSource = N
    #AutoIt3Wrapper_Res_Description = Kopiertool
    #AutoIt3Wrapper_Res_Fileversion = 1.0.0.5
    #AutoIt3Wrapper_Res_LegalCopyright = 2018 by kayes
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; ==============================================================================
    ; Projekt       : Kopiertool
    ; bearbeitet am : 19.12.2018
    ; ==============================================================================
    ; Danksagungen  :
    ; Erstellt unter Mithilfe aus dem autoit.de-Forum von :
    ; @Musashi, @BugFix, @alpines, @Code-Jack  usw.
    ; ==============================================================================
    ; Changelog     :
    ; Setzen der Pfade für Quelle und Ziel
    ; 1. Versuch Kopierbefehl
    ; Variable $jjjj definiert und aus dem Kopierbefehl herausgenommen
    ; Wrapperanweisungen und Kommentarbereich hinzugefügt
    ; ==============================================================================
    ;  Variablendeklaration
    ;
    Global $download
    Global $upload
    Global $rechner1
    Global $rechner2
    Global $rechner3
    Global $source
    Global $dest
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\", "F:\TESTUMGEBUNG\RECHNER1\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER2\Daten\", "F:\TESTUMGEBUNG\RECHNER2\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER3\Daten\", "F:\TESTUMGEBUNG\RECHNER3\Daten\"], _
                            ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\"]]
    Local $jjjj
    ;==============================================================================
    ; Beginn des Formulars:
    ;
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    ;
    ; Eingabefeld für das Projekt was vom Server auf den Aussendienstrechner kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektdown
    Global $idEditProjektDown = GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektDown, "19")
    GUICtrlSetFont($idEditProjektDown, 18, 400, 0, "MS Sans Serif")
    ;
    ; Eingabefeld für das Projekt was vom Aussendienstrechner auf den Server kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    ;
    Global $Projektup
    Global $idEditProjektUp = GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData($idEditProjektUp, "19")
    GUICtrlSetFont($idEditProjektUp, 18, 400, 0, "MS Sans Serif")
    ;
    ; Auswahl des Aussendienstrechners
    ;
    $rechner1 = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $rechner2 = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $rechner3 = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    ;
    ; Downloadbutton wird gesetzt
    ;
    $down1oad = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ;
    ; Uploadbutton wird gesetzt
    ;
    $upload = GUICtrlCreateButton("=>", 256, 176, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;==============================================================================
    ;
    ; Auslösen der jeweiligen Funktion über die beiden Buttons Download und Upload
    ;
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $download
             copydown()
          Case $upload
             copyup()
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
     WEnd
    ;
     ; Erste Funktion Kopieren von Server auf Rechner $Projektdown
     ;
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest = $aSourceDest [0] [1]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest = $aSourceDest [1] [1]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest = $aSourceDest [2] [1]
         local $source = $aSourceDest [3] [0]
    
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    ;
    Local $jjjj = "20" & StringTrimRight(GUICtrlRead($idEditProjektDown), 4)
       DirCopy ( $source & $jjjj & "\" & $Projektdown & "\Berechnungen") , $dest & $jjjj & "\" & $Projektdown & "\")  [$FC_CREATEPATH ,$FC_OVERWRITE]
      Return
     EndFunc
    ;
    ; Zweite Funktion Kopieren von Rechner auf Server
    ;
      Func copyup()
         ;Prüfung der Radios und setzen der entsprechenden Quellvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $source = $aSourceDest [0] [0]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source = $aSourceDest [1] [0]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source = $aSourceDest [2] [0]
        local $dest = $aSourceDest [3] [1]
    ;
    ;Kopierbefehl mit der $aSourceDest [3] [1] und der $source
    ;
    Local $jjjj = "20" & StringTrimRight(GUICtrlRead($idEditProjektUp), 4)
    DirCopy ( $source & $jjjj & "\" & $Projektup & "\Berechnungen") , $dest & $jjjj & "\" & $Projektup & "\")  $FC_CREATEPATH ,$FC_OVERWRITE]
       Return
    EndFunc
    Alles anzeigen

    So, habe jetzt den Code aus Beitrag #27 übernommen, aber jetzt kommt der Fehler bei dem Kopierbefehl (Incorrect number of parameters in function call)

  • Kopiertool

    • kayes
    • 20. Dezember 2018 um 12:48
    Code
    2.
    
    Es ist sehr sinnvoll, GUI-Elemente mit einer ControlID zu versehen. So ist z.B. :
    
    GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    
    Global $Projektdown = GUICtrlSetData(-1, "19")
    
    falsch, da Du $Projektdown mit dem Rückgabewert von GUICtrlSetData besetzt, hier also mit 1 (da erfolgreich). Zudem bezieht sich -1 in GUICtrlSetData(-1, "19") immer auf das zuletzt erzeugte Control.

    Das heißt also, das in einem Formulareingabefeld etwas eingetragen wird und der Wert der Variable ist dann 1 oder -1? Also, wird nur gecheckt, ob etwas eingetragen wird und nicht was wird an die Variable übergeben?

    Kann ich die Parameter nicht so setzen das der String aus dem Eingabefeld übernommen wird?

  • Kopiertool

    • kayes
    • 19. Dezember 2018 um 20:31

    nächste Version:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=REORG.ico
    #AutoIt3Wrapper_UseX64 = N
    #AutoIt3Wrapper_UseUpx = N ; interne UPX Komprimierung ausschalten
    #AutoIt3Wrapper_Res_SaveSource = N
    #AutoIt3Wrapper_Res_Description = Kopiertool
    #AutoIt3Wrapper_Res_Fileversion = 1.0.0.5
    #AutoIt3Wrapper_Res_LegalCopyright = 2018 by kayes
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; ==============================================================================
    ; Projekt       : Kopiertool
    ; bearbeitet am : 19.12.2018
    ; ==============================================================================
    ; Danksagungen  :
    ; Erstellt unter Mithilfe aus dem autoit.de-Forum von :
    ; @Musashi, @BugFix, @alpines, @Code-Jack  usw.
    ; ==============================================================================
    ; Changelog     :
    ; Setzen der Pfade für Quelle und Ziel
    ; 1. Versuch Kopierbefehl
    ; Variable $jjjj definiert und aus dem Kopierbefehl herausgenommen
    ; Wrapperanweisungen und Kommentarbereich hinzugefügt
    ; ==============================================================================
    Global $download
    Global $upload
    Global $source
    Global $dest
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\", "F:\TESTUMGEBUNG\RECHNER1\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER2\Daten\", "F:\TESTUMGEBUNG\RECHNER2\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER3\Daten\", "F:\TESTUMGEBUNG\RECHNER3\Daten\"], _
                            ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\"]]
    ; Beginn des Formulars:
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    ; Eingabefeld für das Projekt was vom Server auf den Aussendienstrechner kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    Global $Projektdown = GUICtrlSetData(-1, "19")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    ; Eingabefeld für das Projekt was vom Aussendienstrechner auf den Server kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    Global $Projektup = GUICtrlSetData(-1, "19")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    ; Auswahl des Aussendienstrechners
    Global $rechner1 = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    Global $rechner2 = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    Global $rechner3 = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    ; Downloadbutton wird gesetzt
    $down1oad = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ; Uploadbutton wird gesetzt
    $upload = GUICtrlCreateButton("=>", 256, 176, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    ; Auslösen der jeweiligen Funktion über die beiden Buttons Download und Upload
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $download
             copydown()
          Case $upload
             copyup()
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
     WEnd
    
     ; Erste Funktion Kopieren von Server auf Rechner $Projektdown
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest = $aSourceDest [0] [1]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest = $aSourceDest [1] [1]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest = $aSourceDest [2] [1]
            Return
          $source = $aSourceDest [3] [0]
    
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    Local $jjjj = "20" & StringTrimRight($Projektdown, 4)
       DirCopy ( $source & $jjjj & "\" & $Projektdown & "\Berechnungen") , $dest & $jjjj & "\" & $Projektdown & "\")  [$FC_CREATEPATH ,$FC_OVERWRITE]
    
     EndFunc
    
    ; Zweite Funktion Kopieren von Rechner auf Server
      Func copyup()
         ;Prüfung der Radios und setzen der entsprechenden Quellvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $source = $aSourceDest [0] [0]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source = $aSourceDest [1] [0]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source = $aSourceDest [2] [0]
        Return
          $dest = $aSourceDest [3] [1]
    
    ;Kopierbefehl mit der $aSourceDest [3] [1] und der $source
    Local $jjjj = "20" & StringTrimRight($Projektdown, 4)
    DirCopy ( $source & $jjjj & "\" & $Projektup & "\Berechnungen") , $dest & $jjjj & "\" & $Projektup & "\")  $FC_CREATEPATH ,$FC_OVERWRITE]
    
    EndFunc
    Alles anzeigen

    Ich habe den Kopierbefehl in einer anderen Datei "getestet":

    Code
    #include <FileConstants.au3>
    Global $projekt ="16D001"
    Global $jjjj = "20" & StringTrimRight($projekt, 4)
    DirCopy("F:\TESTUMGEBUNG\SERVER\DATEN\" & $jjjj & "\" & $projekt & "\", "F:\TESTUMGEBUNG\RECHNER2\DATEN\" & $jjjj &"\" & $projekt & "\", $FC_OVERWRITE)
  • Kopiertool

    • kayes
    • 19. Dezember 2018 um 18:38
    Zitat von Musashi

    Es gehört immer zum guten Ton Helfer zu nennen :thumbup: , es muss aber nicht unbedingt im Fenstertitel der Anwendung geschehen :P .


    Außerdem bin ich nicht der einzige der bisher etwas beigetragen hat, und es werden ggf. noch andere hinzukommen. Du könntest z.B vor das Skript Wrapperanweisungen und einen Kommentarbereich setzen (inkl. Danksagungen) :

    Ich weiss, in einer vorherigen Antwort ( das Kopiertool für Fotos) hatte ich das im Code schon gesehen und ich werde das jetzt auch so hier machen.


    Zitat von Musashi

    Ist das momentane Skript 'A: ein Prototyp zum Herumtesten' oder 'B: bereits die Basis für das fertige Tool ' ? Falls B: , dann hätte ich einige Vorschläge, die man bereits jetzt einbauen könnte/sollte.

    Ganz klar B.

    Ich hatte das ja hier herein gepostet, in der Hoffnung, das mir jemand den Code fertig schreibt.

    So ist aber auch nicht schlimm, da lerne ich auch noch was dabei. Immerhin weiß ich jetzt ungefähr Arrays zu handhaben.

    Ich bin immer offen für Ideen. Bisher habe ich mir immer gedacht schaue wie weit du kommst und denkst es ist richtig, poste es und warte auf Reaktionen.

    Was hättest du denn für Vorschläge?

  • Kopiertool

    • kayes
    • 19. Dezember 2018 um 15:22

    So, weiter geht es:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $download
    Global $upload
    Global $source
    Global $dest
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\", "F:\TESTUMGEBUNG\RECHNER1\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER2\Daten\", "F:\TESTUMGEBUNG\RECHNER2\Daten\"], _
                            ["F:\TESTUMGEBUNG\RECHNER3\Daten\", "F:\TESTUMGEBUNG\RECHNER3\Daten\"], _
                            ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\"]]
    ; Beginn des Formulars:
    $Form1_1 = GUICreate("Datenaustausch   von kayes & Musashi erstellt im Dezember 2018", 592, 284, 197, 145)
    ; Eingabefeld für das Projekt was vom Server auf den Aussendienstrechner kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    Global $Projektdown = GUICtrlSetData(-1, "19")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    ; Eingabefeld für das Projekt was vom Aussendienstrechner auf den Server kopiert wird
    ; vorgegeben wird der Jahrgang 19, danach muss ergänzt werden auf z. B. 19D002 oder 19M003
    GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    Global $Projektup = GUICtrlSetData(-1, "19")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    ; Auswahl des Aussendienstrechners
    Global $rechner1 = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    Global $rechner2 = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    Global $rechner3 = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    ; Downloadbutton wird gesetzt
    $down1oad = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ; Uploadbutton wird gesetzt
    $upload = GUICtrlCreateButton("=>", 256, 176, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    ; Auslösen der jeweiligen Funktion über die beiden Buttons Download und Upload
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
        Case $download
             copydown()
          Case $upload
             copyup()
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
     WEnd
    
     ; Erste Funktion Kopieren von Server auf Rechner $Projektdown
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest = $aSourceDest [0] [1]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest = $aSourceDest [1] [1]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest = $aSourceDest [2] [1]
            Return
          $source = $aSourceDest [3] [0]
    ;Kopierbefehl mit der $SourceDest [3] [0] und der $dest
    
       DirCopy ( $source & ($jjjj = "20" & StringTrimRight($Projektdown, 4) & "\" & $Projektdown & "\Berechnungen") , $dest & ($jjjj = "20" & StringTrimRight($Projektdown, 4) & "\" & $Projektdown & "\")  [$FC_CREATEPATH ,$FC_OVERWRITE]
    
     EndFunc
    
    ; Zweite Funktion Kopieren von Rechner auf Server
      Func copyup()
         ;Prüfung der Radios und setzen der entsprechenden Quellvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $source = $aSourceDest [0] [0]
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source = $aSourceDest [1] [0]
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source = $aSourceDest [2] [0]
        Return
          $dest = $aSourceDest [3] [1]
    ;Kopierbefehl mit der $aSourceDest [3] [1] und der $source
    DirCopy ( $source & ($jjjj = "20" & StringTrimRight($Projektup, 4) & "\" & $Projektup & "\Berechnungen") , $dest & ($jjjj = "20" & StringTrimRight($Projektup, 4) & "\" & $Projektup & "\")  $FC_CREATEPATH ,$FC_OVERWRITE]
     EndFunc
    Alles anzeigen

    Es startet, zeigt aber glaube ich, eine Fehlermeldung an: /ErrorStdOut......

    :/

  • Kopiertool

    • kayes
    • 19. Dezember 2018 um 13:01
    Zitat

    Nein !

    Du hast wieder Fehler bei der Klammersetzung in der Zuweisung, und damit 5 Elemente :

    Ja, du hast Recht, beim kopieren ist die letzte eckige Klammer nicht mitgekommen. Davor hatte ich beim kopieren deines Codes Probleme und es kam zu Fehlermeldungen.

    Jetzt funktioniert es aber soweit mit deinem Code was das Array betrifft.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™