
Zitat von
Darko:
Hier mal die Funktion:
Delphi-Quellcode:
procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);
var
SR: TSearchRec;
begin
....
if SR.Attr and faDirectory <> faDirectory then
begin
// --> eine Datei wurde gefunden
// der Dateiname steht in SR.Name
// der vollständige Dateiname (inkl. Pfadangabe) ist
// RootFolder + SR.Name
// folgende Zeile schreibt den vollständigen Namen in eine Memo Feld des
// Formulars Form1
Hauptform.Memo_Monitorfiles.Lines.Add(RootFolder + SR.Name);
end;
....
Aha, ich seh' schon, die Prozedure ist doch nicht so toll universell einsetzbar, wie ich gedacht habe.
Hier die Korrekturen:
Delphi-Quellcode:
procedure FindAllFiles(RootFolder: string; list:TStrings; Mask: string = '*.*'; Recurse: Boolean = True);
var
SR: TSearchRec;
begin
list.Clear; // Ergebnisliste löschen
....
if SR.Attr and faDirectory <> faDirectory then
begin
// --> eine Datei wurde gefunden
// der Dateiname steht in SR.Name
// der vollständige Dateiname (inkl. Pfadangabe) ist
// RootFolder + SR.Name
// folgende Zeile schreibt den vollständigen Namen in ein TStrings-Objekt
list.Add(RootFolder + SR.Name);
end;
....
Mit dem TStrings-Objekt als zusätzlicher Parameter kannst du die Dateien in jedem Memo, Listbox oder Combobox laden:
Delphi-Quellcode:
FindAllFiles('D:\Test', Memo2.lines);
// oder so
FindAllFiles('D:\delphi', ComboboxPascal.Items, '*.pas');