我想在程序中,直接对文件进行删除操作,请问该如何做?
最好是能够写个例程,谢谢!

解决方案 »

  1.   

    if DeleteFile(filename) then
       ShowMessage('删除成功');
      

  2.   

    事先判断文件是否存在 FileExists
      

  3.   

    if FileExists(FileName) then
      if MessageDlg('Do you really want to delete ' + ExtractFileName(FileName) + '?'), mtConfirmation, [mbYes, mbNo], 0, mbNo) = IDYes then 
        DeleteFile(FileName);
      

  4.   

    procedure ToRecycle(AHandle: THandle; const ADirName: String);
    var
      SHFileOpStruct: TSHFileOpStruct;
      DirName: PChar;
      BufferSize: Cardinal;
    begin
      BufferSize := Length(ADirName) +1 +1;
      GetMem(DirName, BufferSize);
      try
        FillChar(DirName^, BufferSize, 0);
        StrCopy(DirName, PChar(ADirName));    with SHFileOpStruct do
        begin
          Wnd := AHandle;
          wFunc := FO_DELETE;
          pFrom := DirName;
          pTo := nil;
          fFlags := FOF_ALLOWUNDO;      fAnyOperationsAborted := False;
          hNameMappings := nil;
          lpszProgressTitle := nil;
        end;    if SHFileOperation(SHFileOpStruct) <> 0 then
          RaiseLastWin32Error;
      finally
        FreeMem(DirName, BufferSize);
      end;
    end;
      
     ToRecycle(0, 文件路径);//删除 
      

  5.   

    删除一个目录的函数
    function DelDirectory(const Source:string): boolean;
    var
      fo: TSHFILEOPSTRUCT;
    begin
      FillChar(fo, SizeOf(fo), 0);
      with fo do
      begin
        Wnd := 0;
        wFunc := FO_DELETE;
        pFrom := PChar(source+#0);
        pTo := #0#0;
        fFlags := FOF_NOCONFIRMATION+FOF_SILENT;
      end;
      Result := (SHFileOperation(fo) = 0);
    end;
      

  6.   

    首先判断文件是否存在,然后判断文件是否正在被使用,如果没被使用就DeleteFile(FileName)
      

  7.   

    请问个位我有一个没有节点的INI文件我想删除里面的一行怎么做呢?
      

  8.   

    procedure TForm1.DelTree(ASourceDir:String);
    var
    FileRec:TSearchrec;
    Sour:String;
    begin
      Sour:=ASourceDir;
      if Sour[Length(Sour)]<>'\' then Sour := Sour + '\';  if not DirectoryExists(ASourceDir) then
         begin
           ShowMessage('来源目录不存在!!');
           exit;
         end;  if FindFirst(Sour+'*.*',faAnyfile,FileRec) = 0 then
        repeat
          //if (FileRec.Attr = faDirectory) then
          if ((FileRec.Attr and faDirectory) <> 0) then
             begin
               if (FileRec.Name<>'.') and (FileRec.Name<>'..') then
                  begin
                    DelTree(Sour+FileRec.Name);                FileSetAttr(Sour+FileRec.Name,faArchive);
                    RemoveDir(Sour+FileRec.Name);
                  end;
             end
          else
             begin
               FileSetAttr(Sour+FileRec.Name,faArchive);
               deletefile(Sour+FileRec.Name);
             end;
        until FindNext(FileRec)<>0;  FindClose(FileRec);  FileSetAttr(Sour,faArchive);
      RemoveDir(Sour);
    end;