100 ! ALUMX -- COMPLETE LISTING FOR ALUMNI FILE ONLY ! CLUBS ARE INCLUDED. CHOICE OF SEQ ACCESS FOR ID ! ORDER OR RANDOM ACCESS FOR ZIP OR CLASS ORDER. 120 ! ASSUMED 2 R/B - NEW ALUMNI FILE INCL QUE DATA 121 ! 11-AUG-74 J. WARDEN WABASH COLLEGE 130 DIM M%(30%) 140 U%=1% 160 PRINT"ALUMNI FILE PRINTER" 170 PRINT"[SELECT IN LINES 960-1000]" 180 S8$=" \ \ \ \" 200 S8$=S8$+" \ \" 205 N%=2% : N6%=1% : N1%=255% ! NEW ALUMNI FILE 210 INPUT"WANT LISTING IN ID (ALPHABETIC) ORDER (Y/N)";Y$ : IF ASCII(Y$)=89% THEN 230 220 GOSUB 3000 230 ON ERROR GO TO 1140 235 IF P1% THEN 240 ELSE GOSUB 560 240 INPUT"OUTPUT TO (DEV:FILE)";F3$ 260 OPEN F3$ FOR OUTPUT AS FILE 2% 280 H%=2% 300 DIM C2%(11),F2$(13),C2$(11),C3$(11) 340 READ F2$(I%) FOR I%=0% TO 13% : READ C2$(I%) FOR I%=0% TO 11% 400 PRINT"INSERT HEADER LINE ('RETURN' FOR NONE)" 420 INPUT LINE H1$ : H1$=LEFT(H1$,LEN(H1$)-2) 440 IF LEN(H1$)<1% THEN H1$=" " 442 PRINT"HEADER: "+H1$ : INPUT"-> CORRECT (Y/N)";F3$ : IF ASCII(F3$)=89% THEN 460 450 PRINT"OK, TRY AGAIN:" : GO TO 420 460 S9$=SPACE$(10) 480 GO TO 660 500 ! OPEN NEW FILE SUBROUTINE 520 CLOSE 1% 540 PRINT"NEW "; 560 INPUT"FILE TO BE LISTED (DEV:FILE)";F$ 580 IF F$="" THEN 4300 600 OPEN F$ FOR INPUT AS FILE 1% 620 FIELD #1%, N1%*A% AS Z$, N1% AS A$(A%) FOR A%=0% TO N6% 640 RETURN 660 INPUT"SKIP UNTIL PAST ID ([R]=NOSKIP)";J1$ 672 IF LEN(J1$)=0% THEN 720 ELSE IF LEN(J1$)<>6% THEN PRINT"ID MUST BE 6 CHAR; RETYPE!" : GO TO 660 674 CHANGE SYS(CHR$(6%)+CHR$(-8%)+CHR$(1%)) TO M% : L%=M%(7%)+SWAP%(M%(8%)) : T%=L%*N% 676 B%=0% : L1%=LOG(T%)/LOG(2)+2% 678 FOR I%=1% TO L1% 680 R2%=(T%+B%)/2% : R1%=(R2%+N6%)/N% : A%=R2%-1%-(R1%-1%)*N% 682 GET #1%,RECORD R1% : I2$=LEFT(A$(A%),6%) : IF I2$=J1$ THEN 688 ELSE IF I2$>J1$ THEN 686 684 B%=R2% : GO TO 687 686 T%=R2% 687 NEXT I% : PRINT"NO SUCH ID" : GO TO 660 688 GOSUB 2360 710 IF J1$="STOP" THEN 660 720 GOSUB 820 730 IF LEN(J1$) THEN 940 740 GO TO 900 760 ! HEADER SUBROUTINE 780 PRINT #2%,CHR$(12%) 800 U%=1% 820 PRINT #2%,SPACE$(5%)+LEFT(H1$+SPACE$(54%),54%)+DATE$(0) 830 IF M5% THEN PRINT #2%,SPACE$(5%)+"CLASS OF ";C3$ 840 PRINT #2%,CHR$(10%)+CHR$(10%)+CHR$(10%) 860 RETURN 880 ! MAIN PRINTING LOOP 900 IF U%>9% THEN GOSUB 760 920 IF P1% THEN GOSUB 4100 ELSE GOSUB 4010 940 IF ASCII(A$(A%))=92% THEN GOSUB 520 : GO TO 920 950 C4$=MID(A$(A%),7%,2%) : IF C4$=C3$ THEN 960 955 IF M5% THEN GOSUB 5500 960 ! - - SELECTION ROUTINE CAN BE INSERTED HERE - - 980 ! IF [RECORD IS TO BE REJECTED] THEN 920 1000 ! - - END OF SELECTION ROUTINE - - 1020 GOSUB 1360 : C%=C%+1% 1040 IF L%>=6% THEN GOSUB 2260 1100 GO TO 900 1120 ! ERROR SUBROUTINE 1140 IF ERR=52% THEN RESUME 920 1160 IF ERR=11% THEN 1240 1180 IF ERR<>5% THEN ON ERROR GO TO 0 1200 PRINT"** CAN'T FIND FILE '"+F$+"' **" 1220 RESUME 560 1240 PRINT#2,CHR$(12) 1260 GOSUB 560 1280 GOSUB 760 1300 GO TO 920 1320 PRINT K%;" ITEMS PRINTED" 1340 GO TO 2460 1360 ! PRINTING SUBROUTINE 1380 L%=0% 1390 IF M6% THEN M6%=0% : RETURN ! RESET NO PRINT FLAG 1395 U%=U%+1% : K%=K%+1% 1400 C3$(I)="" FOR I=1 TO 11 1420 CHANGE MID(A$(A%),93%,4%)+MID(A$(A%),119%,7%) TO C2% 1440 C2%(10%)=32% 1460 FOR J%=1% TO 11% 1480 IF C2%(J%)<=32% THEN 1520 1500 L%=L%+1% : C3$(L%)=C2$(J%) 1520 NEXT J% 1540 PRINT #2%,USING S8$,MID(A$(A%),13%,28%),LEFT(A$(A%),6%),C3$(1%) 1560 T4$=MID(A$(A%),97,14)+" "+MID(A$(A%),111,2)+" "+MID(A$(A%),113,5) 1580 IF H%>1% THEN 1620 1600 G$=" " : F$=" " : GO TO 1860 1620 I5%=ASCII(MID(A$(A%),12,1))-48% 1640 IF I5%<0% OR I5%>13% THEN I5%=0% 1660 F$=F2$(I5%) 1680 G$=MID(A$(A%),9,1) : W$=LEFT(A$(A%),1) 1700 IF G$="G" THEN 1840 1720 G$=MID(A$(A%),7%,2%)+" " 1740 D%=ASCII(LEFT(A$(A%),1%)) 1760 IF D%<48% OR D%>57% THEN 1860 1780 G$=MID(A$(A%),10%,1%)+"."+MID(A$(A%),11%,1%)+" YR ATT" 1800 G$=MID(A$(A%),7%,2%)+" "+G$ 1820 GO TO 1860 1840 G$=MID(A$(A%),7%,2%)+" GRAD" 1860 PRINT #2%,USING S8$,MID(A$(A%),41%,28%),G$,C3$(2%) 1880 IF MID(A$(A%),69%,5%)=" " THEN 2000 1900 PRINT #2%,USING S8$,MID(A$(A%),69%,24%),F$,C3$(3%) 1920 PRINT #2%,USING S8$,T4$," ",C3$(4%) 1940 IF L%<4% THEN PRINT #2%,CHR$(10%) : GO TO 2060 1960 PRINT #2%,USING S8$," "," ",C3$(V%) FOR V%=5% TO 6% 1980 GO TO 2060 2000 PRINT #2%,USING S8$,T4$,F$,C3$(3%) 2020 IF L%<=3% THEN PRINT #2%,CHR$(10%)+CHR$(10%) : GO TO 2060 2040 PRINT #2%,USING S8$," "," ",C3$(V%) FOR V%=4% TO 6% 2060 RETURN 2080 ! FRATERNITY NAMES 2100 DATA " " 2120 DATA "BETA ","DELT ","KAP SIG","LAM CHI","PHIDELT" 2140 DATA"PHI GAM","PHI PSI","SIG CHI","TEKE " 2160 DATA "KINGERY","MARTIND","MORRIS ","WOLCOTT" 2180 ! ORGANIZATIONS 2200 DATA " ","GLEE CLUB","SPKRS BUR","ALUM COUN" 2220 DATA "CL AGENT ","CHI LUNCH","GRTR FND ","L.G.GO GT","BIO GRP " 2240 DATA "NCUR STUD","CONT STUD","ALSO PAR " 2260 ! PRINT REMAINDER OF CLUBS 2280 PRINT #2%, USING S8$," "," ",C3$(V%) FOR V%=7% TO 11% 2300 PRINT #2% 2320 U%=U%+1% 2340 RETURN 2360 ! SKIP RECORDS 2380 IF P1%=0% THEN GOSUB 4000 : RETURN 2400 IF P%<62% THEN P%=P%+1% ELSE P%=0% : GET #3% 2402 IF ASCII(P$(P%))=92% THEN 2412 2404 IF CVT$%(MID(P$(P%),L2%,2%))=R2% THEN GOSUB 4100 : RETURN 2410 GO TO 2400 2412 PRINT"ID NOT FOUND IN KEY FILE" : J1$="STOP" 2420 RETURN 3000 DIM P$(63) 3050 ON ERROR GO TO 3400 3100 INPUT"TYPE OF SORT (C,Z, OR O)";F$ 3110 IF F$="C" THEN E$=".CYR" : L2%=2% : GOSUB 5000 : GO TO 3200 3120 IF F$="Z" THEN E$=".ZIP" : L2%=5% : GO TO 3200 3150 IF F$="O" THEN E$=".KEY" ELSE GO TO 3100 3160 INPUT" KEY LENGTH";L2% : IF L2%<1% OR L2%>6% THEN 3160 3200 L2%=L2%+1% 3220 INPUT"FILE TO BE LISTED (DEV:FILE)";F$ : A%=INSTR(1%,F$,".") : IF A% THEN F$=LEFT(F$,A%-1%) 3240 P1$=F$+E$ 3260 OPEN P1$ FOR INPUT AS FILE 3% 3280 FIELD #3%,8%*P% AS Z$, 8% AS P$(P%) FOR P%=0% TO 62% 3290 GOSUB 600 ! OPEN MAIN FILE 3300 P1%=1% : RETURN 3400 IF ERR=5% THEN RESUME 3410 ELSE ON ERROR GO TO 0 3410 IF ERL=3260% THEN PRINT"** CAN'T FIND FILE '"+P1$+"' ." : PRINT" EITHER YOU MIS-TYPED THE NAME OR THE FILE HAS "; "NOT BEEN SORTED." : GO TO 9999 3420 IF ERL=600% THEN PRINT"** CAN'T FIND FILE '"+F$+"' ." : GO TO 9999 3430 ON ERROR GO TO 0 4000! GET FOR SEQUENTIAL ACCESS 4010 IF A%5% THEN ON ERROR GO TO 0 5320 PRINT"TO INSERT YOUR CLASS YEARS FOR SELECTION YOU MUST" 5340 PRINT"FIRST RUN THE PROGRAM 'CYEARS'" 5400 CLOSE I% FOR I%=1% TO 4% : GO TO 9999 5500 IF M5%=2% THEN 5600 5520 C3$=C4$ : GOSUB 760 : RETURN 5600 IF C4$C3$ THEN 5620 ELSE IF C4$