home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / TPCOMPLT.ZIP / KEYSTAT.SRC < prev    next >
Text File  |  1986-05-06  |  693b  |  24 lines

  1. {<<<< KeyStat >>>>}
  2. { From: COMPLETE TURBO PASCAL by Jeff Duntemann  }
  3. { Scott, Foresman & Co. 1986  ISBN 0-673-18600-8 }
  4. { Described in section 20.6 -- Last mod 2/1/86   }
  5. { This version specific to PC/MS DOS             }
  6.  
  7. FUNCTION KeyStat(VAR Ch : Char) : Boolean;
  8.  
  9. TYPE
  10.   RegPack = RECORD
  11.               AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : Integer
  12.             END;
  13.  
  14. VAR
  15.   Registers : RegPack;
  16.  
  17. BEGIN
  18.   Registers.AX := $0600;   { DOS call 6: Direct Console I/O }
  19.   Registers.DX := 255;     { Selects non-echo read function }
  20.   MSDOS(Registers);        { Make the DOS call }
  21.   Ch := Chr(Registers.AX); { The character is returned in AX }
  22.   KeyStat := Ch <> Chr(0)
  23. END;
  24.