[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]

    --------------------------------------------------------------------------------
    Windows will not let the user or your program undo file delete operations
    that your perform using low-level functions such as DeleteFile() from
    your program. Following function, however, will delete a file with the
    ability to undo (recycle) by sending the file to the "Recycle Bin."

    uses ShellAPI;

    function DeleteFileWithUndo(
      sFileName : string )
        : boolean;
    var
      fos : TSHFileOpStruct;
    begin
      FillChar( fos, SizeOf( fos ), 0 );
      with fos do
      begin
        wFunc  := FO_DELETE;
        pFrom  := PChar( sFileName );
        fFlags := FOF_ALLOWUNDO
                  or FOF_NOCONFIRMATION
                  or FOF_SILENT;
      end;
      Result := ( 0 = ShFileOperation( fos ) );
    end;

    To delete a file, simply pass the file name to DeleteFileWithUndo() and
    it will return True if the operation was successful

[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]