55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
|
$set noosvs mf ans85
|
||
|
************************************************************
|
||
|
* *
|
||
|
* (C) Micro Focus Ltd. 1991 *
|
||
|
* *
|
||
|
* FUNKEY.CBL *
|
||
|
* *
|
||
|
* This program demonstrates how to decode function keys *
|
||
|
* using the x"af" call. *
|
||
|
* *
|
||
|
************************************************************
|
||
|
special-names.
|
||
|
crt status is key-status.
|
||
|
|
||
|
working-storage section.
|
||
|
01 flag pic 9(2) comp-x value 1.
|
||
|
01 user-key-control.
|
||
|
05 enable-fn-keys pic 9(2) comp-x value 1.
|
||
|
05 filler pic x value "1".
|
||
|
05 first-user-key pic 9(2) comp-x value 1.
|
||
|
05 number-of-keys pic 9(2) comp-x value 10.
|
||
|
|
||
|
01 key-status.
|
||
|
05 key-type pic x.
|
||
|
05 key-code-1 pic 9(2) comp-x.
|
||
|
05 filler pic x.
|
||
|
01 any-data pic x.
|
||
|
01 key-code-1-display pic z9.
|
||
|
|
||
|
procedure division.
|
||
|
perform enable-keys
|
||
|
perform accept-function-key
|
||
|
perform tell-which-key-was-pressed
|
||
|
perform stop-run.
|
||
|
|
||
|
enable-keys.
|
||
|
call x"af" using flag user-key-control.
|
||
|
|
||
|
accept-function-key.
|
||
|
display spaces upon crt
|
||
|
display "Press a function key: F1 to F10" at 0505
|
||
|
accept any-data at 0540.
|
||
|
|
||
|
tell-which-key-was-pressed.
|
||
|
evaluate key-type
|
||
|
when 0 display "You pressed <Enter>" at 0705
|
||
|
when 1
|
||
|
move key-code-1 to key-code-1-display
|
||
|
display "You pressed function key" at 0705
|
||
|
display key-code-1-display at 0730
|
||
|
end-evaluate.
|
||
|
|
||
|
stop-run.
|
||
|
stop run.
|