[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]
{ DR> DEL/ERASE command is able to erase an entire directory by using DEL *.*
DR> With such speed. It clearly has a method other than deleting File by
DR> File.
Function $41 of Int $21 will do what you want. You'll need to
make an ASCIIZ Filename of the path and File(s), and set a Pointer
to it in DS:DX. When it returns, if the carry flag (CF) is set,
then AX holds the Dos error code.
}
Function DosDelete (FileName : PathStr) : Word; {returns error if any}
Var Regs : Registers;
begin
FileName[65] := 0; {make asciiz- maybe, not sure}
Regs.DS := Seg(FileName); {segment to String}
Regs.DX := offset(FileName)+1; {add one since f[0] is length}
Regs.AH := $41;
Regs.AL := 0; {Initialize}
Intr ($21, Regs);
if Regs.AL <> 0 {error} then DosDelete := Regs.AX else DosDelete := 0;
end;
[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]