procedure ScanDir(StartDir: string; Mask: string; List: TStrings); var SearchRec: TSearchRec; begin StartDir:=IncludeTrailingPathDelimiter(StartDir); if FindFirst(StartDir + '*.*', faAnyFile, SearchRec) = 0 then begin repeat Application.ProcessMessages; if (SearchRec.Name <> '..') and (SearchRec.Name <> '.')then begin if ((SearchRec.Attr and faDirectory)=faDirectory) and (SearchRec.Name=Mask) then List.Add(StartDir + SearchRec.Name + '\'); ScanDir(StartDir + SearchRec.Name + '\', Mask, List); end; until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; end; |