10 REM >DirctC3 20 REM by Steven Flintham 30 REM 40 REM Sunday 10th January 1992 50 : 60 MODE 7 70 VDU 23;8202;0;0;0; 80 PROCdisable 90 PROCinit 100 REPEAT 110 choice%=FNmain_menu 120 UNTIL choice%=6 130 MODE 7 140 PROCenable 150 END 160 : 170 DEF PROCdisable 180 *FX229,1 190 *FX4,2 200 ENDPROC 210 : 220 DEF PROCenable 230 *FX229,0 240 *FX4,0 250 ENDPROC 260 : 270 DEF PROCinit 280 ON ERROR MODE 7:REPORT:PRINT " at line ";ERL:PROCenable:END 290 ENDPROC 300 : 310 DEF FNmain_menu 320 REM Display the main menu and accept the user's input 330 LOCAL choice_x%,choice_y%,choice%,choice_made%,key$ 340 PROCtitle 350 PRINTTAB(15,4);"Main Menu" 360 PRINTTAB(1,6);CHR$131;"A";CHR$135;"Menu option 1" 370 PRINTTAB(1,7);CHR$131;"B";CHR$135;"Menu option 2" 380 PRINTTAB(1,8);CHR$131;"C";CHR$135;"Menu option 3" 390 PRINTTAB(1,9);CHR$131;"D";CHR$135;"Menu option 4" 400 PRINTTAB(1,10);CHR$131;"E";CHR$135;"Menu option 5" 410 PRINTTAB(1,11);CHR$131;"F";CHR$135;"Quit this program" 420 PRINT'"Your choice?";CHR$131; 430 choice_x%=POS:choice_y%=VPOS 440 PRINT'"(Press RETURN to confirm your choice)" 450 choice%=3 460 PRINTTAB(choice_x%,choice_y%);CHR$(64+choice%) 470 PRINTTAB(0,5+choice%);CHR$136; 480 REPEAT 490 REPEAT 500 *FX21 510 key$=CHR$(GET AND &DF) 520 UNTIL (key$>="A" AND key$<="F") OR key$=CHR$(13) 530 IF key$<>CHR$(13) THEN PRINTTAB(choice_x%,choice_y%);key$;TAB(0,5+choice%);CHR$137;:choice%=ASC(key$)-64:PRINTTAB(0,5+choice%);CHR$136; 540 UNTIL key$=CHR$(13) 550 =choice% 560 : 570 DEF PROCtitle 580 REM Display the program title at the top of the screen 590 VDU 26,12 600 PRINTTAB(7,0);CHR$141;CHR$132;CHR$157;CHR$131;"Menu Demonstration ";CHR$156 610 PRINTTAB(7,1);CHR$141;CHR$132;CHR$157;CHR$131;"Menu Demonstration ";CHR$156 620 PRINTTAB(7,2);CHR$131;"(C) Steven Flintham 1993" 630 ENDPROC