-- UPDATE -- : the LBL 10 was misplaced of course, plus some initialisations added
okay, I think I understood now: you can only choose 1 option, A,B,C or D. And when you just entered, none have been chosen.
Choosing another option will erase the previously chosen one.
So, two options
1.with a variable a, initialised to 0
Code: Select all
0
STO a
CLMENU
LBL 10
RCL a
"A"
DSE ST X
X#0? @ nop
X=0?
+"."
KEY 1 XEQ 01
"B"
DSE ST X
X#0?
X=0?
+"."
KEY 2 XEQ 02
"C"
DSE ST X
X#0?
X=0?
+"."
KEY 3 XEQ 03
"D"
DSE ST X
X#0?
X=0?
+"."
KEY 4 XEQ 04
Rv
MENU
STOP
GTO 10
LBL 01
1
STO a
Rv
RTN
LBL 02
2
STO a
Rv
RTN
LBL 03
3
STO a
Rv
RTN
LBL 04
4
STO a
Rv
RTN
2. with 5 (!) flags, all clear at the beginning:
Code: Select all
CLMENU
XEQ 00
CF 00
LBL 10
"A"
FS? 01
+"."
KEY 1 XEQ 01
"B"
FS? 02
+"."
KEY 2 XEQ 02
"C"
FS? 03
+"."
KEY 3 XEQ 03
"D"
FS? 04
+"."
KEY 4 XEQ 04
MENU
STOP
GTO 10
LBL 01
XEQ 00
SF 01
RTN
LBL 02
XEQ 00
SF 02
RTN
LBL 03
XEQ 00
SF 03
RTN
LBL 04
XEQ 00
SF 04
RTN
LBL 00
SF 00
CF 01
CF 02
CF 03
CF 04
RTN
In the latter case, perhaps flag 0 is not needed?
Cheers, Werner