如何检查目录中存在哪些文件?

Mar*_*tes 1 delphi delphi-7 text-files

如何检查Delphi 7中目录中的文本文件.这样我就可以打开文件夹中的所有文本文件.

Rem*_*eau 9

有几种不同的方式:

  1. 您可以使用本机中的FindFirst()FindNext()功能System.SysUtils.

    uses
      ..., SysUtils;
    
    var
      sr: TSearchRec;
    begin
      if FindFirst('C:\folders\*.txt', faAnyFile, sr) = 0 then
      try
        repeat
          if (sr.Attr and faDirectory) = 0 then
          begin
            // use sr.Name as needed...
          end;
        until FindNext(sr) <> 0;
      finally
        FindClose(sr);
      end;
    end;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您使用的是Delphi 2010或更高版本,则可以使用该单元GetFiles()中的TDirectory类方法System.IOUtils.

    uses
      ..., System.IOUtils;
    
    var
      files: TStringDynArray;
      filename: string;
    begin
      files := TDirectory.GetFiles('C:\Folder', '*.txt');
      for filename in files do
      begin
        // use filename as needed...
      end;
    end;
    
    Run Code Online (Sandbox Code Playgroud)