PreviousNextIndex

KEYFUNCTION function

Evaluates an integer expression (such as 301) and returns a character string that is the function of the key associated with that integer expression (such as GO).

Note: Does not apply to SpeedScript programming.
Syntax

KEYFUNCTION ( expression ) 

expression
Example

This procedure displays a menu and highlights different selections, depending on which key you press. On the first iteration of the REPEAT block, the COLOR statement tells the AVM to color msg[ix] with the same color used to display messages. Because the initial value of ix is 1, msg[ix] is the first menu selection. Therefore, the first menu selection is colored MESSAGES.

r-keyfn.p
DEFINE VARIABLE msg  AS CHARACTER NO-UNDO EXTENT 3. 
DEFINE VARIABLE ix   AS INTEGER   NO-UNDO INITIAL 1. 
DEFINE VARIABLE newi AS INTEGER   NO-UNDO INITIAL 1. 
DEFINE VARIABLE func AS CHARACTER NO-UNDO. 
DISPLAY  
  "     Please choose     " SKIP(1) 
  " 1  Run order entry    " @ msg[1] ATTR-SPACE SKIP 
  " 2  Run receivables    " @ msg[2] ATTR-SPACE SKIP 
  " 3  Exit               " @ msg[3] ATTR-SPACE SKIP 
  WITH CENTERED FRAME menu NO-LABELS. 
REPEAT: 
  COLOR DISPLAY MESSAGES msg[ix] WITH FRAME menu. 
  READKEY. 
  func = KEYFUNCTION(LASTKEY). 
  IF func = "CURSOR-DOWN" AND ix < 3 THEN  
    newi = ix + 1. 
  ELSE IF func = "CURSOR-UP" AND ix > 1 THEN 
    newi = ix - 1. 
  ELSE IF func = "GO" OR func = "RETURN" THEN LEAVE. 
  IF ix <> newi THEN  
    COLOR DISPLAY NORMAL msg[ix] WITH FRAME menu. 
  ix = newi. 
END. 

See the example in the KEYCODE function reference entry for details on what happens if you press keylabel component.

Notes
See also

KEYCODE function, KEYLABEL function


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex