Ordnerinhalt Überwachen ..

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Ordnerinhalt Überwachen ..

Beitrag von corpsman »

Guten Morgen,

Ich will mir gerade eine kleine Anwendung zum Versenden und Empfangen von Nachrichten schreiben. Aus diversen gründen möchte ich diese Nachrichten, allerdings nicht mittels irgend einer Komponente wie Indy oder so versenden. Nein ich habe mir gedacht ich mache das mittels Dateien.

Das bedeutet.

jede Anwendung hat 2 Ordner einen für Empfangen und einen für Senden.
Wenn Anwendung A eine Nachricht an B Schicken will speichert A die Nachricht als txt Datei im ihrem Senden Ordner ( dieser ist gleichzeitig der Empfangen Ordner von B ). B "bemerkt" das nun eine Datei im Empfangen Ordner liegt und wertet die Nachricht aus.

So und mein "Problem" ist nun dieses "bemerkt"

Die einzige Variante die mir bisher eingefallen ist wäre ein TTimer der in Intervallen mittels findfirst findnext Dateien in dem Ordner sucht. Da ich vor hatte jede "bearbeitete" Nachricht zu löschen, wird jede Nachricht nur einmal ausgewertet.

Das Problem ist nun dieses Intervall, denn der Austausch von 2 Nachrichten braucht ja dann 2 * Intervall + Bearbeitungszeit für die Nachrichten.

Ich kann das Intervall ja schlecht auf 10 ms setzen, da dann sicherlich die HDD streickt, bzw die Anwendung 100 % CPU load für "nichts" erzeugt, und setze ich Intervall auf 10 mins dauert es einfach zu lange eine Nachricht zu versenden / Empfangen.

Die Frage die ich hier also stelle, gibt es eine Möglichkeit In einem Programm einen Ordner noch irgendwie anders zu überwachen ?
--
Just try it

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Ordnerinhalt Überwachen ..

Beitrag von Hitman »

Unter Windows: http://msdn.microsoft.com/en-us/library/aa365261(VS.85" onclick="window.open(this.href);return false;).aspx
Unter Linux: http://www.ibm.com/developerworks/linux ... otify.html" onclick="window.open(this.href);return false;

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Ordnerinhalt Überwachen ..

Beitrag von creed steiger »

Da gibts verschiedene Möglichkeiten.Du kannst mit fileexists arbeiten,die Größe vom Directory überwachen oder fam benutzen.
http://oss.sgi.com/projects/fam/faq.html#what_is_fam" onclick="window.open(this.href);return false;
http://ik.homelinux.org/index.rhtml/projects/fpc/libgam" onclick="window.open(this.href);return false;

Musst halt testen was am besten funktioniert.
Edit:oder das was Hitman vorschlägt.

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Ordnerinhalt Überwachen ..

Beitrag von corpsman »

hey cool thx, werde es testen..
--
Just try it

Antworten