home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / FORTH / 4THPROG.ZIP / DOSFUNC.FOR < prev    next >
Encoding:
Text File  |  1985-10-30  |  1.3 KB  |  55 lines

  1. $TITLE:' MS-DOS FUNCTION CALLS'
  2.       SUBROUTINE INKEY(CHR)
  3.       CHARACTER*1 CHR
  4.       INTEGER*2 A,B,C,DOSFN
  5. C
  6. C  THIS ROUTINE RETRIEVES A CHARACTER FROM THE KEYBOARD
  7. C  WITHOUT THE KEY BEING EHCOED TO THE SCREEN. A HANDY 
  8. C  THING WHEN DOING GRAPHICS.
  9. C
  10.       A=6
  11.       B=255
  12.       C=DOSFN(A,B)
  13.       CHR=CHAR(C)
  14.       RETURN
  15.       END
  16.       SUBROUTINE POLKBD(STAT)
  17.       INTEGER*2 A,B,STAT,DOSFN
  18. C
  19. C  THIS ROUTINE RETRIEVES THE KEYBOARD STATUS.
  20. C   This can be a very useful routine for allowing a FORTRAN
  21. C   program to be interrupted periodically to print out 
  22. C   intermediate results.
  23. C
  24.       A=11
  25.       B=0
  26.       STAT=DOSFN(A,B)
  27. C
  28. C  STAT= 0    NO KEYS HAVE BEEN PRESSED
  29. C        255  A KEY HAS BEEN PRESSED
  30. C
  31.       RETURN
  32.       END
  33.       SUBROUTINE FLUSH
  34.       INTEGER*2 A,B,C,DOSFN
  35. C
  36. C  FLUSH BUFFER
  37. C
  38.       A=12
  39.       B=0
  40.       C=DOSFN(A,B)
  41.       RETURN
  42.       END
  43.       SUBROUTINE GETCHR(CHR)
  44.       INTEGER*2 STAT
  45.       CHARACTER*1 CHR
  46. C
  47. C  WAIT UNTIL A KEY HAS BEEN PRESSED
  48. C  THEN RETRIEVE WHAT KEY WAS PRESSED AND RETURN
  49. C
  50. 10    CALL POLKBD(STAT)
  51.       IF(STAT.EQ.0) GO TO 10
  52.       CALL INKEY(CHR)
  53.       RETURN
  54.       END
  55.