Autor Beitrag
scrooge
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 200



BeitragVerfasst: Do 25.09.03 13:57 
Hi,

würde gerne mal wissen, wie man rauskriegt, ob eine Datei gelöscht wurde. Sollte eigentlich ohne vorige Überprüfung geschehen. Gibts da vielleicht ne Windows-Message, die man abfangen kann ??
Terra23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Do 25.09.03 15:25 
... löscht du die Datei selber mit deinem Programm?

_________________
Hasta La Victoria Siempre
scrooge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 200



BeitragVerfasst: Do 25.09.03 19:17 
Nein !
Licki
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 132

Knoppix, Win 95, Win 2000, Win NT, Win 98, Win XP
Delphi 3
BeitragVerfasst: Do 25.09.03 21:18 
Keine Ahnung, aber du kannst ja einfach ne Abfrage selber reinmachen, also abfragen, ob es die Datei noch gibt, wo du löschen willst. Einfach DeleteFile und FileExists kombinieren, geht doch easy und ist relativ sicher. Lieber nochmal abfragen lassen, als sich von Windoof ne Bestätigung zu hohlen. ;)


Zuletzt bearbeitet von Licki am Fr 26.09.03 08:55, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 26.09.03 00:23 
Ein eleganterer Ansatz wäre den Ordner zu überwachen und bei einer Änderung die Existenz abzufragen.

Suche in: Delphi-Forum, Delphi-Library ORDNER ÜBERWACHEN und auf meiner HP in der Ablage/demos
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Fr 26.09.03 07:30 
Hallo,

wenn Du D7 Prof. und höher hast, gibt es auf dem Reiter "Beispiele" ein Objekt namens "ShellChangeNotifier".

Wenn nicht, musst Du Dir einen Thread schreiben und die Win-Message FILE_NOTIFY_CHANGE_FILE_NAME belauschen.

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 26.09.03 08:20 
Auf dieNachricht kann er lange warten oder lauschen, wie du so sagst, denn das ist mit Sicherheit keine Nachricht, die Windows verschickt. Das sieht mir eher nach einer Struktur aus. Allerdings kennt sie mein PSDK nicht. Was dem noch am nächsten kommt ist das:
PSDK hat folgendes geschrieben:

The FILE_NOTIFY_INFORMATION structure describes the changes found by the ReadDirectoryChangesW function.
lambruco
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Win 2000/2000 Server/XP
D6 Prof.
BeitragVerfasst: Fr 26.09.03 10:07 
Mein Ansatz wäre:
Alle Dateinamen eines Ordners speichern, mit FindFirstChangeNotifier und FindNextChangeNotifier den Ordner auf Veränderungen überwachen, bei Veränderungen eine Vergleichsliste erstellen und schauen, welche Datei fehlt.
Vielleicht nicht richtig elegant, aber funktioniert problemlos.

_________________
Wer Rechtschreibfehler findet, kann Sie behalten
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Fr 26.09.03 10:31 
@luckie

warum soll das keine Nachricht sein, die Windows verschickt? Die Konstante ist in Windows.pas deklariert. In Verbindung mit FindFirstChangeNotifaction und FindNextChangeNotification erhält man sehr wohl FILE_NOTIFY_CHANGE_FILE_NAME.

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
lambruco
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100

Win 2000/2000 Server/XP
D6 Prof.
BeitragVerfasst: Fr 26.09.03 10:56 
Kommt darauf an, was scrooge vorhat.
Will er nur wissen, ob etwas gelöscht wurde, oder will er auch wissen, was gelöscht wurde?

_________________
Wer Rechtschreibfehler findet, kann Sie behalten
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 26.09.03 11:10 
smiegel hat folgendes geschrieben:
@luckie

warum soll das keine Nachricht sein, die Windows verschickt? Die Konstante ist in Windows.pas deklariert. In Verbindung mit FindFirstChangeNotifaction und FindNextChangeNotification erhält man sehr wohl FILE_NOTIFY_CHANGE_FILE_NAME.

Nein, es ist definitiv keine Nachricht, sondern eien Konstante. Windows Nachrichten fange alle mit WM_ an und lassen sich über die Fensterprozedur abfangen. Versuch das mal mit FILE_NOTIFY_CHANGE_FILE_NAME. :roll:
scrooge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 200



BeitragVerfasst: Sa 27.09.03 16:27 
Hi,

die Idee mit dem Liste der Dteien im Ordner erstellen > Prüfen, ob Datei noch vorhanden ist zwar so ganz gut, aber die Überprüfung müsste ich dann schon selbst machen und mein Ziel ist es eigentlich möglichst gleich benchrichtigt zu werden, wenns die Datei nicht mehr gibt. Noch einfacher wärs natürlich, wenn alles und jeder weiterhin Zugriff auf die Datei hat, aber sie keiner mehr löschen kann oder darf. Kann man das vielleicht nicht irgendwie mit Filestream oder so machen ???