Следующий код отобразит все элементы в каталоге, включая файлы., ..,. ~ * - например, в папке истории проекта C ++ Builder: D
Я ввел в поле редактирования следующая строка:
C:\Users\david\Documents\Embarcadero\Studio\Projects\FindFirstVCLCpp\__history\*.*
После выполнения TMemo содержал следующее:
. = 0
.. = 0
Unit1.cpp.~1~ = 991
Unit1.cpp.~2~ = 996
Исходный код для обработчика кнопки:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TSearchRec sr;
Memo1->Lines->Clear();
int iAttributes = 0;
iAttributes |= faReadOnly;
iAttributes |= faHidden;
iAttributes |= faSysFile;
iAttributes |= faVolumeID;
iAttributes |= faDirectory;
iAttributes |= faArchive;
iAttributes |= faAnyFile;
if (FindFirst(Edit1->Text, iAttributes, sr) == 0)
{
do
{
if ((sr.Attr & iAttributes) == sr.Attr)
{
Memo1->Lines->Add(
sr.Name
+ " = "
+ IntToStr(sr.Size)
);
}
} while (FindNext(sr) == 0);
FindClose(sr);
}
}