Einzelnen Beitrag anzeigen

Gargamel

Registriert seit: 19. Mär 2007
171 Beiträge
 
#1

Ordner nebst Unterordnern durchsuchen

  Alt 3. Mai 2010, 17:10
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.
  Mit Zitat antworten Zitat