FindNext - C++ Builder

C++ Builder 参考手册 ➙ System::Sysutils ➙ FindNext


查找下一个符合条件的文件

头文件:#include
命名空间:System::Sysutils
函数原型:

int __fastcall FindNext(TSearchRec &F);

参数:

  • F:函数 FindFirst 返回的 TSearchRec 类型的结构体:

返回值:

  • 0:找到符合条件的文件或文件夹,通过参数 F 返回找到的文件;
  • 不等于 0:没找到符合条件的文件夹或文件夹
  • 继续调用 FindNext 可以继续查找下一个符合条件的文件
  • 查找结束时,必须用函数 FindClose 结束查找,释放占用的资源

例子:把 C:\Windows 文件夹里面的内容显示在 TStringGrid 里面

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    StringGrid1->RowCount = 2;
    StringGrid1->Cells[0][0] = L"文件名";
    StringGrid1->Cells[1][0] = L"大小";
    StringGrid1->Cells[2][0] = L"时间";
    StringGrid1->Cells[3][0] = L"属性";

    int iRowNo = 1;
    TSearchRec sr;
    if(FindFirst(L"C:\\Windows\\*.*", faAnyFile, sr) == 0)
    {
        do{
            UnicodeString sAttr;
            sAttr += sr.Attr & faReadOnly ? L"r" : L"-";
            sAttr += sr.Attr & faArchive  ? L"a" : L"-";
            sAttr += sr.Attr & faHidden   ? L"h" : L"-";
            sAttr += sr.Attr & faSysFile  ? L"s" : L"-";
            StringGrid1->RowCount = iRowNo + 1;
            StringGrid1->FixedRows = 1;
            StringGrid1->Cells[0][iRowNo] = sr.Name;
            StringGrid1->Cells[1][iRowNo] = sr.Attr & faDirectory ? String(L"<文件夹>") : IntToStr(sr.Size);
            StringGrid1->Cells[2][iRowNo] = FormatDateTime(L"yyyy/mm/dd hh:nn:ss.zzz",sr.TimeStamp);
            StringGrid1->Cells[3][iRowNo] = sAttr;
            iRowNo++;
        } while(FindNext(sr) == 0);
        FindClose(sr);
    }
}

运行结果

运行结果

相关:

  • System::Sysutils::FindFirst
  • System::Sysutils::FindNext
  • System::Sysutils::FindClose
  • System::Sysutils::TSearchRec
  • System::Sysutils::FileSearch
  • System::Sysutils::FileExists
  • System::Sysutils::DirectoryExists
  • System::Sysutils::FileAge
  • System::Sysutils::FileGetDate
  • System::Sysutils::FileGetDateTimeInfo
  • System::Sysutils::FileSetDate
  • System::Sysutils::FileGetAttr
  • System::Sysutils::FileSetAttr
  • System::Sysutils::FileIsReadOnly
  • System::Sysutils::FileSetReadOnly
  • System::Sysutils::CreateDir
  • System::Sysutils::ForceDirectories
  • System::Sysutils::RemoveDir
  • System::Sysutils::GetCurrentDir
  • System::Sysutils::SetCurrentDir
  • System::Sysutils::DeleteFile
  • System::Sysutils::RenameFile
  • System::Sysutils::IsAssembly
  • System::Sysutils::DiskFree
  • System::Sysutils::DiskSize
  • System::Sysutils::FileDateToDateTime
  • System::Sysutils::DateTimeToFileDate
  • System::Sysutils

C++ Builder 参考手册 ➙ System::Sysutils ➙ FindNext

你可能感兴趣的:(FindNext - C++ Builder)