Kopiertool

  • Nur zur Sicherheit :

    Aus der Hilfe zur Funktion GUICtrlSetColor

    Bemerkungen :

    Checkbox, Radio, Group oder Progress-Controls können nicht gefärbt werden, wenn der "Windows XP style" verwendet wird.

    Hast Du zufällig einen solchen style aktiviert ?

    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."

  • Hast Du zufällig einen solchen style aktiviert ?

    Falls ja, kannst du ihn für ein Control z.B. so deaktivieren:

    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", "Explorer", "wstr", 0) ; _WinAPI_SetWindowTheme($hWnd, $sName = Default, $sList = Default)

  • Falls ja, kannst du ihn für ein Control z.B. so deaktivieren:

    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", "Explorer", "wstr", 0) ; _WinAPI_SetWindowTheme($hWnd, $sName = Default, $sList = Default)

    Das müsste dann direkt hinter jedem zu ändernden Control (hier also den 3 Radiobuttons) gesetzt werden, korrekt ?

    Ich meine, es gibt auch einen DllCall, der das skriptweit macht, bin momentan aber nicht sicher :

    DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)

    Das Flag 0 schaltet auf den klassischen Windowsstyle um.

    Das Flag 7 schaltet, meines Wissens, zurück auf den Standard-Windowsstyle.

    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."

  • 1. in der Konsole wird angezeigt .... auf grün gesetzt :thumbup:

    2. XP Style? sagt mir gar nichts. Wie schalte ich den ab?

    Edit: Hab das hinter die radios gesetzt: Jetzt läuft´s !

  • Das müsste dann direkt hinter jedem zu ändernden Control (hier also den 3 Radiobuttons) gesetzt werden, korrekt ?

    Nein, das kannst du jederzeit aktivieren oder auch wieder deaktivieren... musst dann eben nur das Handle des Controls angeben.

    Ich meine, es gibt auch einen DllCall, der das skriptweit macht

    Ja, gibt es... doch meistens will man das ja nur für einige Controls und nicht für die komplette Anwendung.

    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'dword', $iFlags) ; _WinAPI_SetThemeAppProperties ( $iFlags )

  • 1. in der Konsole wird angezeigt .... auf grün gesetzt :thumbup:

    OK, dann funktioniert es, wird aufgrund des styles nur nicht angezeigt.

    Versuche mal die neue Version aus dem Anhang !

    Bitnugger : Ok, danke für die Info ;)

    Gruß Musashi

  • Edit: Hab das hinter die radios gesetzt: Jetzt läuft´s !

    OK - also wie vermutet der Style !

    Mir ist noch etwas anderes aufgefallen, was Du ggf. einfügen solltest :

    Wenn man das Programm startet, werden die Editfelder ja mit dem Jahr (also 19) vorbesetzt und der Cursor steht im Feld $idEditProjektDown. Die 19 ist aber bereits markiert, d.h. man muss vor einer Eingabe mit der Maus in das Feld klicken (oder auf einen Radiobutton) - ansonsten wird der markierte Teil gelöscht ! Das ist störend und auch fehleranfällig.

    Um diese Markierung aufzuheben kann hinter :

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

    GUICtrlSetFont($idEditProjektDown, 18, 400, 0, "MS Sans Serif")

    folgende Zeile hinzugefügt werden :

    GUICtrlSetState($idEditProjektDown, $GUI_FOCUS)

    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."

  • Hallo,

    die letzten 2 Tage haben nun auch meine Kollegen das Tool getestet.

    Ein Kollege nutzte wie ich ein Tool das hier im Sommer 2017 entstanden ist.

    Er hat nun den Vorschlag gemacht, diese 2 Tools miteinander zu verbinden.

    Erstmal Bilder:

    das Tool, das in diesem Thread entstand:

    pasted-from-clipboard.png


    Tool aus dem anderen Thread: siehe unten


    Also:

    - Zeile mit dem Aussendienstordner entfernen.

    - Abfrage des Ordners (Inhalt Rechner 1, wenn Radio auf Rechner 1 steht usw..)

    - Funktionalität der Kopierbefehle aus dem alten Script sicherstellen.

    Hier der Code, erstellt von Zeitriss

    Kann jemand diese beiden Scripts zusammenfügen?

  • Aus Beitrag #1

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

    Aus Beitrag #91 :

    Es hätte vieles einfacher gemacht, wenn Du den bereits bestehenden Code von Zeitriss im Beitrag #1 deutlicher erwähnt hättest :whistling:.

    Mal sehen, ob ich dazu komme - aber nicht die nächsten Tage (da habe ich selbst genug zu tun).

    Ggf. kann Dir Zeitriss das auch schneller einbauen.

    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."

  • Zitat

    Es hätte vieles einfacher gemacht, wenn Du den bereits bestehenden Code von Zeitriss im Beitrag #1 deutlicher erwähnt hättest :whistling:.

    Naja, die Tools unterscheiden sich ja schon recht deutlich.

    Die Entwicklung beruht ja in erster Linie auf meinen Vorgaben. Über eine Vermischung hatte ich überhaupt nicht nachgedacht - erst der Kollege hat mich darauf gebracht.

    und ausserdem habe ich in den vergangenen Wochen ja auch ein bischen gelernt ;)

    Danke auf jeden Fall für deine Mühen.

  • ... und außerdem habe ich in den vergangenen Wochen ja auch ein bisschen gelernt ;)

    Das war im Grunde ja auch der Sinn der ganzen Übung :P.

    Die beiden Skripte zu verheiraten wäre m.M.n. aufwendiger, als ein Neues zu erstellen. Ich hatte vor kurzem ein vergleichbares Tool für einen anderen User gebaut, siehe :

    kleines Kopiertool für Fotos

    Um das zu testen, kannst Du zwei Verzeichnisse anlegen :

    Quellverzeichnis : C:\Test\PROJEKT 

    Zielverzeichnis : C:\Test\PROJEKT AUSWAHL

    Die Testdaten in beide Verzeichnisse kopieren !

    Dort werden die Dateien zwar verschoben (nicht kopiert), aber das ist nur eine einzeilige Änderung.

    Auch die festgelegten Dateitypen (.jpg .cr2) lassen sich schnell anpassen. Zudem wäre es sinnvoll, die schöne Kopierfunktion _FileCopyEx von Oscar einzubauen. Was noch fehlt ist die Auswahl der Rechner. Wie gesagt, mal sehen ob ich die nächsten Tage dazu komme.

    Gruß Musashi

  • Musashi

    Wollte das Script ausprobieren:

    "C:\Test\FileMoveV41.au3" (147) : ==> Subscript used on non-accessible variable.:

    For $i = 1 To $aFileListJPGDest[0]

    For $i = 1 To $aFileListJPGDest^ ERROR

  • Wollte das Script ausprobieren:


    "C:\Test\FileMoveV41.au3" (147) : ==> Subscript used on non-accessible variable.:

    For $i = 1 To $aFileListJPGDest[0]

    For $i = 1 To $aFileListJPGDest^ ERROR

    Es wurden wohl keine Dateien gefunden und deswegen wird auch kein Array erstellt (@error müsste 4 sein). Prüfe mit UBound ob das Array überhaupt eine Größe hat.

    Btw, das ist wieder ein klassisches Beispiel warum man nicht in [0] die Größe eines Arrays schreiben sollte.

  • Es wurden wohl keine Dateien gefunden

    Stimmt, ich habe nur auf Existenz des Verzeichnisses geprüft. Da ich immer Testdaten im Zielordner hatte ist mir das Fehlen der Dateiprüfung nicht aufgefallen :rolleyes:.

    Hier die Version mit Prüfung und der FileMove.ini .

    Btw, das ist wieder ein klassisches Beispiel warum man nicht in [0] die Größe eines Arrays schreiben sollte.

    Das ist nicht meine Idee sondern liegt an der Funktion _FileListToArray ;) :

    Rückgabewert

    Erfolg : Ein 1D Array. $aArray[0] = Anzahl von zurückgegebenen Dateien/Ordnern

    Habe die Testumgebung mal auf eine andere Partition verschoben (also nicht c) - und da funktioniert das Script.

    Bei mir taucht der Fehler der alten Version auch auf einer anderen Partition auf.

    Gruß Musashi

  • Zitat

    Dort werden die Dateien zwar verschoben (nicht kopiert), aber das ist nur eine einzeilige Änderung.

    Auch die festgelegten Dateitypen (.jpg .cr2) lassen sich schnell anpassen. Zudem wäre es sinnvoll, die schöne Kopierfunktion _FileCopyEx von Oscar einzubauen. Was noch fehlt ist die Auswahl der Rechner. Wie gesagt, mal sehen ob ich die nächsten Tage dazu komme.


    Gruß Musashi

    Hallo Musashi,

    bist du in der Zwischenzeit zu etwas gekommen?

    Gruß Kayes

  • bist du in der Zwischenzeit zu etwas gekommen?

    Klare Aussage : Nein !

    Ich arbeite momentan an einem größeren und recht nervigen Prioritätsprojekt. Das beansprucht nicht nur meine Zeit, sondern auch meine gute Laune :rolleyes:.

    Was ist denn mit der letzten Variante des Skriptes, das wir hier zusammen entwickelt haben ?

    Funktioniert die nicht, oder geht es vorrangig um ästhetische Aspekte des GUI-Designs ?

    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."