home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l180 / 1.ddi / KEYS.BAS < prev    next >
Encoding:
BASIC Source File  |  1989-02-07  |  2.7 KB  |  88 lines

  1.   ' ************************************************
  2.   ' **  Name:          KEYS                       **
  3.   ' **  Type:          Toolbox                    **
  4.   ' **  Module:        KEYS.BAS                   **
  5.   ' **  Language:      Microsoft QuickBASIC 4.00  **
  6.   ' ************************************************
  7.   '
  8.   ' Demonstrates keyboard access functions.
  9.   ' USAGE:           No command line parameters
  10.   ' .MAK FILE:       (none)
  11.   ' PARAMETERS:      (none)
  12.   ' VARIABLES:       kee%       Unique integer returned by KeyCode% and
  13.   '                             InKeyCode%
  14.   
  15.     DECLARE FUNCTION KeyCode% ()
  16.     DECLARE FUNCTION InKeyCode% ()
  17.   
  18.     CLS
  19.     PRINT "Press any key to see the unique number returned by KeyCode%."
  20.     PRINT "Press Esc to see InKeyCode% results for 1 second."
  21.     PRINT "Press Esc twice in a row to quit."
  22.     PRINT
  23.   
  24.     DO
  25.         kee% = KeyCode%
  26.         PRINT kee%
  27.         IF kee% = 27 THEN
  28.             t0 = TIMER
  29.             DO
  30.                 kee% = InKeyCode%
  31.                 PRINT kee%;
  32.                 IF kee% THEN
  33.                     PRINT
  34.                 END IF
  35.                 IF kee% = 27 THEN
  36.                     quitFlag% = -1
  37.                     t0 = t0 - 1
  38.                 END IF
  39.             LOOP UNTIL TIMER - t0 > 1
  40.             PRINT
  41.         END IF
  42.     LOOP UNTIL quitFlag%
  43.   
  44.     END
  45.  
  46.   ' ************************************************
  47.   ' **  Name:          InKeyCode%                 **
  48.   ' **  Type:          Function                   **
  49.   ' **  Module:        KEYS.BAS                   **
  50.   ' **  Language:      Microsoft QuickBASIC 4.00  **
  51.   ' ************************************************
  52.   '
  53.   ' Returns a unique integer for any key pressed or
  54.   ' a zero if no key was pressed.
  55.   '
  56.   ' EXAMPLE OF USE:  k% = InKeyCode%
  57.   ' PARAMETERS:      (none)
  58.   ' VARIABLES:       (none)
  59.   ' MODULE LEVEL
  60.   '   DECLARATIONS:  DECLARE FUNCTION KeyCode% ()
  61.   '
  62.     FUNCTION InKeyCode% STATIC
  63.         InKeyCode% = CVI(INKEY$ + STRING$(2, 0))
  64.     END FUNCTION
  65.  
  66.   ' ************************************************
  67.   ' **  Name:          KeyCode%                   **
  68.   ' **  Type:          Function                   **
  69.   ' **  Module:        KEYS.BAS                   **
  70.   ' **  Language:      Microsoft QuickBASIC 4.00  **
  71.   ' ************************************************
  72.   '
  73.   ' Returns a unique integer for any key pressed.
  74.   '
  75.   ' EXAMPLE OF USE:  k% = KeyCode%
  76.   ' PARAMETERS:      (none)
  77.   ' VARIABLES:       (none)
  78.   ' MODULE LEVEL
  79.   '   DECLARATIONS:  DECLARE FUNCTION KeyCode% ()
  80.   '
  81.     FUNCTION KeyCode% STATIC
  82.         DO
  83.             k$ = INKEY$
  84.         LOOP UNTIL k$ <> ""
  85.         KeyCode% = CVI(k$ + CHR$(0))
  86.     END FUNCTION
  87.  
  88.