Meistens gibt es immer mindestens drei Wege
(himi hatte drei Wege beschrieben, und das hier ist der 2. Weg, den er vorgeschlagen hatte
)
Hier der dritte Weg:
Delphi-Quellcode:
procedure FindFiles( const Path, Filter : string; const Results : TStrings; Recurse : Boolean = False );
begin
// Wir suchen mal nach den Dateien wie gewohnt mit FindFirst/FindNext/FindClose
...
// ok, alle gefundenen Dateien sollten jetzt in Results liegen
// Sollen wir die Verzeichnisse auch noch durchsuchen?
if Recurse then
begin
// Jetzt suchen wir ausschließlich nach Verzeichnissen
if FindFirst( Path, ... ) = 0 then
try
repeat
// Rekursiver Aufruf dieser procedure
FindFiles( IncludeTrailingPathDelimiter( Path ) + SearchRec.Name, Filter, Results, Recurse );
until FindNext( SearchRec ) <> 0;
finally
FindClose( SearchRec );
end;
end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)