求遍历目录代码 比如遍历C盘的 要自己写的
最好注释下

解决方案 »

  1.   

    Procedure TForm1.RecurSearchFile(CurrentDir:string;SearchFileType:string;SearchResult:TStrings;var Number:integer);
    var
     i:integer;
     Subdir:TStringList;
     SearchRec:TsearchRec;
    begin
    //第一次调用FindFirst和FindNext查找符合要求的文件
     if (FindFirst(CurrentDir+SearchFileType, faAnyFile, SearchRec)=0) then
      begin
       repeat
        if CurrentIsValidDir(SearchRec)=0 then
          begin
           Inc(Number);
           Searchresult.Add(CurrentDir+SearchRec.Name);
           doOneFile(SearchRec.Name);
           fOutStr.write()
          end;
        application.ProcessMessages ;
       until (FindNext(SearchRec) <> 0);
      end;
     FindClose(SearchRec);//以下是递归部分,查找各子目录。
     Subdir:=TStringList.Create;
     if (FindFirst(CurrentDir+'*.*', faDirectory, SearchRec)=0) then
      begin
       repeat
        if CurrentIsValidDir(SearchRec)=1 then
         begin
          Subdir.Add(SearchRec.Name);
         end;
        application.ProcessMessages ;
       until (FindNext(SearchRec) <> 0);
      end;
     FindClose(SearchRec);
     for i:=0 to Subdir.Count-1 do
      begin
       RecurSearchfile(CurrentDir+Subdir.Strings[i]+'\',SearchFileType,Searchresult,Number);
      end;
      

  2.   

    参考这个http://community.csdn.net/Expert/TopicView3.asp?id=5614363