10 'saved at "TIK102.BA" - ver. 1.0 20 'Rich Gamble 5/88 [70611,2614] 30 CLEAR 10000 40 DIM SE$(9,26) 50 PRINT "LOADING "; 60 'set up house configuration 70 FOR X=0 TO 9 80 READ S$,R$,N$ 90 SE$(X,0)=S$+R$+N$ 100 L=X*60 110 FOR Y=1 TO VAL(N$) 120 IF Y1 THEN NA$=LEFT$(NA$,LEN(NA$)-1) 2170 IF RE$=CHR$(13) THEN 2240 2180 IF ASC(RE$)<32 OR ASC(RE$)>122 THEN 2150 2190 NA$=NA$+RE$ 2200 FOR X=0 TO 5 2210 PRINT@ 296+(X*60), MID$(NA$,1+(X*4),4); 2220 NEXT X 2230 GOTO 2150 2240 OPEN FI$ FOR APPEND AS 1 2250 PRINT#1, LEFT$(ST$+SPACE$(2),3)+" - "+NA$ 2260 CLOSE 2270 GOTO 2040 2280 OPEN FI$ FOR INPUT AS 1 2290 N=-2 2300 N=N+1 2310 LINE INPUT#1, FD$ 2320 IF EOF(1) THEN 2340 2330 GOTO 2300 2340 CLOSE 2350 DIM D$(N) 2360 OPEN FI$ FOR INPUT AS 1 2370 LINE INPUT#1, PN$ 2380 LINE INPUT#1, PD$ 2390 FOR X=1 TO N 2400 LINE INPUT#1, D$(X) 2410 NEXT X 2420 CLOSE 2430 Z5=N 2440 Z5=INT(Z5/2) 2450 IF Z5=0 THEN 2570 2460 Z2=1:Z3=N-Z5 2470 Z1=Z2 2480 Z4=Z1+Z5 2490 IF MID$(D$(Z4),7)>MID$(D$(Z1),7) THEN 2540 2500 Z6$=D$(Z1):D$(Z1)=D$(Z4):D$(Z4)=Z6$ 2510 Z1=Z1-Z5 2520 IF Z1<1 THEN 2540 2530 GOTO 2480 2540 Z2=Z2+1 2550 IF Z2>Z3 THEN 2440 2560 GOTO 2470 2570 CLOSE 2580 OPEN FI$ FOR OUTPUT AS 1 2590 PRINT#1, PN$ 2600 PRINT#1, PD$ 2610 FOR X=1 TO N 2620 PRINT#1, D$(X) 2630 NEXT X 2640 CLOSE 2650 GOTO 160 3000 'print reservations 3010 GOSUB 9000 ' identify file 3020 PRINT@ 49, "LOAD PAPER INTO PRINTER," 3030 PRINT@ 128, "PRESS ANY KEY TO CONTINUE."; 3040 RE$=INPUT$(1) 3050 LPRINT CHR$(27);CHR$(23); ' 12 CPI 3060 LPRINT CHR$(27);CHR$(14); ' Elongation On 3070 OPEN FI$ FOR INPUT AS 1 3080 FOR X=1 TO 2 3090 LINE INPUT#1, FD$ 3100 LPRINT FD$:LPRINT 3110 NEXT X 3120 LPRINT CHR$(27);CHR$(15); ' Elongation Off 3130 IF EOF(1) THEN 3170 3140 LINE INPUT#1, FD$ 3150 LPRINT FD$ 3160 GOTO 3130 3170 LPRINT CHR$(12); 3180 CLOSE 3190 GOTO 160 4000 'print tickets 4010 PRINT@ 49, "LOAD LABELS INTO PRINTER," 4020 PRINT@ 128, "PRESS ANY KEY TO CONTINUE."; 4030 RE$=INPUT$(1) 4040 LPRINT CHR$(20); ' Word Processing Mode 4050 LPRINT CHR$(27);CHR$(20); ' 16.7 CPI 4060 PRINT@ 249, "PRINTING ALIGNMENT CHART"; 4070 FOR A=0 TO 6 STEP 2 4080 IF A=0 THEN LPRINT SPACE$(6);STRING$(45,88):GOTO 4110 4090 FOR B=1 TO 1000:NEXT B 4100 LPRINT SPACE$(6-A);STRING$(45+(A*2),88) 4110 FOR B=1 TO 3:LPRINT SPACE$(6-A);"X";SPACE$(43+(A*2));"X":NEXT B 4120 LPRINT SPACE$(6-A);STRING$(45+(A*2),88):LPRINT 4130 NEXT A 4140 PRINT@ 247, "PRINT TICKETS OR REDO (P/R) ";:RE$=INPUT$(1):IF RE$="P" THEN 4150 ELSE 4070 4150 GOSUB 9000 ' identify file 4160 GOSUB 9080 ' print display 4170 GOSUB 9310 ' load reservation file 4180 GOSUB 9420 ' clear data display 4190 NA$="" 4200 PRINT@ 56, "Seat"; 4210 PRINT@ 116, ""; 4220 LINE INPUT ST$ 4230 IF ST$="" THEN 160 4240 GOSUB 9480 ' find seat position 4250 IF SP=0 THEN 4180 4260 OPEN FI$ FOR INPUT AS 1 4270 TK$="" 4280 IF EOF(1) THEN CLOSE:GOTO 4360 4290 LINE INPUT#1, FD$ 4300 IF LEFT$(ST$+SPACE$(2),3)=MID$(FD$,1,3) THEN TK$=FD$:CLOSE:GOTO 4320 4310 GOTO 4280 4320 IF MID$(FD$,5,1)<>"-" THEN 4180 4330 FOR X=0 TO 5 4340 PRINT@ 236+(X*60), MID$(TK$,7+(X*4),4); 4350 NEXT X 4360 PRINT@ 536, "GSO" 4370 PRINT@ 596, ""; 4380 LINE INPUT TT$ 4390 IF TT$="" THEN 4180 4400 IF TT$="G" OR TT$="S" OR TT$="O" THEN PRINT@ SP, SPACE$(1);:GOTO 4430 4410 PRINT@ 596, " "; 4420 GOTO 4370 4430 OPEN FI$ FOR APPEND AS 1 4440 PRINT#1, LEFT$(ST$+SPACE$(2),3)+SPACE$(1)+TT$ 4450 CLOSE 4460 LPRINT CHR$(27);CHR$(23); ' 12 CPI 4470 LPRINT CHR$(27);CHR$(31); ' Bold On 4480 LPRINT CHR$(15); ' Underline On 4490 LPRINT SPACE$(1)+LEFT$(ST$,1)+SPACE$(1)+MID$(ST$+SPACE$(1),2,2); 4500 LPRINT CHR$(27);CHR$(32); ' Bold Off 4510 LPRINT SPACE$(2)+S$; 4520 LPRINT SPACE$(2); 4530 LPRINT "*"+TT$+"*"; 4540 LPRINT SPACE$(4)+DATE$+SPACE$(4); 4550 LPRINT "*"+TT$+"*"; 4560 LPRINT SPACE$(2); 4570 LPRINT CHR$(27);CHR$(31); ' Bold On 4580 LPRINT LEFT$(ST$,1)+SPACE$(1)+MID$(ST$+SPACE$(1),2,2); 4590 LPRINT CHR$(27);CHR$(32); ' Bold Off 4600 LPRINT SPACE$(2)+S$ 4610 LPRINT CHR$(14); ' Underline Off 4620 FOR X=1 TO 23 4630 LPRINT 4640 NEXT X 4650 GOTO 4180 5000 'box office reconciliation 5010 GOSUB 9000 ' identify file 5020 PRINT@ 49, "LOAD PAPER INTO PRINTER," 5030 PRINT@ 128, "PRESS ANY KEY TO CONTINUE."; 5040 RE$=INPUT$(1) 5050 LPRINT CHR$(27);CHR$(23); ' 12 CPI 5060 LPRINT CHR$(27);CHR$(14); ' Elongation On 5070 LPRINT "Reconciliation Report":LPRINT 5080 OPEN FI$ FOR INPUT AS 1 5090 FOR X=1 TO 2 5100 LINE INPUT#1, FD$ 5110 LPRINT TAB(5);FD$:LPRINT 5120 NEXT X 5130 LPRINT CHR$(27);CHR$(15); ' Elongation Off 5140 G=0:S=0:O=0 5150 IF EOF(1) THEN 5210 5160 LINE INPUT#1, FD$ 5170 IF MID$(FD$,5,1)="G" THEN G=G+1 5180 IF MID$(FD$,5,1)="S" THEN S=S+1 5190 IF MID$(FD$,5,1)="O" THEN O=O+1 5200 GOTO 5150 5210 CLOSE 5220 T=G+S+O 5230 LPRINT:LPRINT:LPRINT 5240 LPRINT TAB(15);"Ticket Type";TAB(50);"Price";TAB(60);"Number";TAB(70);"Income":LPRINT 5250 LPRINT TAB(15);"General Admission";TAB(50);"$4.00";TAB(63);:LPRINT USING "###";G; 5260 LPRINT TAB(69);:LPRINT USING "$$###.##";G*4:LPRINT 5270 LPRINT TAB(15);"EWU Student";TAB(50);"$0.00";TAB(63);:LPRINT USING "###";S;:LPRINT TAB(72);"$0.00":LPRINT 5280 TI=G*4 5290 CLS 5300 PRINT "OTHER Ticket Types" 5310 PRINT@ 65, "remaining -";O 5320 PRINT@ 125, "Ticket Type - "; 5330 LINE INPUT TT$ 5340 PRINT@ 171, "Price - $"; 5350 LINE INPUT TP$:TP=VAL(TP$) 5360 PRINT@ 210, "Number - "; 5370 LINE INPUT TN$:TN=VAL(TN$) 5380 IF O-TN<0 THEN 5290 5390 TI=TI+(TN*TP) 5400 LPRINT TAB(15);TT$;TAB(49);:LPRINT USING "$$#.##";TP;:LPRINT TAB(63);:LPRINT USING "###";TN; 5410 LPRINT TAB(69);:LPRINT USING "$$###.##";TN*TP:LPRINT 5420 IF O-TN>0 THEN O=O-TN:GOTO 5290 5430 LPRINT TAB(20);"TOTAL";TAB(63);:LPRINT USING "###";T;:LPRINT TAB(69);:LPRINT USING "$$###.##";TI 5440 LPRINT CHR$(12); 5450 GOTO 160 9000 'gosub for file identification 9010 CLS 9020 FILES 9030 PRINT@ 280, "";:LINEINPUT "Reservation File Name - ";FI$ 9040 IF LEN(FI$)=0 THEN 160 9050 IF INSTR(FI$,".")=0 THEN FI$="RAM:"+FI$+".DO" ELSE FI$="RAM:"+FI$ 9060 CLS 9070 RETURN 9080 'gosub to print display 9090 SCREEN 1,0 9100 PRINT CHR$(27);CHR$(86) 9110 PRINT CHR$(27);CHR$(112); 9120 FOR X=0 TO 9 9130 L=X*60 9140 PRINT@ L, MID$(SE$(X,0),2,1); 9150 FOR Y=0 TO VAL(MID$(SE$(X,0),1,1)) 9160 IF Y<>0 THEN PRINT " -"; 9170 NEXT Y 9180 FOR Y=1 TO VAL(MID$(SE$(X,0),3,2)) 9190 PRINT SPACE$(1)+MID$(SE$(X,Y),4,1); 9200 NEXT Y 9210 FOR Y=0 TO VAL(MID$(SE$(X,0),1,1)) 9220 IF Y<>0 THEN PRINT " -"; 9230 NEXT Y 9240 PRINT@ L+53, SPACE$(1)+MID$(SE$(X,0),2,1); 9250 NEXT X 9260 PRINT CHR$(27);CHR$(113); 9270 FOR X=0 TO 26 9280 LINE(X*8+5,0)-(X*8+5,63),2 9290 NEXT X 9300 RETURN 9310 'gosub to load reservation file 9320 OPEN FI$ FOR INPUT AS 1 9330 IF EOF(1) THEN 9400 9340 LINE INPUT#1, FD$ 9350 ST$=LEFT$(FD$,3) 9360 GOSUB 9480 ' find seat position 9370 IF SP=0 THEN 9330 9380 IF MID$(FD$,5,1)="-" THEN PRINT@ SP, "r"; ELSE PRINT@ SP, SPACE$(1); 9390 GOTO 9330 9400 CLOSE 9410 RETURN 9420 'gosub to clear data display 9430 FOR X=0 TO 9 9440 L=X*60 9450 PRINT@ L+56, CHR$(27);CHR$(75); 9460 NEXT X 9470 RETURN 9480 'gosub to find seat position 9490 SP=0 9500 FOR X=0 TO 9 9510 Y=0 9520 IF MID$(ST$,1,1)<>MID$(SE$(X,Y),2,1) THEN 9560 9530 FOR Y=1 TO 26 9540 IF VAL(MID$(ST$,2))=VAL(MID$(SE$(X,Y),3,2)) THEN SP=VAL(MID$(SE$(X,Y),5)):S$=LEFT$(SE$(X,Y),1) 9550 NEXT Y 9560 NEXT X 9570 RETURN 9580 DATA 0,K,26,0,J,26,0,H,26,1,G,25,2,F,23,2,E,23,2,D,23,2,C,22,2,B,22,3,A,20