0'MENU PROGRAM BY BOB VOLLMER. LAST UPDATE: 10/12/82 10 C1=7:C2=4:C3=3:C0=14:A$="abcdefghijklmnopqrstuvwxyz" 20 KEY 1,"?>DOS":KEY 2," EXIT ":KEY 3,"PRINT":KEY 4,"":KEY 5,"":ON KEY(1) GOSUB 65100:ON KEY(2) GOSUB 65200:ON KEY(3) GOSUB 65300:FOR I=1 TO 3:KEY(I) ON:NEXT I 50 SCREEN 0,1:WIDTH 40:COLOR C1,C2,C3:CLS:COLOR 14,C3:KEY OFF:LOCATE 25,1:PRINT SPACE$(40);:KEY ON:COLOR C1,C2 200 T$(0)=" FINANCE PROGRAMS ":GOSUB 500:GOSUB 400:X1=8:GOSUB 300:COLOR C1:I=0 201 I=I+1:T$(I)="Description 1":P$(I)="Program Name 1":GOSUB 65400 202 I=I+1:T$(I)="Description 2":P$(I)="Program Name 2":GOSUB 65400 203 I=I+1:T$(I)="Description 3":P$(I)="Program Name 3":GOSUB 65400 204 I=I+1:T$(I)="Description 4":P$(I)="Program Name 4":GOSUB 65400 205 I=I+1:T$(I)="Description 5":P$(I)="Program Name 5":GOSUB 65400 206 I=I+1:T$(I)="Description 6":P$(I)="Program Name 6":GOSUB 65400 207 I=I+1:T$(I)="Description 7":P$(I)="Program Name 7":GOSUB 65400 208 I=I+1:T$(I)="Description 8":P$(I)="Program Name 8":GOSUB 65400 209 I=I+1:T$(I)="Menu of Graphics Programs":P$(I)="MENUB":GOSUB 65400 270 WHILE INKEY$<>"":WEND 275 K$ = INKEY$:IF K$ = "" THEN GOTO 275:ELSE IF K$=CHR$(27) THEN 65200:ELSE K=ASC(K$) OR 32:K$=CHR$(K):FOR J=1 TO I:IF K$=MID$(A$,J,1) THEN ON ERROR GOTO 65230:RUN P$(J): ELSE NEXT J:X1=14:GOSUB 300:GOTO 200 280 ON ERROR GOTO 0:GOTO 200 300 BEEP:COLOR X1' -*- PRINT BOTTOM BOX -*- 310 LOCATE Y+N-1,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184); 320 LOCATE Y+N ,9,0:PRINT CHR$(179)+" TYPE PROGRAM LETTER "+CHR$(179); 330 LOCATE Y+N+1,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190); 340 COLOR X1+16:LOCATE Y+N ,9 ,0:PRINT CHR$(16);:LOCATE Y+N ,31,0:PRINT CHR$(17); 350 RETURN 400 X1=8'INPUT X1 410 COLOR X1' -*- PRINT TITLE BOX -*- 420 LOCATE 2,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184) 430 LOCATE 3,9,0:PRINT CHR$(179)+T$(0)+CHR$(179) 440 LOCATE 4,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190) 450 RETURN 500 Y=6:N=14:COLOR C1' -*- PRINT MENU BOX -*- 510 LOCATE Y,1,0:PRINT CHR$(213)+STRING$(38,205)+CHR$(184); 520 FOR J=Y+1 TO Y+N-1:LOCATE J,1,0:PRINT CHR$(179)+STRING$(38," ")+CHR$(179);:NEXT J 530 LOCATE Y+N,1,0:PRINT CHR$(212)+STRING$(38,205)+CHR$(190);:RETURN 65100 KEY OFF:SYSTEM 65200 KEY OFF:ON ERROR GOTO 65100:RUN"A:TRANSFER" 65210 ON ERROR GOTO 0:RETURN 65220 KEY OFF:COLOR 14,C2:LOCATE 25,1:PRINT"NO CONTROL PROGRAM WAS FOUND.";:FOR II=1 TO 999:NEXT II:KEY ON:COLOR C1,C2:RESUME NEXT 65230 KEY OFF:COLOR 14,C2:LOCATE 25,1:PRINT"Requested program not available.";:FOR II=1 TO 999:NEXT II:KEY ON:COLOR C1,C2:RESUME NEXT 65300 ON ERROR GOTO 65320:LPRINT CHR$(14);:FOR J=0 TO I:LPRINT T$(J):NEXT:LPRINT :LPRINT :ON ERROR GOTO 0:RETURN 65310 ON ERROR GOTO 0:RETURN 65320 KEY OFF:COLOR 14,C2:LOCATE 25,1:PRINT"THE PRINTER IS NOT READY.";:FOR II=1 TO 999:NEXT II:KEY ON:COLOR C1,C2:RESUME 65310 65400 LOCATE I+7,3,0:T$(I)=MID$(A$,I,1)+" - "+LEFT$(T$(I)+STRING$(30," "),30):PRINT T$(I);:RETURN