![]() |
Ordner überwachen
Moin,
ein Bekannter von mir hat da ein kleines Problem, wobei ich ihm auch nicht helfen konnte: Es soll ein spezieller Ordner überwacht werden, ob neue Dateien dem Ordner hinzugefügt werden. Wenn man z.B. eine Datei herunterläd und diese in dem speziellen Ordner gespeichert wird, soll das Programm entsprechend darauf reagieren. Nur wie kann man abfangen ob eine neue Datei dem Ordner hinzugefügt wird ? Wir kamen erst auf die Lösung mit einem Timer ständig die Dateianzahl in diesem Ordner zu prüfen, doch das ich bestimmt keine sehr elegante Lösung oder ? Hat jemand ne Idee wie man das machen könnte ? Danke, |
Re: Ordner überwachen
Liste der Anhänge anzeigen (Anzahl: 1)
Hi PierreB,
es gibt ein kleines Progrämmchen (watch_it.exe), das genau das macht, was Du möchtest. Es überwacht einen angegebenen Ordner, ob eine Datei mit einem bestimmten Namen existiert. Ist diese Datei vorhanden, dann wird eine weitere Datei aufgerufen. Syntax: watch_it.exe Zu_Überwachender_Ordnername Auftauchende_Datei Auszuführendes_Programm Beispiel: watch_it MeinOrdner download.ctl DoIt.exe Die Datei download.ctl ist eine (sehr kleine) Datei, die erst erzeugt werden sollte, wenn die große Datei, mit der etwas gemacht werden soll, vollständig vorhanden ist. Sonst kann es zu sehr unschönen Effekten kommen. DoIt.exe kann dann ein Programm sein, das die eigentliche Datei behandelt. Auf jeden Fall sollte zuerst die Datei download.ctl gelöscht werden. Ich hoffe es hilft, Grüße, em-sigma |
Re: Ordner überwachen
Moin em-sigma,
irgendwie versteh ich nicht was dieses Programm macht. Zitat:
Du hast nicht zufällig den Sourcecode von diesem Programm (wenn es das macht was ich möchte), denn wir wollen das selbst in unser Programm mit einbauen. Trotzdem schonmal danke. ;) |
Re: Ordner überwachen
Liste der Anhänge anzeigen (Anzahl: 1)
Was muss geschehen, wenn eine Datei gespeichert wird?
Muss eine MessageBox auf Popen? In Delphi gibts eine Komponente, leider bin ich mir nicht mehr sicher wie diese heisst. Ich glaube etwas wie ShellNotification oder so. Wenn das aber auch nicht geht versuchs mit GPO's Windows kann das auch von haus aus. Leider musst Du dann noch im EventLog nach einträgen suchen. |
Re: Ordner überwachen
Moin Pierre,
für Dich kommen da eigentlich (in der Hautpsache) zwei Funktionen in Frage: ![]() ![]() ![]() ![]() Schau sie Dir doch einmal an, um zu entscheiden, welche besser passt. ReadDirectoryChangesW funktioniert z.B. nur auf NT-basierten Systemen, ist dafür aber auch "mitteilsamer" als die andere Variante. |
Re: Ordner überwachen
Moin,
erstmal danke an alle, ich werd mir das mal in Ruhe angucken. :-) |
Re: Ordner überwachen
Liste der Anhänge anzeigen (Anzahl: 1)
dafür gibt es verschiedene Komponenten, die das können.
bei den Jedi's ist was dabei. von Rx gibt es die auch. ich benutze die Komponenten von JUAN CARLOS MOLINOS MESA, die ist recht elegant. ich hänge sie mal als Attachement mit dran. hier meine Kurzanleitung: - Komponente installieren - DirMonitor auf das Formular setzen - im Objektinspektor die Eigenschaften und Ereignisse setzen - im Quellcode geeignet darauf reagieren
Delphi-Quellcode:
// wird aufgerufen, wenn sich das Verzeichnis ändert
procedure TmyForm.DirMonitorChange (sender: TObject; Action: TAction; FileName: string); begin if pos ('myFile.ext', FileName) <> 0 then // ist es das richtige File? begin myProcedure(...); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 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