1 ! LULIST -- LIVING UNIT LIST FOR CURRENT STUDENTS 10 PRINT"LISTING OF LIVING UNITS" 30 L%=1% 40 DIM F2$(14%) 45 READ F2$(I%) FOR I%=0% TO 13% 50 ! FRATERNITY NAMES 55 DATA " " 60 DATA "BETA ","DELT ","KAP SIG","LAM CHI","PHIDELT" 65 DATA"PHI GAM","PHI PSI","SIG CHI","TEKE " 70 DATA "KINGERY","MARTIND","MORRIS ","WOLCOTT" 120 N5%=1% 140 GOSUB 4000 ! LOOK UP ATTRIBUTES 160 INPUT"USE FD OR LU COLUMN";L$ : IF L$<>"FD" AND L$<>"LU" THEN 160 170 FOR I%=1% TO V2%(1%,0%) 172 IF V2$(I%)=L$ THEN F0%=V2%(1%,I%) : GO TO 180 174 NEXT I% 176 PRINT L$;" NOT USED IN THIS FILE TYPE" : GO TO 9999 180 ON ERROR GO TO 300 190 IF N0% THEN L$=L$+" AW" 200 INPUT"INPUT FILE (DEV:FILE)";F1$ 220 INPUT"OUTPUT FILE (DEV:FILE)";F2$ 240 OPEN F1$ FOR INPUT AS FILE 1% 250 FIELD #1%,N1%*A% AS Z$,N1% AS A$(A%) FOR A%=0% TO N6% 260 OPEN F2$ FOR OUTPUT AS FILE 2% 270 PRINT"DESCRIBE FILE"; : INPUT LINE F3$ 280 B%=0% 290 GO TO 390 300 IF ERR<>5% THEN ON ERROR GO TO 0 340 PRINT CHR$(7%)+"** CAN'T FIND "+F1$+" **" : RESUME 360 360 INPUT"INPUT FILE (DEV:FILE)";F1$ ! TRY FOR INPUT FILE AGAIN 380 GO TO 240 390 ON ERROR GO TO 900 395 GOSUB 3020 400 IF A%13% THEN F%=0% 450 PRINT #2%,LEFT(A$(A%),6%);" ";MID(A$(A%),7%,2%);" "; 460 PRINT #2%,MID(A$(A%),13%,26%);" ";F2$(F%);" "; 465 IF N0% THEN PRINT #2%,MID(A$(A%),123%,1%) ELSE PRINT #2% 470 L%=L%+1% : IF L%>50% THEN L%=1% : GOSUB 3000 480 ! - - - - - - - - - - - - - 520 GO TO 400 900 IF ERR<>11% THEN ON ERROR GO TO 0 1000 ! WRITE DUMMY ID CODES ON FINAL RECORDS IN BLOCK 1300 CLOSE 1%,2% 1400 GO TO 9999 3000 ! === HEADER === 3010 PRINT #2%,CHR$(12%); 3020 PRINT #2%,"LIVING UNITS -- CURRENT STUDENTS ";DATE$(0%) 3025 PRINT #2%,F3$ 3030 PRINT #2% 3040 PRINT #2%,"IDCODE CY -------- NAME ------- ";L$ 3050 PRINT #2% 3060 RETURN 3900 ! === FILE ATTRIBUTES LOOKUP SUBROUTINE === 4000 DIM V2$(50),V2%(2,50) 4020 ON ERROR GO TO 4320 4030 INPUT"FILE TYPE";F$ : F$=LEFT(F$,3%) 4035 IF F$="CLI" OR F$="GPA" THEN N0%=1% 4040 OPEN V1$+"$ATRIB" FOR INPUT AS FILE 1% 4060 FIELD #1%, 255%*A% AS Z$, 255% AS A$(A%) FOR A%=0% TO 1% 4080 IF A%<1% THEN A%=A%+1% ELSE A%=0% : GET #1% 4100 IF LEFT(A$(A%),3%)="\\\" THEN PRINT"NO SUCH FILE TYPE" : GO TO 9999 4120 IF LEFT(A$(A%),3%)<>F$ THEN 4080 4140 V2%(2%,0%),N%=VAL(MID(A$(A%),4%,2%)) : N9%=VAL(MID(A$(A%),6%,1%))*2% 4160 N1%=510%/N% : N2%=N1%-8% : N3%=N%*N1% : N6%=N%-1% 4180 FOR V%=1% TO 50% 4200 V2$(V%)=MID(A$(A%),42%+(V%-1%)*4%,2%) : IF V2$(V%)=" " THEN 4280 4220 V5%=CVT$%(MID(A$(A%),44%+(V%-1%)*4%,2%)) 4240 V2%(1%,V%)=ASCII(CHR$(V5%)) : V2%(2%,V%)=ASCII(CHR$(SWAP%(V5%))) 4260 NEXT V% 4280 V2%(1%,0%)=V%-1% : IF N5% THEN 4300 ELSE PRINT"CODES: "; : PRINT V2$(I%)+" "; FOR I%=1% TO V%-1% : PRINT 4300 CLOSE 1% : ON ERROR GO TO 0 : RETURN 4320 IF ERR<>5% AND ERR<>21% THEN 4380 ELSE RESUME 4340 4340 READ V1$ : GO TO 4040 4360 DATA DK2:,DK1:,DK0:,DK3: 4380 PRINT"THE FILE '$ATRIB' HAS BEEN DELETED;" : PRINT"IT MUST BE REPLACED TO PROCEED." 9999 END