[Back to FILES SWAG index] [Back to Main SWAG index] [Original]
{
> In my program I create some temporary files, but I like to delete them
> before my program is finished.
Here, the assembly code:
}
Function DeleteFile(FileName : string) : integer; assembler;
{ Deletes an external file.
Returns: 0 if successful, non-zero DOS error code otherwise. }
Asm
push ds
lds si,FileName
inc byte ptr [si]
mov bl,byte ptr [si]
xor bh,bh
mov dx,si
inc dx
mov byte ptr [si+bx],0
mov ah,41h
int 21h
jc @error
xor ax,ax
@error:
dec byte ptr [si]
pop ds
End; { DeleteFile }
var
Result : integer;
Path : string;
Begin
Path := 'C:\AUTOEXEC.BAK';
Write('Attempting to delete ', Path, '... ');
Result := DeleteFile(Path);
if Result = 0 then
WriteLn(#13, Path, ' successfully deleted. ')
else
WriteLn(#13'Unable to delete ', Path, '. DOS error ', Result, ' occured.')
End.
[Back to FILES SWAG index] [Back to Main SWAG index] [Original]