Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Erscheinen neuer Datei im Dir prüfen? (https://www.delphipraxis.net/48872-erscheinen-neuer-datei-im-dir-pruefen.html)

EccoBravo 1. Jul 2005 15:48


Erscheinen neuer Datei im Dir prüfen?
 
Möchte das Erscheinen einer neuen Datei in einem Verzeichnis mittels "Dämon" überwachen, der dann Message zurückgibt und irgend ein Programm startet.

oder :

Möchte das Erscheinen einer neuen Datei in einem Verzeichnis mittels "Dämon" überwachen. Wenn eine neue Datei erscheint, soll diese "geöffnet mit" werden d.h. diese Datei soll über die Beziehung "Öffnen mit" eine definierte Anwendung starten.

Vielen Dank für Hilfe

E. B.

Oxmyx 1. Jul 2005 15:50

Re: Erscheinen neuer Datei im Dir prüfen?
 
Was du suchst, ist die Funktion "FileExists".

Wenn du den Dateinamen nicht kennst, kannst du dir auch mit FindAllFilesFindAllFiles die Dateien im Verzeichnis auflisten und schauen, ob eine neue dazugekommen ist.

100nF 1. Jul 2005 15:52

Re: Erscheinen neuer Datei im Dir prüfen?
 
hi,

du könntest mit einem timer in regelmässigen abständen mit fileexists() prüfen, ob die datei existiert. wenn sie existiert, kanns du sie mit shellexecute() ausführen.
ich weiss, es ist nicht sehr elegant, aber eine bessere lösung fällt mir nicht ein...
zu shellexecute findest du genug in der DP.

gruss
urbanbruhin

shmia 1. Jul 2005 15:58

Re: Erscheinen neuer Datei im Dir prüfen?
 
Zitat:

Zitat von EccoBravo
Möchte das Erscheinen einer neuen Datei in einem Verzeichnis mittels "Dämon" überwachen, der dann Message zurückgibt und irgend ein Programm startet.

Dafür gibt's fertige Komponenten mit Sourcecode.
http://www.torry.net/pages.php?id=252
Die Komponenten arbeiten ohne Timer, sondern benützen spezielle Funktionen aus der Windows API. (FindFirstChangeNotification, ...)

Marphy 1. Jul 2005 16:01

Re: Erscheinen neuer Datei im Dir prüfen?
 
Hallo,

Zitat:

Zitat von Oxmyx
Was du suchst, ist die Funktion "FileExists".

Ein Verzeichnis permenent z.B. über einen Timer per FileExists zu überwachen, wäre eine ziemlich unsaubere Lösung... Die Windows API hält da aber zum Glück entsprechende Funktionen bereit.
:hello:

Hier ein Link, der Code liegt allerdings in VB vor (den nach Delphi zu portieren dürfte kein Problem sein, wenn du nicht weiterkommst, frag mich einfach :wink:).
http://www.activevb.de/tipps/vb6tipps/tipp0367.html

Gruß, Marco

[edit]Mist, da war mal wieder jemand schneller... :x :wink:[/edit]

Christian Seehase 1. Jul 2005 19:21

Re: Erscheinen neuer Datei im Dir prüfen?
 
Moin Zusammen,

falls es sich bei dem Dateisystem um NTFS handelt, wäre auch Hier im Forum suchenReadDirectoryChangesW zu berücksichtigen, da man hier auch zurückgeliefert bekommt, was sich geändert hat.

Olli 1. Jul 2005 20:21

Re: Erscheinen neuer Datei im Dir prüfen?
 
Zitat:

Zitat von Christian Seehase
falls es sich bei dem Dateisystem um NTFS handelt, wäre auch Hier im Forum suchenReadDirectoryChangesW zu berücksichtigen, da man hier auch zurückgeliefert bekommt, was sich geändert hat.

Moin Christian,

du besitzt wohl geheime Informationen von MS direkt? :shock: In meiner Doku steht nichts davon, daß es auf NTFS als Dateisystem beschränkt ist. Sehr wohl aber auf die NT-Plattform an sich.

Christian Seehase 2. Jul 2005 00:34

Re: Erscheinen neuer Datei im Dir prüfen?
 
Moin Olli,

hast Du auch wieder recht.
Das werd' ich doch mal versuchen experimentell zu prüfen ;-)

EccoBravo 4. Jul 2005 07:49

Programmierung mit "FindFirstChangeNotification gut ?
 
ist die Programmierung mit "FindFirstChangeNotification" ebenfalls eine "unsaubere Lösung" weil sich dahinter auch etwas rekursives verstecken könnte oder nutzt diese Methode tatsächlich OS-Messages?

Möchte sauber programmieren, da diese Programme mit Medizinprodukten zusammenlaufen sollen

Danke E. B.

(Frage zu Antwort von Marphy)

Olli 4. Jul 2005 14:36

Re: Programmierung mit "FindFirstChangeNotification gut
 
Zitat:

Zitat von EccoBravo
ist die Programmierung mit "FindFirstChangeNotification" ebenfalls eine "unsaubere Lösung" weil sich dahinter auch etwas rekursives verstecken könnte oder nutzt diese Methode tatsächlich OS-Messages?

Sie ist komplett unbedenklich und kann benutzt werden!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz