51 lines
1.0 KiB
Plaintext
51 lines
1.0 KiB
Plaintext
FUNCTION bashMenu RETURNS CHAR(
|
|
i_c AS CHAR
|
|
):
|
|
|
|
DEF VAR ii AS INT.
|
|
DEF VAR hfr AS HANDLE.
|
|
DEF VAR hmenu AS HANDLE EXTENT.
|
|
DEF VAR ikey AS INT.
|
|
DEF VAR ireturn AS INT INITIAL ?.
|
|
|
|
EXTENT( hmenu ) = NUM-ENTRIES( i_c ).
|
|
|
|
CREATE FRAME hfr ASSIGN
|
|
WIDTH = 80
|
|
HEIGHT = NUM-ENTRIES( i_c )
|
|
PARENT = CURRENT-WINDOW
|
|
VISIBLE = TRUE
|
|
.
|
|
|
|
DO ii = 1 TO NUM-ENTRIES( i_c ):
|
|
|
|
CREATE TEXT hmenu ASSIGN
|
|
FRAME = hfr
|
|
FORMAT = "x(79)"
|
|
SCREEN-VALUE = SUBSTITUTE( "&1. &2", ii, ENTRY( ii, i_c ) )
|
|
ROW = ii
|
|
VISIBLE = TRUE
|
|
.
|
|
|
|
END.
|
|
|
|
IF i_c = "" THEN
|
|
ireturn = 1.
|
|
|
|
DO WHILE ireturn = ?:
|
|
|
|
READKEY.
|
|
ikey = INTEGER( CHR( LASTKEY ) ) NO-ERROR.
|
|
IF ikey >= 1 AND ikey <= NUM-ENTRIES( i_c ) THEN
|
|
ireturn = ikey.
|
|
|
|
END.
|
|
|
|
RETURN ENTRY( ireturn, i_c ).
|
|
|
|
END FUNCTION.
|
|
|
|
MESSAGE
|
|
bashMenu( "fee fie,huff and puff,mirror mirror,tick tock" )
|
|
VIEW-AS ALERT-BOX.
|