Wenn du es in deiner eigenen Funktion lösen willst, dann brauchst du (wie schon gesagt wurde) entweder eine globale Variable (
) oder du musst die Tiefe in deiner Prozedur "mitschleifen".
Delphi-Quellcode:
procedure tform1.FindAllFiles(var FileList: TStrings; RootFolder: string; RecurseLevel: Integer = 0; Mask: string ='*.*'; Recurse: Boolean = True);
begin
//...
if RecurseLevel = 0 then
ShowMessage('Root')
else
ShowMessage(Format('%d. Ebene', [RecurseLevel + 1]);
r := FindFirst(...);
while r = 0 do
begin
if (SR.Attr and faDirectory = faDirectory) and (sr.name[1] <> '.') then
FindAllFiles(..., ..., RecurseLevel + 1, ...)
else ...
end;
end;