Учись программированию на C++ Builder бесплатно!
  • Главная
  • FAQ
  • Как найти файла в каталогах и подкаталогах?

Для начала пропишем в конце файла Unit1.h перед #endif следующую процедуру:

void ListFiles(AnsiString path, TStrings* List)
{
TSearchRec sr;
if (FindFirst(path+"*.*", faAnyFile, sr) == 0)
{
do
{
if (sr.Attr & faDirectory)
{
if (sr.Name!=".")
if (sr.Name!="..")
{
ListFiles(path+sr.Name+"\\",List);// Рекурсивный вызов
}
}
else
{
AnsiString Ext=ExtractFileExt(sr.Name).UpperCase();
if (Ext==".EXE")
List->Add(path+sr.Name);
}
}
while(FindNext(sr) == 0);
FindClose(sr);
}
Application->ProcessMessages();
}

Ext==".EXE" производит поиск по заданному расширению.

Теперь на форму поместим компонент ListBox и кнопку Button. Пропишем в кнопке код:

ListFiles("c:\\",ListBox1->Items);

При нажатии на кнопку Button программа начнет искать файлы в заданной директории. В ListBox будет записываться путь найденного файла.


Поиск по сайту