Du könntest in einem 3. Parameter die verbotenen Verzeichnisse angeben, z.B. in einer weiteren StringList
PROCEDURE GetAllFiles (Maske: STRING; Items, IgnoreDirs : TStrings; );
dann
Delphi-Quellcode:
if IgnoreDirs.IndexOf(UpperCase(SFPath+Search.Name)) < 0 then
Items.Add(SFPath+Search.Name)
IgnoreDirs natürlich vorher mit UpperCased Pfaden füllen.
zum jetzigen Code:
ich wurde Datei und Ordnersuche nicht in einer getrennten Schleife behandeln, sonder eine Schleife und bei Auftauchen eines Directory den "Selbstaufruf".
€: Wicht hats auch schon erwähnt.
..und ohne Vorschriften machen zu wollen, wenigstens richtig einrücken sollte man den Code schon bei so vielen Blöcken.