delphi 遍历文件单元文件  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 遍历文件单元文件


unit FindFileUnt;

interface

uses SysUtils,TntClasses,TntSysUtils;


procedure FindFile(const filespec: WideString;TmpList:TTntStringList;bSubDirectory:boolean);


implementation

procedure FindFile(const filespec: WideString;TmpList:TTntStringList;bSubDirectory:boolean);

  procedure RFindFile(const folder: WideString);

  var

    SearchRec: TSearchRecW;

  begin

  if WideFindFirst(folder +'*.*' , faAnyFile , SearchRec)=0 then

    begin

      try

        repeat

          if (SearchRec.Attr and faDirectory = 0) or (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then

          if widefileexists(folder + SearchRec.Name) then

            TmpList.Add(folder + SearchRec.Name);

        until wideFindNext(SearchRec) <> 0;

      except

        WideFindClose(SearchRec);

        raise;

      end;

    WideFindClose(SearchRec);

    end;


  if bSubDirectory then

    begin

    if WideFindFirst(folder + '*.*', faAnyFile Or faDirectory, SearchRec) = 0 then

      begin

      try

        repeat

          if ((SearchRec.Attr and faDirectory) <> 0) and (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then

            RFindFile(folder + SearchRec.Name + '\');

        until WideFindNext(SearchRec) <> 0;

      except

        WideFindClose(SearchRec);

        raise;

      end;

      WideFindClose(SearchRec);

      end;

    end;

  end;


begin

  try

    RFindFile(WideExtractFilePath(filespec));

  except

    raise;

  end;

end;


end.



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.069685935974121 seconds