![]() |
"Datei aktualisiert" -> Abfragen
Hallo alle zusammen,
ich möchte ein ganz einfaches Programm schreiben was überprüft ob eine Datei aktualisiert wurde und darauf eine Sounddatei als Hinweiston abspielt. Hört sich einfach an, doch ich weiß nicht wie ich nun eine "Textformatierte" Datei abfragen kann ob sie schon modifiziert wurde. Kennt sich da wer mit aus? |
Re: "Datei aktualisiert" -> Abfragen
Bilde regelmäßig einen (MD5-)Hash und wenn der sich geändert hat, hat sich auch der Inhalt der Datei geändert. Alternativ könnte man auch das Änderungsdatum der Datei benutzen. Oder man überwacht das Verzeichnis mit einer API-Funktion, deren Name mir jetzt nicht einfallen will.
|
Re: "Datei aktualisiert" -> Abfragen
Naja der Inhalt der Datei wird meist gleich (statisch) bleiben, was mich interessiert ist eben das Änderungsdateum. Das er daran erkennt das die Datei gerade eben wieder gespeichert wurde.
Somit will ich wissen wie man in Delphi so eine Abfrage durchführen könnte die jede 1-2 Sekunden (timer1 schätze ich mal) die function zur Abfrage wiederholt. Nur ich habe damals in der Schule einen Grundkurs mit Delphi gehabt, dort wurde uns beigebracht wie man Rechenprogramme und sowas schreibt, oder auch Daten speichert und ausliest. Doch nicht wie man solche MD5 Hashes überprüft oder noch schlimmer, nachschaut ob sich das Änderungsdatum einer Datei geändert hat. Auch weiß ich nicht wie ich bei der Suche nach gewünschten Funktionen bei Delphi verfahren muss, damit ich nicht immer hier nachfrage. |
Re: "Datei aktualisiert" -> Abfragen
Liste der Anhänge anzeigen (Anzahl: 1)
Es gibt die Möglichkeit, sich von Windows benachrichtigen zu lassen, wenn sich eine datei verändert hat.
Dazu gibt es etliche Delphi-Komponenten. Such mal nach DirMonitor hier im Forum... /edit: ich hab noch einen DirMonitor bei mir auf der Platte gefunden. Hänge diesen mal hier an. |
Re: "Datei aktualisiert" -> Abfragen
oder wenn Du es selber machen willst, in den SysUtils gibt es die Routine FileAge oder auch FileGetDate.
Die könntest Du für Dein Anliegen benutzen. Zu MD5 Hashes gibt es im Web (md5.pas) oder auch hier in der DP Routinen. Grüße Klaus |
Re: "Datei aktualisiert" -> Abfragen
Zitat:
Delphi-Quellcode:
var
dateialter : integer; ... if SysUtils.FileAge(dateiname) > dateialter then ... |
Re: "Datei aktualisiert" -> Abfragen
Zitat:
|
Re: "Datei aktualisiert" -> Abfragen
Hi.
Du könntest dir das Alter der überwachten Datei in einer Variable merken, immer wenn es sich geändert hat. Grüße vom marabu |
Re: "Datei aktualisiert" -> Abfragen
Natürlich, aber ich kann das Alter nicht auslesen. Wenn ich FileAge auslese ist der Wert immer -1! Ich habe es gerade mal mit einem label1 Objekt porbiert und der Datei c:/test.txt
Delphi-Quellcode:
Im Label steht dann leider nur "-1", die Datei besteht aber und ich habe sie schon einige male einfach verändert... doch es kommt immer als Antwort "-1" heraus.
var
zahl: integer; wert: string; procedure TForm1.FormCreate(Sender: TObject); begin zahl := SysUtils.FileAge('c:\test.txt'); wert := IntToStr(zahl); label1.caption := wert; end; Zielfunktion wäre: Beim Formstart: "Alter bestimmen der Datei test.txt" Beim Prüfen: "Das Vom Start bestimmte Alter mit der aktuellen vergleichen" oder "Das letzt Alter mit der aktuellen vergleichen" Hat sich dann was geändert soll er ein Soundfile abspielen. |
Re: "Datei aktualisiert" -> Abfragen
Delphi Hilfe lesen bildet. ;)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz