Menu: Difference between revisions
Content added Content deleted
m ({{omit from|GUISS}}) |
(added OpenEdge solution) |
||
Line 805: | Line 805: | ||
else |
else |
||
select choices prompt</lang> |
select choices prompt</lang> |
||
=={{header|OpenEdge/Progress}}== |
|||
<lang progress>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.</lang> |
|||
=={{header|Oz}}== |
=={{header|Oz}}== |