Az alacsony szintű törléseknél - ilyet végez a DeleteFile eljárás is - a file letörlődik. A következő kódrészlet segítségével azonban, egy API hívást használva a kukába helyeződik át a file. Egy file törléséhez egyszerűen meg kell hívni a DeleteFileWithUndo() eljárást, paraméternek megadva a file nevét. Amennyiben a művelet sikeres volt, az eljárás TRUE-t ad vissza... ... 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;