Entwickler-Ecke

Sonstiges (Delphi) - Dateiveränderung Überprüfen


fladimir - Do 28.04.05 16:10
Titel: Dateiveränderung Überprüfen
Hallo,

möchte ein Programm schreiben, dass im Hintergrund läuft und immer wenn eine bestimmte Datei auf der Festplatte geändert wird ein bestimmtes WORD Dokument öffnet.

Leider habe ich absolut keine Ahnung wie ich da ran gehen soll. Vorallem damit nicht zuviel rescourcen verbraucht werden.
Daher wäre ich für Tipps/eine Lösung dankbar.

Danke und Gruß
Matthias

PS: genauergesagt geht es darum, dass ein Dos-Programm eine Tabelle als txt ablegt, wenn ich mit dem Programm drucke.
Diese änderung der Datei = Drucken soll erkannt werden und darauf eine Worddatei geöffnet werden.
Das öffnen der Worddatei führt dann über ein Makro zur Ausgabe der Tabelle in individuell formatierter Weise.


Amiga-Fan - Do 28.04.05 16:34

evtl. Prüfung auf CRC-Wert des Dokuments


fladimir - Do 28.04.05 16:38

Hallo,

bin leider noch nicht so weit mit Delphi gekommen.
Habe vor Jahren mal mit pascal programmiert bin aber jetzt ein wenig raus.
Wäre daher toll, wenn es ein wenig ausführlicher wäre (wenn möglich sogar source)

Danke und Gruß
Matthias


Amiga-Fan - Do 28.04.05 16:42

nun du könntest dein Programm als Dienst erstellen, dann läuft es im Hintergrund. Und die Veränderungen an der Datei anhand der Änderung des CRC-Wertes herausfinden. Aber das weiß ich auch nicht adhoc. Den Code für die CRC-Prüfung hatte ich mir damals aus dem Netz abgeschaut... Und in Dienste proggen bin ich auch nicht firm...

edit: schau mal hier http://www.delphi-forum.de/viewtopic.php?t=1177&highlight=crc


fvolk - Do 28.04.05 20:06

Windows stellt einige Benachrichtigungsfunktionen zur Verfügung. Vielleicht ist Obtaining directory change notifications [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/obtaining_directory_change_notifications.asp] der richtige Startpunkt, um was für Dateien zu finden.


Karlson - Do 28.04.05 22:14

Warum leicht wenns auch kompliziert geht?

Ich habe zwar keine Ahnung welche Delphiversion du hast (warum auch ins Profil schreiben? Raten macht doch viel mehr Spass!), aber wenns >= D6 ist, kann man es nicht einfacher haben.

Suche in: Delphi-Forum, Delphi-Library SHELLCHANGENOTIFIER bzw. in der F1 Hilfe von Delphi bzw. Suche bei Google SHELLCHANGENOTIFIER.

(Unit ShellCtrls)


fladimir - Fr 29.04.05 21:11

Hallo,

danke, werde mal sehen, ob ich weiterkomme.
Meine version ist D6Pro.
Hilfe unter Delphi bringt nichts.
Habe Komponente nach ein wenig suchen gefunden. Sie liegt unter Samples (falls noch jemand suchen sollte).

Danke und Gruß
Matthias


BenBE - Fr 29.04.05 21:17

Folgenden Link habe ich auch bereits in http://www.delphi-forum.de/viewtopic.php?p=247158#247158 gepostet, da mit dem dort vorgestellten Topic beides möglich ist: http://www.swissdelphicenter.ch/de/forum/index.php?showtopic=9394&hl=


fladimir - Fr 29.04.05 21:29

Hallo,

komme leider nicht weiter, da ich unter Delphi und unter google nichts dazu finde.
(Wahrscheinlich bin ich nur mal wieder zu blöd).

Wie schaffe ich es damit genau eine Datei mit bekanntem Namen zu überwachen?

Danke und Gruß
Matthias

PS: Die letzen Links haben mir leider auch nicht weiter geholfen.


fvolk - Sa 30.04.05 12:58

Gibt es nicht Systemhooks, mit denen man Schreibprozesse auf Dateien überwachen können?


retnyg - Sa 30.04.05 13:06

user profile iconfvolk hat folgendes geschrieben:
Gibt es nicht Systemhooks, mit denen man Schreibprozesse auf Dateien überwachen können?

gibt es (z.b. CreateFileW der kernel32.dll hooken), ist aber nicht grade einfach