#include
void __fastcall SearchFiles(const AnsiString ADir, const AnsiString Mask, const int iAttrs=-1, bool Recurse=true)
{
const AnsiString dir = IncludeTrailingBackslash(ADir);
int nAttrs = 0;
nAttrs |= (iAttrs0)?
(faReadOnly|faHidden|faSysFile|faVolumeID|faArchive|faAnyFile|faDirectory) :
iAttrs;
TSearchRec sr;
if (FindFirst(dir + "*.*", nAttrs, sr)) {
FindClose(sr);
return;
}
do {
if ((sr.Attr & faDirectory) != faDirectory)
if (MatchesMask(sr.Name, Mask)) Log->Lines->Add("Поиск: " + dir + sr.Name);
else
if(Recurse) SearchFiles(dir + sr.Name, Mask, iAttrs);
} while (!FindNext(sr));
FindClose(sr);
}
void __fastcall TForm1::PoiskClick(TObject *Sender)
{
SearchFiles(Edit1->Text, "*" + ExtractFileName(Edit2->Text) + "*.*"/*, -1, true*/);
}