如何得到指定目录中的所有文件名的列表呢?

解决方案 »

  1.   

    得到一目录下所有文件名:(以前CSDN上学习到的)procedure Tfrmmain.serach;
    var
      sr: TSearchRec;
      FileAttrs: Integer;
      s1, s2: string;
    begin
      if findfirst(Edpath.Text + '\*.*', FileAttrs, sr) = 0 then
        repeat
          if ((sr.Name <> '.') and (sr.Name <> '..') and ((filegetattr(Edpath.Text + '\' + sr.Name)
            and fadirectory) <> fadirectory)) then
          begin
            s1 := Edpath.Text + '\' + sr.Name;
            if Edit2.Text = copy(s1, length(s1) - length(edit2.Text) + 1, length(edit2.Text)) then
            begin
              s2 := copy(s1, 1, length(s1) - length(edit2.Text)) + Edit3.Text;
              renamefile(s1, s2);
            end;
          end;
        until findnext(sr) <> 0;  if findfirst(Edpath.Text + '\*.*', FileAttrs, sr) = 0 then
        repeat
          if ((sr.Name <> '.') and (sr.Name <> '..') and ((filegetattr(Edpath.Text + '\' + sr.Name)
            and fadirectory) = fadirectory)) then
            serach;
        until findnext(sr) <> 0;
    end;//之所以要排除"."".."是因为每个文件目录下都会有这两个东东了.