• So schaut es aus:

    Die Pfade werden jetzt richtig herausgegeben.

  • Hi kayes !

    ... , $FC_OVERWRITE, $FC_CREATEPATH)

    ist falsch. DirCopy läßt nur EINEN flag-Parameter[optional] zu !

    $FC_CREATEPATH kannst Du übrigens weglassen - wird bei DirCopy eh nicht unterstützt.

    Falls das Zielverzeichnis nicht existiert, dann legt DirCopy es von sich aus an (wenn möglich) !

    Korrekt ist daher :

    ... , $FC_OVERWRITE)

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Die Pfade werden jetzt richtig herausgegeben.

    Ja, aber nur in den ConsoleWrites , nicht bei DirCopy !

    Die ConsoleWrites kannst Du ruhig stehen lassen. Allerdings sollte dann aber auch statt :

    ConsoleWrite ('< $Projektdown = ' & $Projektdown & @CRLF)

    ConsoleWrite ('< $Projektdown = ' & GUICtrlRead($idEditProjektDown) & @CRLF)

    geschrieben werden ( bei Func copyup() analog)

    WICHTIG ::!:

    In den Pfadangaben zu DirCopy steht immer noch ... "\" & $Projektdown & ...

    Da muss die Syntax wie in den ConsoleWrites stehen, also :

    ..."\" & GUICtrlRead($idEditProjektdown) & ...

    sonst erhältst Du wieder \\ ( bei Func copyup() analog)

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • So,

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

    Aber er kopiert nicht.

    Code nur Kopierbefehl:

  • So: Funktioniert!

    Kompletter Code;

    Einmal editiert, zuletzt von kayes (22. Dezember 2018 um 18:23)

  • selber gemerkt, dieser funktioniert:

    Prima !

    Der * bei \* war's !

    Da ich eh gerade am Schreiben bin, hier 2 Punkte, die aber eher das Design betreffen (keine Syntaxfehler) :

    1.

    Ein Paradekandidat für Tippfehler ist die Auswertung von :

    Global $jjjjdown = "20" & StringTrimRight(GUICtrlRead($idEditProjektDown), 4)

    Damit wird dann ja das Jahr vervollständigt -> 2019,

    Du gehst davon aus, dass der Nutzer immer korrekt 6-stellige Eingaben macht, also z.B. 19D001.

    Das wird in der Praxis nicht funktionieren - z.B. da auch andere Leute mit dem Tool arbeiten !

    Schreibt ein Nutzer aus Versehen 19D0001 statt 19D001, dann wird daraus :

    ...\2019D\19D0001\Berechnungen

    (und das wird passieren ;))

    Hier sollte eine Prüfung 'rein. EDIT kayes :

    Local $jjjjdown = "20" & StringLeft(GUICtrlRead($idEditProjektDown), 2)

    wäre auf die Schnelle schon mal etwas besser (analog bei Up).

    Zudem deklariert man innerhalb von Funktionen keine Globals, schreibe also Local.:!:

    2.

    Du besetzt das EditFeld mit GUICtrlSetData($idEditProjektDown, "19") vor, um es später als Teil des Jahres, also 2019 zu verwenden (analog auch bei Up).

    Schreibe statt :

    GUICtrlSetData($idEditProjektDown, "19")

    besser :

    GUICtrlSetData($idEditProjektDown, StringRight(@YEAR, 2))

    --> dann musst Du das Skript nicht jedes Jahr anpassen - zumindest nicht zu unseren Lebzeiten :P

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    3 Mal editiert, zuletzt von Musashi (22. Dezember 2018 um 22:57) aus folgendem Grund: Heute ist wohl mein Tippfehlertag

  • 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?

  • ob kopiert wurde

    Das ist einfach ! DirCopy gibt Dir einen Wert zurück :

    1 = Erfolg , 0 = Fehlgeschlagen (so etwas findet man auch in der Hilfe ;) )

    Anmerkung : Fehlgeschlagen kommt auch, wenn das Verzeichnis bereits existiert und Du ohne Overwrite kopierst !

    Den Rückgabewert kannst Du z.B. so abfragen (in copydown einbauen) :

    Code
    Local $CopySuccess
    $CopySuccess = DirCopy (($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE)
    ConsoleWrite('< DirCopy = ' & $CopySuccess  & @CRLF)
    If Not $CopySuccess Then
        MsgBox(16, "Ergebnis von DirCopy : ", "Die Kopieraktion ist fehlgeschlagen ! ")
    EndIf

    (bei copyup analog)

    Wieviele, und welche Dateien kopiert wurden, sagt DirCopy allerdings nicht.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    Einmal editiert, zuletzt von Musashi (22. Dezember 2018 um 22:47) aus folgendem Grund: Beispiel erweitert

  • Hallo kayes

    Alternativ könnte man auch mit FileCopy zu arbeiten. dann könnte man anzeigen, an welchem File es vllt. hängt. Hier mal rudimentär umgesetzt:

    Spoiler anzeigen

    Für am besten geeignet, hielte ich, aber die UDF _FileCopyEx, um anzuzeigen, wo man steht usw.

    Wenigstens solange man diese Infos nicht lieber selber bauen möchte.

    Grüße autoiter

  • Hallo Leute,

    ich habe das Tool jetzt mal ein paar Tage im richtigen Umfeld genutzt und es gibt 2 Punkte, die ich noch verbessern möchte.

    1. eine farbliche Kennzeichnung, welche Außendienstrechner gerade aktuell ist.

    2. eine Rückmeldung nach dem Kopiervorgang. Wenn eine Anzahl der kopierten Files (oder wie in einer bat die Auflistung der kopierten Dateien) einfach umzusetzen ist, gerne. Ansonsten reicht eigentlich auch ein einfaches "Kopiervorgang abgeschlossen".

  • ich habe das Tool jetzt mal ein paar Tage im richtigen Umfeld genutzt und es gibt 2 Punkte, die ich noch verbessern möchte.

    Könntest Du Dein aktuelles Skript zur Sicherheit bitte mal posten !

    Es gab ja einige Verbesserungsvorschläge - da wäre es hilfreich zu sehen, was Du davon umgesetzt hast, und wie ;).

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • So schaut es gerade aus:

  • 1. eine farbliche Kennzeichnung, welche Außendienstrechner gerade aktuell ist.


    2. eine Rückmeldung nach dem Kopiervorgang. Wenn eine Anzahl der kopierten Files (oder wie in einer bat die Auflistung der kopierten Dateien) einfach umzusetzen ist, gerne. Ansonsten reicht eigentlich auch ein einfaches "Kopiervorgang abgeschlossen".

    Hier Deine Version erweitert um :

    - der jeweils aktive Außendienstrechner (Radiobutton) wird farblich gekennzeichnet - ich hoffe, so meinst Du das :/.

    Die Farben kannst Du in der neuen Funktion _SetRechnerColor() am Ende des Skriptes anpassen. Die GUI_CHECKED Prüfungen sind so, wie Du sie bereits im Skript verwendest und kennst.

    - eine einfache MsgBox, wenn DirCopy erfolgreich war

    (falls Du mehr möchtest, muss der Bereich umgestellt werden).

    EDIT :

    Schaue Dir, wie autoiter bereits vorgeschlagen hat, mal die UDF Filecopyex von Oscar an. Die ist wirklich super und wäre auch leicht einzubauen (quasi als Ersatz für DirCopy).

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    Einmal editiert, zuletzt von Musashi (9. Januar 2019 um 10:25)

  • die Rückmeldung funktioniert, aber mit den Farben läuft noch etwas schief.

    Was 'läuft denn schief' :Glaskugel:

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • die Schrift ist und bleibt schwarz.

    Bei mir sieht es wie folgt aus :

    Kayesradio1.png

    Der jeweils aktive Rechner (Radiobutton) wird (hier) Grün markiert ! Ist es nicht das was Du wolltest ?

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."