Процедура для поиска файлов, её неоднократно уже выкладывали:
| Код | procedure FindFiles(StartFolder, Mask: string; List: TStrings; ScanSubFolders: Boolean = True); var SearchRec: TSearchRec; FindResult: Integer; begin List.BeginUpdate; try StartFolder := IncludeTrailingBackslash(StartFolder); FindResult := FindFirst(StartFolder + '*.*', faAnyFile, SearchRec); try while FindResult = 0 do with SearchRec do begin if (Attr and faDirectory) <> 0 then begin if ScanSubFolders and (Name <> '.') and (Name <> '..') then FindFiles(StartFolder + Name, Mask, List, ScanSubFolders); end else begin if MatchesMask(Name, Mask) then List.Add(StartFolder + Name); application.ProcessMessages; end; FindResult := FindNext(SearchRec); end; finally FindClose(SearchRec); end; finally List.EndUpdate; end; end;
|
Использование:
| Код | FindFiles ('c:\','*.*',memo1.Items, true);
|
(последний параметр - учитывать ли каталоги. В твоём случае - да) |