Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Unterordner und deren unterordner

  Alt 1. Nov 2009, 09:09
In dem von "waub" verlinkten Thema (das über meinen Link auch aufgelistet wird) ist auch die Abbruchbedingung vorhanden. Das muss bei der Rekursion auch immer so sein, sonst ruft sich die Funktion so lange auf, bis es Speicherprobleme gibt.

Delphi-Quellcode:
if SR.Attr and faDirectory = faDirectory then // Verzeichnis wurde gefunden
  if (SR.Name <> '.') and (SR.Name <> '..') then // Verzeichnis ist nicht das aktuelle "." und nicht das übergeordnete ".." Verzeichnis
    FindAllFiles(RootFolder + SR.Name, Mask, Recurse); // rekusriver Aufruf
Die Funktion ruft sich somit nur dann selbst wieder auf, wenn ein Unterverzeichnis gefunden wurde.

Übrigens finde ich deine Einstellung super. Das ist bei weitem nicht selbstverständlich.
Es gibt hier welche, die wollen fertige Lösungen und diese ohne nachzudenken per Copy&Paste übernehmen. Und dann kommen ständig Fragen, wieso dies und jenes nicht funktioniert, wie man den Code ändern muss etc. Deine Einstellung sollten alle haben. Du lernst dadurch viel und kannst später auch selbst Probleme lösen. So macht es Spaß und da helfe ich dann auch gerne.

Grüße, Matze
  Mit Zitat antworten Zitat