How to copy, move or delete files windows like? The answer is simple: Let the shell do it for you! With the following function it’s an easy job!
Remember to add the unit ShellAPI to your uses-Section. Please read the section about SHFileOperation in the Delphi Online Help for possible values of the parameters op and flags. Some examples of using the procedure:
Send a file to the trashcan
FileOperation (filename,"",FO_DELETE,FOF_ALLOWUNDO);
Move a file to another directory
FileOperation (sourcefile,destination,FO_MOVE,FOF_ALLOWUNDO);
Copy a file to another directory
FileOperation (sourcefile,destination,FO_COPY,FOF_ALLOWUNDO);
procedure FileOperation (const source,
dest: string;
op, flags: Integer);
var shf: TSHFileOpStruct;
s1, s2: string;
begin
FillChar (shf, SizeOf (shf), #0);
s1:= source + #0#0;
s2:= dest + #0#0;
shf.Wnd:= 0;
shf.wFunc:= op;
shf.pFrom:= PCHAR (s1);
shf.pTo:= PCHAR (s2);
shf.fFlags:= flags;
SHFileOperation (shf);
end (*FileOperation*);