读取目录文件

procedure  FileSearch(DirPath:AnsiString);
var
  TarGetPath:string;{目标路径名}
  Sr:TsearchRec;
begin
  TarGetPath:=ExtractFilePath(DirPath); {分解出目标路径名}
    if  FindFirst(DirPath,faAnyfile,Sr)=0   then
    repeat
      if (Sr.name<>'.')and(Sr.name<>'..') then    //排除父目录和本目录两个假文件
      begin
        if ((FileGetAttr(TarGetPath+Sr.name) and faDirectory)<>faDirectory) then //只取文件         

           Form1.Memo1.Lines.Add(TarGetPath+Sr.name)//{在memo中添加找到的文件
        else
        begin    // 目录 递归调用
          Form1.Memo1.Lines.Add(TarGetPath+Sr.name);
          FileSearch(TarGetPath+Sr.name+'\*.*');  //{递归调用
        end;
      end;

    until   FindNext(sr)<>0;

end;

 

procedure TForm1.Button3Click(Sender: TObject);
begin

      Memo1.Clear;{清除数据表memo字段内容}
      FileSearch(Edit1.Text);{调用Search()函数}
   {   MessageDlg('文件搜索完毕!',mtInformation,[mbOk],0);{结束提示}
    {  showmessage('目录:'+inttostr(countd)+'   文件:'+inttostr(countf))  }

end;

posted @ 2012-08-23 10:36  順⑦.z燃  阅读(117)  评论(0编辑  收藏  举报