// Vorsicht! Es werden Dateien oder komplette Ordner mit dem gesamten Inhalt
// ohne Nachfrage endgültig gelöscht!
// Wichtig: Jeder Dateiname muss mit #0 abgeschlossen sein.

// Getestet mit D4 unter WinMe

uses ShellApi; 

function papierkorb(pfad: string): integer; 
var sfo: tshfileopstruct; 
  lg: integer; 
begin 
  try 
    lg := length(pfad); 
    if pfad[lg] = '\' then delete(pfad, lg, 1); 
    fillchar(sfo, sizeof(sfo), 0); 
    with sfo do begin 
      wnd := application.handle; 
      wfunc := fo_delete; 
      fflags := fof_silent or fof_noconfirmation or fof_allowundo; 
      pfrom := pchar(pfad + #0#0); 
    end; 
    result := shfileoperation(sfo); 
  except 
    result := -1; 
  end; 
end; 

// Beispielaufruf für einen Ordner 
procedure TForm1.Button2Click(Sender: TObject); 
begin 
  if papierkorb('C:\TESTORDNER') <> 0 then showmessage('Fehler!'); 
end; 
 
// Beispielaufruf für Dateien 
procedure TForm1.Button1Click(Sender: TObject); 
var d1, d2, d3, ges: string; 
begin 
  d1 := 'C:\temp\test1.diz'; 
  d2 := 'D:\test2.diz'; 
  d3 := 'C:\test3.diz'; 
  ges := d1 + #0 + d2 + #0 + d3 + #0; 
  if papierkorb(ges) <> 0 then showmessage('Fehler!'); 
end; 


Zugriffe seit 6.9.2001 auf Delphi-Ecke