home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / developmen / oplexamp / EX_IOTYP.OPL < prev    next >
Text File  |  1992-08-27  |  914b  |  52 lines

  1. PROC ioType:
  2.     LOCAL ret%,fName$(128),txt$(255),address%
  3.     LOCAL handle%,mode%,k%
  4. print "iotype of a file:"
  5. print "press a key" :get :cls
  6.     PRINT "Filename?", :INPUT fName$ :    CLS
  7.     mode%= $0400 OR $0020
  8. REM open=$0000, text=$0020, share=$0400
  9.     ret%=IOOPEN(handle%,fName$,mode%)
  10.     IF ret%<0
  11.         showErr:(ret%)
  12.         RETURN
  13.     ENDIF    
  14.     address%=ADDR(txt$)
  15.     WHILE 1
  16.         k%=KEY
  17.         IF k% :    REM if keypress
  18.             IF k%=27 REM Esc pressed
  19.                 RETURN
  20.             REM otherwise wait for a key
  21.             ELSEIF GET=27
  22.                  RETURN REM Esc pressed
  23.             ENDIF
  24.         ENDIF
  25.         ret%=IOREAD(handle%,address%+1,255)
  26.         IF ret%<0
  27.             IF ret%<>-36 REM NOT EOF
  28.                 showErr:(ret%)
  29.             ENDIF
  30.             BREAK
  31.         ELSE
  32.             POKEB address%,ret%
  33. REM poke leading byte count
  34.             PRINT txt$
  35.         ENDIF
  36.     ENDWH
  37.     ret%=IOCLOSE(handle%)
  38.     IF ret%
  39.         showErr:(ret%)
  40.     ENDIF
  41.     PAUSE -100 :KEY
  42. ENDP
  43.  
  44.  
  45.  
  46.  
  47. PROC showErr:(val%)
  48.     PRINT "Error",val%,err$(val%)
  49.     GET
  50. ENDP
  51.  
  52.