频道分类

delphi IOUtils 获取当前目录下所有的文件/文件夹

作者:admin 来源: 日期:2020/3/10 14:22:54 人气: 标签:

 
unit frmMain;

interface

uses
  System.Types, System.IOUtils, Winapi.Windows, Winapi.Messages,
  System.SysUtils,
  System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button2: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    procedure Button2Click(Sender: TObject);
  private
    procedure ListFiless(FilePath: string);
    procedure ListDirs(DirName: string);

    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);

begin
  // 获取当前目录下所有的文件
  ListFiless(Edit1.Text);
  // 获取当前目录下所有的文件夹
  ListDirs(Edit1.Text);

end;



procedure TForm1.ListDirs(DirName: string);
var
  DirList: TStringDynArray;
  Name: string;
begin
  // 获取某个路径下的所有文件夹
  DirList := TDirectory.GetDirectories(DirName);
  // 遍历,获取每一个文件夹(路径)
  for Name in DirList do begin
    // 将获取到的路径加入窗口
    Self.Memo1.Lines.Add(Name);
    // 获取这个路径下所有文件
    ListFiless(Name);
    // 递归,继续获取当前(Name)目录下的文件夹
    ListDirs(Name);
  end;
end;

procedure TForm1.ListFiless(FilePath: string);
var
  FileList: TStringDynArray;
  FileName: string;
begin
  // 获取当前路径下的所有文件
  FileList := TDirectory.GetFiles(FilePath);
  //遍历数组,获取文件信息
  for FileName in FileList do begin
    Self.Memo1.Lines.Add(FileName);
  end;
end;



end.

上一篇:delphi TFileStream 流操作2下一篇:没有资料