1 ! HINSRT -- ALLOWS SEQUENTIAL ENTRY OF HONORS SCORES 2 ! FILE MUST BE IN 'SCO' FORMAT 4 ! 12-MAR-74 J. WARDEN WABASH COLLEGE 40 PRINT CHR$(140%)+CHR$(140%) 50 PRINT"HONORS SCORE INSERTION PROGRAM" : PRINT 100 DEF FNA$(X%)=MID(A$(A%),V2%(1%,X%),V2%(2%,X%)) 140 N5%=1% : GOSUB 4000 180 ON ERROR GO TO 300 190 OPEN"KB:" AS FILE 9% 200 INPUT"HONORS FILE (DEV:FILE)";F1$ 210 OPEN F1$ FOR INPUT AS FILE 1% ! IS IT THERE? 220 CLOSE 1% ! YEP 240 OPEN F1$ AS FILE 1% 250 FIELD #1%,N1%*A% AS Z$,N1% AS A$(A%) FOR A%=0% TO N6% 260 INPUT"SCAN FOR (EXAM)";W$ : W$=CHR$(ASCII(W$)) : W%=INSTR(1%,"AEWBCMP",W$) : IF W$="S" THEN 9999 264 IF W%=0% THEN 260 266 IF W%<=3% THEN W%=3% ELSE W%=4% 268 P%=62%+(W%-3%)*4% ! VERBAL OR SCIENCE... 270 PRINT:PRINT"TYPE 'S' TO STOP; TYPE TO CONTINUE WITHOUT "; "ENTERING A SCORE:" : PRINT 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 GO TO 200 390 ON ERROR GO TO 900 395 A0%=0% 400 IF A%"Y" THEN 400 428 IF W% THEN IF FNA$(W%)<>W$ THEN 400 430 & "(";FNA$(2%);" ";FNA$(3%);" ";FNA$(4%);") ";FNA$(6%); 440 INPUT LINE #9%,V$ : V$=LEFT(V$,LEN(V$)-2%) 442 IF V$="" THEN 400 444 IF V$="S" THEN 1000 450 ON ERROR GO TO 470 454 S=VAL(V$) 460 GO TO 480 470 RESUME 475 475 PRINT"** RETYPE **" : GO TO 430 480 LSET A$(A%)=LEFT(A0$,P%-1%)+CVTF$(S)+RIGHT(A0$,P%+4%) 500 PUT #1%, RECORD A0% 510 Q%=Q%+1% 520 GO TO 400 900 IF ERR<>11% THEN ON ERROR GO TO 0 1000 ! END OF FILE 1300 CLOSE 1%,2% 1350 PRINT : PRINT RIGHT(NUM$(Q%),2%);" (";W$;") SCORES ENTERED" 1400 GO TO 9999 3900 ! === FILE ATTRIBUTES LOOKUP SUBROUTINE === 4000 DIM V2$(50),V2%(2,50) 4020 ON ERROR GO TO 4320 4030 F$="SCO" 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 IF V1$="" THEN V1$="DK1:" : GO TO 4040 4380 PRINT"THE FILE '$ATRIB' HAS BEEN DELETED;" : PRINT"IT MUST BE REPLACED TO PROCEED." 9999 END