Menu: Difference between revisions

1,127 bytes added ,  12 years ago
added OpenEdge solution
m ({{omit from|GUISS}})
(added OpenEdge solution)
Line 805:
else
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}}==
73

edits