![]() |
Ordner auf Dateien überprüfen mit Timer
Hallo, habe nichts über die Suchfunktion gefunden oder ich habe vllt die falschen Begriffe eingetrage. Ich hoffe ihr könnt mir helfen. Ich möchte das jede Sekunde ein bestimmter Pfad überprüft wird, ob sich darin eine neue Datei beeinhaltet. Bei D7 gab es eine Filelistbox aber bei D2006 habe ich nichts gefunden. :(
|
Re: Ordner auf Dateien überprüfen mit Timer
nach dateien suchen geht generell findfirst.... findnext!
guckst du hier:
Delphi-Quellcode:
//Sucht nach der angegeben Dateimaske im Verzeichnis vom angegeben Pfad
//und gibt das Ergebnis in einer stringliste zurück. //Beispielaufruf: ListeTemp := SearchFilesInDirectory(quellpfad+'\GBW*.*'); function SearchFilesInDirectory(mask: string): Tstringlist; var search: TSearchRec; directory: string; begin result := tstringlist.create; directory := ExtractFilePath(mask); // Alle Dateien im angegebenen Verzeichnis suchen if FindFirst(mask, $23, search) = 0 then begin repeat result.Add(directory + search.Name); until FindNext(search) <> 0; end; end; |
Re: Ordner auf Dateien überprüfen mit Timer
Und falls du Klassen des .NET Frameworks nutzen möchtest schaut das ungefähr so aus (Aus der .NET Framework Hilfe)
Code:
Musst du halt noch entsprechend in Delphi-Syntax bringen
using System;
using System.IO; public class NameTest { public static void Main() { // Create a reference to the current directory. DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory); // Create an array representing the files in the current directory. FileInfo[] fi = di.GetFiles(); Console.WriteLine("The following files exist in the current directory:"); // Print out the names of the files in the current directory. foreach (FileInfo fiTemp in fi) Console.WriteLine(fiTemp.Name); } } |
Re: Ordner auf Dateien überprüfen mit Timer
@ marlem
thx.... Deine Funktion ist gut und sehr einleuchtend, aber wieso bekomme ich immer als Rückgabewert Zitat:
Delphi-Quellcode:
das sollte doch so funktionieren, oder stehe ich gerade auf dem Schlauch??? :(
Textbox1.text:= SearchFilesInDirectory('D:\Daten\Kunden\*.txt').ToString;
|
Re: Ordner auf Dateien überprüfen mit Timer
Zitat:
Delphi-Quellcode:
Var
VStrL : TStringlist; begin VStrL := TStringlist.create; try VStrL := SearchFilesInDirectory(quellpfad+'\GBW*.*'); .... finally VStrL.destroy; end; end; |
Re: Ordner auf Dateien überprüfen mit Timer
Zitat:
bei Windows gibt es eine Möglichkeit, sich benachrichtigen zu lassen, wenn sich Dateien in einem Verzeichnis ändern. Dazu gibt es jede Menge Komponenten (DirMonitor, FolderMonitor, usw), musst halt mal bei torry.net suchen. |
Re: Ordner auf Dateien überprüfen mit Timer
Versuche es mal mit der .NET-Klasse 'System.IO.FileSystemWatcher'.
Ich habe auf Codeproject einen Artikel dazu gefunden: ![]() Gruß Stefan |
Re: Ordner auf Dateien überprüfen mit Timer
Kleiner Tip: Ich würde es in einem Thread programmieren, habe mit den Timern schon meine Erfahrungen gemacht...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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-2025 by Thomas Breitkreuz