各位:
   如何用findfirst和findnext找出D盘aa目录下面的所有文件,并把它们全部删除!请各位指点findfirst的用法,返回值!

解决方案 »

  1.   

    var
    sea:tsearchrec;
    i:integer;
    begin
    i:=findfirst('d:\aa\*.*',faanyfile,sea);
    while i=0 do
    begin
    deletefile('d:\aa\'+sea.name);
    i:=findnext(sea);
    end;
    findclose(sea);
    end;
      

  2.   

    这个是递归算法,给你我以前写的一个程序吧,参考一下应该不难完成:procedure TMainForm.DriveComboBox1Change(Sender: TObject);
    begin
      lbDirectory.Drive:=DriveComboBox1.Drive;
    end;procedure TMainForm.btnSearchClick(Sender: TObject);
    begin
      lbFile.Items.Clear;
      WaitForm:=TWaitForm.Create(Self);
      SearchFile(lbDirectory.Directory,Trim(Mark.Text));
      WaitForm.Free;
    end;procedure TMainForm.SearchFile(Directory,FileName: String);
    var
      SearchRec:TSearchRec;
      FindResult:Integer;
      function IsNotation(Dir:String):Boolean;
      begin
        Result:=(Dir='.')Or(Dir='..');
      end;
    begin
      Application.ProcessMessages;
      if WaitForm.HasCanceled then
      begin
        WaitForm.Hide;
        exit;
      end
      else
        WaitForm.Show;
      if Directory[Length(Directory)]<>'\' then
        Directory:=Directory+'\';
      FindResult:=FindFirst(Directory+FileName,faAnyFile,SearchRec);
      while FindResult=0 do
      begin
        if Not IsNotation(SearchRec.Name) then
          lbFile.Items.Add(Directory+SearchRec.Name);
        FindResult:=FindNext(SearchRec);
      end;
      FindResult:=FindFirst(Directory+'*.*',faDirectory,SearchRec);
      while FindResult=0 do
      begin
        if (SearchRec.Attr and faDirectory =faDirectory) and Not IsNotation(SearchRec.Name) then
          SearchFile(Directory+SearchRec.Name,FileName);
        FindResult:=FindNext(SearchRec);
      end;
      FindClose(SearchRec);
    end;
    其实也就和开发人员指南中的例子差不多-----------------------------------------------------
    大家有空到这里看看:www.nxrs.net