home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / prezent / cb / data.z / ERASE.ASM < prev    next >
Assembly Source File  |  1997-01-16  |  852b  |  53 lines

  1.  
  2. ; *******************************************************
  3. ; *                            *
  4. ; *     Delphi Runtime Library                          *
  5. ; *                            *
  6. ; *    Copyright (c) 1996 Borland International    *
  7. ; *                            *
  8. ; *******************************************************
  9.  
  10.     INCLUDE    SE.ASM
  11.     INCLUDE    FILEIO.ASM
  12.  
  13.     .386
  14.     .MODEL    FLAT
  15.  
  16.     EXTRN    DeleteFileA:NEAR, GetLastError:NEAR, SetInOutRes:NEAR
  17.  
  18.     PUBLIC    _Erase
  19.  
  20.     .CODE
  21.  
  22. ;    PROCEDURE _Erase( f: Text or File );
  23.  
  24. _Erase    PROC
  25.  
  26. ; ->    EAX    Pointer to file variable
  27.  
  28.     MOV    EDX,[EAX].Mode
  29.     SUB    EDX,fmClosed
  30.     CMP    EDX,fmInOut-fmClosed
  31.     JA      @@notAssigned
  32.     LEA    EAX,[EAX].FileName
  33.     PUSH    EAX
  34.     CALL    DeleteFileA
  35.     DEC    EAX
  36.     JNZ    @@error
  37. @@exit:
  38.     RET
  39.  
  40. @@error:
  41.     CALL    GetLastError
  42. @@errExit:
  43.     CALL    SetInOutRes
  44.     JMP    @@exit
  45.  
  46. @@notAssigned:
  47.     MOV    EAX,102
  48.     JMP    @@errExit
  49.  
  50. _Erase    ENDP
  51.  
  52.     END
  53.