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
    • 19. Dezember 2018 um 12:16

    Dann müsste es in meinem Script jetzt so aussehen.

    Was fehlt dürften noch die beiden Kopierbefehle an sich sein:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"],["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"]
    
    ; 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
     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]
    ;Hier muss jetzt der Kopierbefehl stehen mit der $SourceDest [3] [0] und der $dest
    ;Es fehlt noch die Zusammensetzung des Pfades
     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]
    ;Hier muss jetzt der Kopierbefehl stehen mit der $aSourceDest [3] [1] und der $source
    
     EndFunc
    Alles anzeigen
  • Kopiertool

    • kayes
    • 19. Dezember 2018 um 12:05

    nein, die Werte werden mir richtig angezeigt.

    Row 4 Sourcepath stimmt nicht, das muss Row 3 Destinationpath sein, also:

    Code
    Global $aSourceDest = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"]]
  • Kopiertool

    • kayes
    • 19. Dezember 2018 um 11:32

    Es kommt dabei eine Tabelle raus, in der alles Richtig dargestellt ist.

    Ok, ein Array generiert mir quasi eine Tabelle mit Variableninhalten.

    Wie picke ich mir jetzt einen Wert raus?

  • Kopiertool

    • kayes
    • 19. Dezember 2018 um 11:04

    Es kommt immer noch eine Fehlermeldung Musashi,

    Zitat

    ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

    Global $aSourceDest[4][2] = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"], ["F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"], ["F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"], ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"]]

    Global $aSourceDest[4][2] = [ ["F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"], ["F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"], ["F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"],["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"], [^ ERROR

    liegt es an der [4][2] ?

  • Kopiertool

    • kayes
    • 15. Dezember 2018 um 13:15

    Danke BugFix,

    aber so läuft es auch nicht durch.

    Code
       Global $aSourceDest[4][2] = [
        ["F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"],
        ["F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"],
        ["F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"],
        ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"],
        ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"]]  

    Darin steckt noch eine fehlerhafte Dimensonierung.

  • Kopiertool

    • kayes
    • 15. Dezember 2018 um 10:46

    So ist der momentane Stand.

    Ob es funktioniert wenn ich den richtigen Kopierbefehl habe ist wieder was anderes :)

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $varsource1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*"
    Global $varsource2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*"
    Global $varsource3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*"
    Global $serversource = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"
    Global $vardestin1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"
    Global $vardestin2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"
    Global $vardestin3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"
    Global $serverdestin = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"
    Global $rechner1
    Global $rechner2
    Global $rechner3
    Global $download
    Global $upload
    ; Beginn des Formulars
    $Form1_1 = GUICreate("Datenaustausch   von kayes 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
    $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
     Func copydown()
        ;Prüfung der Radios und setzen der entsprechende Zielvariablen
        If GUICtrlRead($Rechner1) = $GUI_CHECKED Then $dest=$vardestin1
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $dest=$vardestin2
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $dest=$vardestin3
            Return
    
    ;Hier muss jetzt der Kopierbefehl stehen mit der $serversource und der $dest
    ;Es fehlt noch die Zusammensetzung des Pfades
     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=$varsource1
        If GUICtrlRead($Rechner2) = $GUI_CHECKED Then $source=$varsource2
        If GUICtrlRead($Rechner3) = $GUI_CHECKED Then $source=$varsource3
        Return
    
    ;Hier muss jetzt der Kopierbefehl stehen mit der $serverdestin und der $source
    
     EndFunc
    Alles anzeigen
  • Kopiertool

    • kayes
    • 14. Dezember 2018 um 19:14

    Mal einen Schritt nach dem nächsten:

    Ich beschäftige mich also erst einmal mit If Then.

    Die Abfrage der Radios

    Code
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $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")

    Das gewählte Radio erhält den Wert 1, oder irre ich mich?

    Dann wäre:

    Code
       If GuiCtrlRead($Rechner1) = 1 Then $source = varsource1
       ElseIf GuiCtrlRead($Rechner1) = 1 Then $destin = $vardestin1
       ElseIf GuiCtrlRead($Rechner2) = 1 Then $source = $varsource2
       ElseIf GuiCtrlRead($Rechner2) = 1 Then $destin = $vardestin2
       ElseIf GuiCtrlRead($Rechner3) = 1 Then $source = $varsource3
       ElseIf GuiCtrlRead($Rechner3) = 1 Then $destin = $vardestin3
       EndIf

    Ziel ist es, einer lokalen Variablen den Wert der Globalen zu geben.

    Dies ist also der Auswahlteil. Wenn ich den komplett habe werde ich mich mit dem Kopierteil beschäftigen.

    Hier das ganze Script:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $varsource1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*"
    Global $varsource2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*"
    Global $varsource3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*"
    Global $varsource4 = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"
    Global $vardestin1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"
    Global $vardestin2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"
    Global $vardestin3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"
    Global $vardestin4 = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"
    Global $Rechner1
    Global $Rechner2
    Global $Rechner3
    Global $Projekt
    Global $Projekt2
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    Global $Projekt1 = GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    Global $Projekt2 = GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $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")
    $copy1 = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    $copy2 = GUICtrlCreateButton("=>", 256, 176, 28, 40)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    
    
    ; Erste If Then Abfrage
    
       If GuiCtrlRead($Rechner1) = 1 Then $source = varsource1
       ElseIf GuiCtrlRead($Rechner1) = 1 Then $destin = $vardestin1
       ElseIf GuiCtrlRead($Rechner2) = 1 Then $source = $varsource2
       ElseIf GuiCtrlRead($Rechner2) = 1 Then $destin = $vardestin2
       ElseIf GuiCtrlRead($Rechner3) = 1 Then $source = $varsource3
       ElseIf GuiCtrlRead($Rechner3) = 1 Then $destin = $vardestin3
       EndIf
    
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
    WEnd
    Alles anzeigen

    Und so soll die GUI aussehen:

    [Blockierte Grafik: https://picload.org/view/dccgaodo/kopiertool.jpg.html]

  • Kopiertool

    • kayes
    • 14. Dezember 2018 um 12:49

    Hmm, keiner Lust mir etwas unter die Arme zu greifen??

  • Kopiertool

    • kayes
    • 30. November 2018 um 18:39

    Hallo,

    ich habe jetzt schon einmal die GUI,fehlt noch das eigentliche kopieren.

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $varsource1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*"
    Global $varsource2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*"
    Global $varsource3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*"
    Global $varsource4 = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"
    Global $vardestin1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"
    Global $vardestin2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"
    Global $vardestin3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"
    Global $vardestin4 = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    GUICtrlCreateEdit("", 352, 88, 180, 40, $ES_WANTRETURN)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $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")
    $label = GUICtrlCreateLabel("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("=>", 256, 176, 28, 40)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
    WEnd
    Alles anzeigen
  • Kopiertool

    • kayes
    • 24. November 2018 um 16:04

    Hallo Freunde der Programmierkunst!

    Ich bin auf der Suche nach einem kleinen Kopiertool.

    Es soll folgendes können und so aussehen:

    So ist das Bild, wenn Computer 1 angehakt ist.

    Datenaustausch

    O Laptop 1 O Laptop 2 O Laptop 3

    (Icon DektopPC) (Icon Laptop)

    *Eingabe* Source 4 -> Dest 1

    Dest 4 <- Source 1 *Eingabe (entspricht Dest 1)*

    Jetzt das Bild, wenn Computer 2 angehakt ist:

    Datenaustausch

    O Laptop 1 O Laptop 2 O Laptop 3

    (Icon DektopPC) (Icon Laptop)

    Source 4 -> Dest 2

    Dest 4 <- Source 2 *(entspricht Dest 2)*

    und bei Computer 3:

    Datenaustausch

    O Laptop 1 O Laptop 2 O Laptop 3

    (Icon DektopPC) (Icon Laptop)

    Source 4 -> Dest 3

    Dest 4 <- Source 3 *(entspricht Dest 3)*

    [Blockierte Grafik: https://picload.org/view/dcowwrcr/unbenannt.jpg.html]

    Bei Beispiel 1:

    Aussendienstler 1 muss Dateien auf seinen Aussendienstrechner übertragen. Laptop 1 ist angehakt.

    Bei der Eingabe von z. Bsp. 17D005 soll ein kompletter Ordner Berechnungen aus dem Pfad F:\Dokumente\2017\17D005\ auf den Laptop 1 in \\Laptop1\Daten\17D005\ kopiert werden.

    Abends kommt der Aussendienstler rein und muss seine Daten zurück übertragen.

    Er schaut, ob Laptop 1 angehakt ist (eventl. farblich unterlegt?).

    Dann gibt er 17D005 in Source1 ein. Nun wird der Ordner Berechnungen von \\Laptop1\Daten\17D005\ nach F:\Dokumente\Aussendienst\2017\17D005\ kopiert.

    Das Programm ist auf 3 Aussendienstmitarbeiter und 3 Laptops ausgelegt.

    Wäre jemand bereit, dies für mich umzusetzen?

    Ich hatte vor1 1/2 Jahren schon einmal eine ähnliche Anfrage gestellt. Nun haben sich die Voraussetzungen etwas geändert.

    Vielen Dank schon einmal!

    EDIT BugFix: Ich habe mal etwas formatiert und Unmengen an Leerzeilen entfernt - sollte jetzt deutlicher lesbar sein.

    @TS - Bitte im Post mit Leerzeilen sparsam umgehen, mehr mit Formatierung (Style, Font, Liste etc. arbeiten), das verbessert die Lesbarkeit

  • Kopierhilfe

    • kayes
    • 10. August 2017 um 16:53

    GENIAL!

    DANKE!

  • Kopierhilfe

    • kayes
    • 10. August 2017 um 05:45
    Zitat von Zeitriss

    Hi,

    Enspricht folgendes deinen Vorstellungen?


    Ausgabe erstmal nur in der Konsole, wenn da alles Ok ist kannst du die Zeilen 58 bis 61 entkommentieren dann kopiert das Script.

    mfg
    Zeitriss

    Ja, das ist genau das was ich gesucht habe.

    Zwei klitzekleine Sachen hätte ich da noch:

    1. Könnte es eine farbliche Bestätigung geben das der Kopiervorgang abgeschlossen ist?
    Ich weiß, der Button wird mit "Arbeitet" beschriftet während des Vorgangs, aber wenn nicht viele Daten kopiert wurden kann es sein das man sich fragt "Hab ich jetzt gedrückt?"
    Wenn das Programm nach dem kopieren auf grün schaltet wäre das eine optische Bestätigung.

    2. Da der Startpfad auf einem anderen Rechner im Netzwerk liegt würde ein Hinweis wenn der Rechner nicht online ist noch gut sein.

    Wenn das aber nicht geht - auch ok!

    Schon mal ein riesen DANKESCHÖN von mir!

  • Kopierhilfe

    • kayes
    • 9. August 2017 um 15:23

    Nochmal zum Ablauf des Programms:

    Abbildung des Ordnerinhalts (Projekte) von Daten mit Checkboxen zum Anwählen.

    ( ) 2015D123
    ( ) 2017D002

    Auswahl des Ordners

    kopieren der Daten des Unterordners Berechnungen aus den angewählten Projekten in den Zielpfad

    ....\2015\15D123\Berechnungen

    Wenn ich das bisherige Script richtig verstehe stecken 2 Funktionen darin. Einmal die Darstellung und Auflistung des Ordnerinhalts und zum anderen der eigentliche Kopiervorgang.
    Da mehrere Ordner angewählt werden könnten muss der Kopiervorgang mehrere Male durchgeführt werden was durch eine Schleife erledigt wird.

    Noch jemand Vorschläge?

  • Kopierhilfe

    • kayes
    • 9. August 2017 um 15:06

    Es zeigt an:

    Row Col 0
    [0] 3
    [1] E:
    [2] Daten
    [3]

    Was ich aber brauche sind die Ordner-Strings, die in Daten liegen,

  • Kopierhilfe

    • kayes
    • 9. August 2017 um 14:15

    Was passiert durch

    Code
    $aSplit = StringSplit($sStartFolder, "\")


    wenn der $sStartFolder

    E:\Daten\

    ist?

  • Kopierhilfe

    • kayes
    • 9. August 2017 um 12:35

    ok, dann ist das falsch.

    Im Stamm gibt es mehrere Ordner

    2015D123
    2016D556
    2017D002

    Diese Ordner haben jeweils mehrere Unterordner, u. a. Berechnungen. Die Daten, die in diesem Unterordner liegen müssen kopiert werden in mehrere Zielverzeichnisse

    2015D123 muss in ....\2015\15D123\Berechnungen
    2016D556 muss in ....\2016\16D556\Berechnungen
    2017D002 muss in ....\2017\17D002\Berechnungen

    im String 2017D002 ist ja schon alles notwendige, der Jahrgang 2017 und der Projektname 17D002, enthalten.

  • Kopierhilfe

    • kayes
    • 9. August 2017 um 12:10

    Die Zeile 81

    Code
    $iTargetFolder = $iTargetFolder & "\" & @YEAR & "\" & StringTrimLeft($sProject, 2) & "\Berechnungen"

    sieht eigentlich genau richtig aus. Allerdings taucht bis zu dieser Zeile @YEAR nicht auf. Muss diese nicht vorher definiert werden?

  • Kopierhilfe

    • kayes
    • 9. August 2017 um 11:16

    Äh, hallo? Entschuldigen? Wofür? Dafür, das mir jemand kostenlos hilft? Ne.....

    Wie arbeitet die split Funktion?

    Code
    Local $sProject = $aSplit[$aSplit[0]]
  • Kopierhilfe

    • kayes
    • 8. August 2017 um 21:44

    kein passendes Startverzeichnis gewählt.

  • Kopierhilfe

    • kayes
    • 8. August 2017 um 21:01

    Jetzt ist der Projektname zu kurz.

    edit:
    der Backslash in Zeile 6 hinter Daten muss weg. Dann kopiert das Tool.

    Allerdings wird ein Verzeichnis "ten" angelegt. Also 2 Stellen von Daten abgezogen anstatt vom Jahrgang

    Die Daten, die in Berechnungen liege, werden nun hierher kopiert:

    F:\Dokumente\Aussendienst\ten\Berechnungen\2017D002\Dokument-Explorer\Berechnungen

    der richtige Pfad wäre

    F:\Dokumente\Aussendienst\2017\17D002\Berechungen
    für das 2017er Projekt und
    halt entsprechend für die anderen Jahrgänge...

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™