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.