Hallo
Ich will Ordner und alle Unterordner nach Dateien rekursiv durchsuchen. Wenn ich die Rekursion entferne, funktioniert alles. Sobald allerdings die Funktion in sich nochmal aufgerufen wird, schmiert mein Programm ab. Hier der Code:
Delphi-Quellcode:
procedure FindAllFiles(aPath:string; aMask:string; aAttr:integer);
var aRes:TSearchRec;
EOFound:boolean;
Filename:string;
fileAttr:integer;
Begin
EOFound:=false;
if FindFirst(aPath+aMask,aAttr,aRes) < 0 then exit;
while not EOFound do
Begin
Filename:=aRes.Name;
fileAttr:=FileGetAttr(Filename);
if (fileAttr and faDirectory)=faDirectory then
Begin
if (Filename<>'.') and (Filename<>'..') then FindAllFiles(aPath+Filename+'\',aMask,aAttr);
End
else
list.add(filename);
EOFound:=(FindNext(aRes)<>0);
End;
FindClose(aRes);
end;
Achso, "list" ist hier vom Typ TStringList. Dort sollen dann halt alle gefundenen Dateien aufgelistet werden.