Einzelnen Beitrag anzeigen

Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Dateidatum, Dateien vergleichen und Kopieren

  Alt 13. Feb 2019, 11:27
.. bleibt dann nur die Frage welche Datei dann aktueller ist.
Nur am Hash wird man dies nicht erkennen können.
Du kannst mit der Windows API feststellen wenn sich eine Datei ändert: SHChangeNotifyEntry, SHChangeNotifyRegister.

Es gibt auch Delphi Implementationen z. B. TJvChangeNotify aus der JVCL (Download). Aus die schnelle habe ich noch die Unit DirWatch von Angus Johnson gefunden.

Natürlich kannst du das auch selbst schreiben. z. B. einen Thread erstellen der (ggf. in bestimmten Intervallen) den Hash einer oder mehrerer Dateien erstellt. Hat sich der Hash seit dem letzten Durchlauf geändert weißt du das die Datei geändert wurde. Dann musst du nur noch via Synchronize (wichtig!) ein Event aufrufen und schon kann dein Programm darauf reagieren und die Datei kopieren. Aber Achtung: Wenn der Thread während dem kopieren weiter läuft, wird er natürlich die kopierte Datei ebenfalls als geändert betrachten. Evtl. den Thread einfach mitteilen das die Datei zwar geändert wurde, der Thread aber diese "Änderung" bis zur "richtigen Änderung" ignorieren soll. Aber es gibt bestimmt auch noch andere Wege. Gut am Thread ist das dein Programm nicht einfriert und weiter benutzt werden kann.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat