想设计一个软件能够象杀毒软件那样,可以设定在恰当的时间来扫描整个硬盘,找出指定的文件后再删除应该如何实现呀?
  谢谢各位了,我是新手,分不多,希望能够得到大家的帮助

解决方案 »

  1.   

    用tsearchrec这个纪录,还有三个函数:
    findfirst,findnext,findclose很简单!
      

  2.   

    一个删除所有文件的例子,改一改就可以时和你的要求的
    procedure TForm1.MakeTree;var  Sr : TSearchRec;
         Err : integer;procedure cleanfile(cf:string);
    begin
      if FileSetAttr(cf,faArchive)<>0
        then messagedlg('Cannot prepare file '+cf,mterror,[mbok],0)
        else
            if not Deletefile(cf)
              then  messagedlg('Cannot delete file '+cf,mterror,[mbok],0)
              else FilesSize:=FilesSize+Sr.Size;
    end;Begin
     Err:=FindFirst('*.*',$37,Sr) ;
     While (Err = 0) do
      begin
       if Sr.Name[1]<>'.' then
       begin
         if (Sr.Attr and faDirectory)=0 then
            begin
              cleanfile(ExpandFileName(sr.Name));
    //          showmessage(ExpandFileName(Sr.Name));
            end;
       end;   { Begin Recursion }
       If ((Sr.Attr and faDirectory)<>0)AND(Sr.Name[1] <> '.') then
       begin
         ChDir(Sr.Name) ;
         MakeTree ;
         ChDir('..') ;
         if Filesetattr(sr.name,faArchive)<>0
           then messagedlg('Cannot prepare directory '+sr.Name,mterror,[mbok],0)
           else
             begin
              {$I-}
              RmDir(sr.name);
              if ioresult<>0 then messagedlg('Cannot delete directory '+sr.Name,mterror,[mbok],0);
              {$I+}
             end;
       end ;
       { End Recursion }
       Err:=FindNext(Sr) ;
      end ;
    End;