delphi怎么遍历文件夹

929
2023/12/7 23:34:07
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在 Delphi 中,可以使用 FindFirstFindNext 函数来遍历文件夹。下面是一个示例代码:

procedure TraverseFolder(const AFolder: string);
var
  SR: TSearchRec;
  IsFound: Boolean;
begin
  // 搜索文件夹中的第一个文件/文件夹
  IsFound := FindFirst(AFolder + '\*', faAnyFile, SR) = 0;
  while IsFound do
  begin
    // 忽略 "." 和 ".." 文件夹
    if (SR.Name <> '.') and (SR.Name <> '..') then
    begin
      if (SR.Attr and faDirectory) = faDirectory then
      begin
        // 当前找到的是文件夹
        Writeln('文件夹:', AFolder + '\' + SR.Name);
        // 递归遍历子文件夹
        TraverseFolder(AFolder + '\' + SR.Name);
      end
      else
      begin
        // 当前找到的是文件
        Writeln('文件:', AFolder + '\' + SR.Name);
      end;
    end;
    // 继续搜索下一个文件/文件夹
    IsFound := FindNext(SR) = 0;
  end;
  // 关闭搜索
  FindClose(SR);
end;

// 使用示例
procedure TForm1.Button1Click(Sender: TObject);
var
  FolderPath: string;
begin
  FolderPath := 'C:\YourFolderPath';
  TraverseFolder(FolderPath);
end;

在上面的示例代码中,TraverseFolder 过程会递归遍历指定文件夹下的所有文件和子文件夹,并输出它们的路径。你可以根据需要修改代码以执行其他操作。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Delphi中codegear问题怎么解决