Hi,
Ich habe mir mal den FindAllFiles Code von
http://www.delphipraxis.net/viewtopic.php?t=2464 angeschaut.
Mir ist dabei ein kleiner Fehler aufgefallen:
IncludeTrailingPathDelimiter(RootFolder);
Erstmal ist
IncludeTrailingPathDelimiter eine Funktion, die das Ergebnis im Rückgabewert hat und außerdem gibt sie erst ab Delphi 4 oder höher
(genauso, wie
IncludeTrailingBackslash)
Ich verwende dabei diesen Code, der dem in der CL recht ähnlich ist:
Delphi-Quellcode:
procedure FileList(const APath, AExt: string; ARecurse: Boolean;
AList: TStrings);
var
F : TSearchRec;
Path : string;
begin
Path := IncludeTrailingPathDelimiter(APath); // nur für Delphi 4 und höher!
if (ARecurse) and
(FindFirst(Path + '*.*', faAnyFile, F) = 0) then
try
repeat
if (F.Name <> '.') and (F.Name <> '..') and
((F.Attr and faDirectory) = faDirectory) then
FileList(Path + F.Name, AExt, ARecurse, AList);
until FindNext(F) <> 0;
finally
FindClose(F);
end;
if FindFirst(Path + AExt, faAnyFile, F) = 0 then
try
repeat
if (F.Name <> '.') and (F.Name <> '..') and
((F.Attr and faDirectory) <> faDirectory) then
AList.Add(Path + F.Name);
until FindNext(F) <> 0;
finally
FindClose(F);
end;
end;
mfG
mirage228