| Код | void FindFiles(AnsiString StartFolder, AnsiString Mask, TStrings *List, bool ScanSubFolders = True) { TSearchRec SearchRec; int FindResult;
List->BeginUpdate();
__try { StartFolder = IncludeTrailingBackslash(StartFolder); FindResult = FindFirst(StartFolder + "*.*", faAnyFile, SearchRec); __try { while (FindResult == 0) { if (SearchRec.Attr&faDirectory) { if ((ScanSubFolders) && (SearchRec.Name != ".") && (SearchRec.Name != "..")) FindFiles(StartFolder + SearchRec.Name, Mask, List, ScanSubFolders); } else { if (MatchesMask(SearchRec.Name, Mask)) List->Add(StartFolder + SearchRec.Name); } FindResult = FindNext(SearchRec); } } __finally { FindClose(SearchRec); } } __finally { List->EndUpdate(); } } |
|