procedure TForm1.btn1Click(Sender: TObject);
var
  Files: TStringDynArray;
  NameTemp: string;
  Path: string;
begin
  Path := 'E:\Games';
  Files := TDirectory.GetFiles(Path);  //单步这句运行完后files 还是为空。
  for NameTemp in Files do
    mmo1.Lines.Add(NameTemp);
end;木有结果,请问怎么回事啊

解决方案 »

  1.   

    首先表示没用过这个类,但我有一个疑问:TDirectory.GetFiles(Path);这句不应该先创建一个TDirectory再调用吗?这样编译不会错吗?莫非GetFiles是一个类方法?
      

  2.   

    测试是没有问题的,只是这样写不会遍历子文件夹,可能你的根目录下没有任何文件?
    如果要遍历子文件夹,要加参数 TSearchOption.soAllDirectoriesvar
      Files: TStringDynArray;
      NameTemp: string;
      Path: string;
    begin
      Path := 'E:\Games';
      Files := TDirectory.GetFiles(Path, '*.*', TSearchOption.soAllDirectories);
      for NameTemp in Files do
        mmo1.Lines.Add(NameTemp);
    end;
      

  3.   


    TDirectory.GetDirectories要学会琢磨,别人不写出来你就永远找不到了吗