DirectoriesAndFilesEnumeraion (C++)
Description
This examples demonstrates the use of methods in TDirectory class to enumerate files or directories in a file system.
Code
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringDynArray list;
TSearchOption searchOption;
/* Select the search option */
if (cbDoRecursive->Checked)
searchOption = TSearchOption::soAllDirectories;
else
searchOption = TSearchOption::soTopDirectoryOnly;
try
{
/* For all entries use GetFileSystemEntries method */
if (cbIncludeDirectories->Checked && cbIncludeFiles->Checked)
list = TDirectory::GetFileSystemEntries(edtPath->Text, searchOption, NULL);
/* For directories use GetDirectories method */
if (cbIncludeDirectories->Checked && !cbIncludeFiles->Checked)
list = TDirectory::GetDirectories(edtPath->Text, edtFileMask->Text, searchOption);
/* For files use GetFiles method */
if (!cbIncludeDirectories->Checked && cbIncludeFiles->Checked)
list = TDirectory::GetFiles(edtPath->Text, edtFileMask->Text, searchOption);
}
catch (...)
{
/* Catch the possible exceptions */
MessageDlg("Incorrect path or search mask", mtError, TMsgDlgButtons() << mbOK, 0);
return;
}
/* Populate the memo with the results */
mmResults->Clear();
for (int i = 0; i < list.Length; i++)
mmResults->Lines->Add(list[i]);
}
//---------------------------------------------------------------------------
Uses
- System.IOUtils.TDirectory.GetDirectories ( fr | de | ja )
- System.IOUtils.TDirectory.GetFiles ( fr | de | ja )
- System.IOUtils.TDirectory.GetFileSystemEntries ( fr | de | ja )
- System.IOUtils.TSearchOption ( fr | de | ja )