Contributor: JOHN RUZICKA
{ This function deletes a file in Windows 95 and moves it to the recycle bin.
 It returns True if the operation is successful, and False otherwise
 Syntax:
 x := RecycleFile(Filename);
 *** Distribute this file freely
 This unit written by John Ruzicka 75160.2376@compuserve.com
 based on code from Dennis Passmore and Steve Schafer on the
 BDELPHI forum
 }
unit Recycle;
interface
uses Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs, ShellAPI;
function RecycleFile(FileToRecycle: string): boolean;
implementation
function RecycleFile(FileToRecycle: TFilename): boolean;
var Struct: TSHFileOpStruct;
 pFromc: array[0..255] of char;
 Resultval: integer;
begin
 if not FileExists(FileToRecycle) then begin
 RecycleFile := False;
 exit;
 end
 else begin
 fillchar(pfromc,sizeof(pfromc),0);
 StrPcopy(pfromc,expandfilename(FileToRecycle)+#0#0);
 Struct.wnd := 0;
 Struct.wFunc := FO_DELETE;
 Struct.pFrom := pFromC;
 Struct.pTo := nil;
 Struct.fFlags:= FOF_ALLOWUNDO;
 Struct.fAnyOperationsAborted := false;
 Struct.hNameMappings := nil;
 Resultval := ShFileOperation(Struct);
 RecycleFile := (Resultval = 0);
 end;
end;
end.


AltStyle によって変換されたページ (->オリジナル) /