如題。

解决方案 »

  1.   

    用findfirst(),findnext()函数好像可以,但没有用过,最好用线程
      

  2.   

    我写的函数:
      procedure GetFileNames(const Path: String;var ss:TStringList);
      //功能:把path目录下的所有文件名放入ss中。
      //例如:GetFileNames('c:\*.sys',ss);
      //      GetFileNames('c:\*.*',ss);
      var
        sr:TSearchRec;
        fr:Integer;
      begin
        ss.Clear;
        fr:=FindFirst(Path,faAnyFile,sr);
        while fr=0 do
        begin
          if (sr.Attr<>faDirectory) then //and(sr.Name<>'.')and(sr.Name<>'..') then
          begin
            ss.Add(sr.Name);
          end;
          fr:=FindNext(sr);
        end;
        FindClose(sr);
      end;调用例子:
      var ssTableNames:TStringList;
      begin
      ssTableNames:=TStringList.Create;
      GetFileNames('c:\*.*',ssTableNames);
      for i:=0 to ssTableNames.Count-1 do
        ShowMessage(ssTableNames.Strings[i]);
      ssTableNames.Free;
     end;