44. Multiple menu technique ~~~~~~~~~~~~~~~~~~~~~~~ If you have a program involving lots of different menus, it's very tedious writing them all. Here is a fiendishly clever way of making the job easier, courtesy of Tim Davies. Just put the heading and contents of each menu in DATA statements, ending each menu with a "#". You can then call up the first menu with FNmenu(1), the second with FNmenu(2) and so on. The Function returns the number of choice you made from the menu. You can use this in various ways, such as ON FNmenu(2) GOTO 100,110,120 etc.. , or CHOICE%=FNmenu(3):IF CHOICE%=1 THEN ... ELSE .... The number in line 5910 must point to the first of the DATA statements, which must be numbered in steps of 10. If you renumber the program, remember to alter line 5910, (or whatever it becomes), as it won't be done automatically. You can of course pretty the menus up with nice colours etc., but this should at least inspire your ideas. The easiest way to test this Function without having to write a short program is to simply type PRINT FNmenu(2) etc.. 5900 DEF FNmenu(num%):LOCAL text$,get%:num%=(num%-1)*10 5910 RESTORE num%+6000:CLS :REM 6000 is 1st DATA statement 5920 item%=1:READ text$:PRINT'TAB(12)text$'' 5930 READ text$:IF text$<>"#" THEN PRINT TAB(4);item%" ..... ..... "text$:item%=item%+1:GOTO 5930 5940 PRINT'"Select desired Option No. ";:REPEAT get%=GET-48:UNTIL get%>0 AND get%