100 ! PIX -- WILL PICK RECENTLY CORRECTED RECORDS ! OUT OF A MASTER FILE FOR EXAMINATION AND ! PROOFREADING. 120 ! IT WILL ACCESS EITHER A CORRECTION FILE CREATED ! BY 'EDITR' & 'RANSEQ' OR A FETCH FILE CREATED ! 'FETCH'. OUTPUT IS TO A DISK FILE (ONLY). 140 ! 04-NOV-73 J. WARDEN WABASH COLLEGE 160 DIM A$(40),B$(40),C$(40) 180 C9$=CHR$(13%)+CHR$(10%) 200 PRINT CHR$(29%)+CHR$(31%) : PRINT"PIX V04A" 220 H8$="\\\\\\"+SPACE$(N2%)+C9$ 240 N5%=1% : GOSUB 1420 260 INPUT"IS THIS A FETCH FILE";F3$ : IF ASCII(F3$)-89% THEN 280 ELSE 1180 280 INPUT" FILE OF CORRECTIONS";F3$ : F3%=INSTR(1%,F3$,".") : IF F3% THEN PRINT"RETYPE PLEASE!" : GO TO 280 300 OPEN F3$+"."+F$ FOR INPUT AS FILE 3% 320 FIELD #3%, N1%*C% AS Z$, N1% AS C$(C%) FOR C%=0% TO N6% 340 DIM P$(300%)=6% 360 ON ERROR GO TO 440 380 IF C%11% THEN ON ERROR GO TO 0 ELSE RESUME 460 460 PRINT" ";P0%;" ID CODES SELECTED FROM ";F3$ 480 PRINT"ID'S NOT FOUND IN MASTER FILE WILL BE LISTED BELOW." : PRINT 500 H8$="\\\\\\"+SPACE$(N2%)+C9$ 520 GOSUB 540 : GO TO 800 540 ! ==== FILE SETUP SUBROUTINE ==== 560 PRINT" MASTER FILE"; : INPUT LINE F2$ : F2$=LEFT(F2$,LEN(F2$)-2%) 580 OPEN F2$ AS FILE 1% 600 FIELD #1%, N1%*A% AS Z$, N1% AS A$(A%) FOR A%=0% TO N6% 620 INPUT" OUTPUT RECENT CORRECTIONS TO";F$ 640 IF INSTR(1%,F$,"DT0:") OR INSTR(1%,F$,"DT1:") THEN PRINT"OUTPUT TO DISK ONLY, PLEASE!" : GO TO 620 660 OPEN F$ FOR OUTPUT AS FILE 2% 680 PUT #2%, RECORD P0%/N% 700 FIELD #2%,N1%*B% AS Z$, N1% AS B$(B%) FOR B%=0% TO N6% 720 B%=0% : RETURN 740 IF ERR<>11% AND ERR<>5% THEN ON ERROR GOTO 0 760 IF ERR=11% THEN RESUME 1080 780 PRINT"CAN'T FIND FILE" : RESUME 560 800 P%=P%+1% : IF P%>P0% THEN 1080 820 IF A%6% THEN Q%=1% : PRINT 920 P%=P%+1% : IF P%>P0% THEN 1080 940 GO TO 840 960 GOSUB 980 : GO TO 800 980 LSET B$(B%)=A$(A%) 1000 IF B%13% THEN 1260 1300 A0$=LEFT(A$(A%),N1%-1%)+CHR$(10%) 1320 LSET B$(B%)=A0$ : GOSUB 1000 1340 LSET A$(A%)=A0$ : PUT #1%, RECORD R1% 1360 GO TO 1260 1380 IF ERR<>11% THEN ON ERROR GO TO 0 ELSE RESUME 1080 1400 ! ==== FILE TYPE LOOKUP ==== 1420 DIM V2$(50),V2%(2,50) 1440 ON ERROR GO TO 1760 1460 INPUT"FILE TYPE";F$ : F$=LEFT(F$,3%) 1480 OPEN V1$+"$ATRIB" FOR INPUT AS FILE 1% 1500 FIELD #1%, 255%*A% AS Z$, 255% AS A$(A%) FOR A%=0% TO 1% 1520 IF A%<1% THEN A%=A%+1% ELSE A%=0% : GET #1% : R%=R%+1% 1540 IF LEFT(A$(A%),3%)="\\\" THEN PRINT"NO SUCH FILE TYPE" : GO TO 1840 1560 IF LEFT(A$(A%),3%)<>F$ THEN 1520 1580 V2%(2%,0%),N%=VAL(MID(A$(A%),4%,2%)) : N9%=VAL(MID(A$(A%),6%,1%))*2% 1600 N1%=510%/N% : N2%=N1%-8% : N3%=N%*N1% : N6%=N%-1% 1620 FOR V%=1% TO 50% 1640 V2$(V%)=MID(A$(A%),42%+(V%-1%)*4%,2%) : IF V2$(V%)=" " THEN 1720 1660 V5%=CVT$%(MID(A$(A%),44%+(V%-1%)*4%,2%)) 1680 V2%(1%,V%)=ASCII(CHR$(V5%)) : V2%(2%,V%)=ASCII(CHR$(SWAP%(V5%))) 1700 NEXT V% 1720 V2%(1%,0%)=V%-1% : IF N5% THEN 1740 ELSE PRINT"CODES: "; : PRINT V2$(I%)+" "; FOR I%=1% TO V%-1% : PRINT 1740 CLOSE 1% : ON ERROR GO TO 0 : RETURN 1760 IF ERR<>5% AND ERR<>21% THEN 1820 ELSE RESUME 1780 1780 READ V1$ : GO TO 1480 1800 DATA DK2:,DK1:,DK0:,DK3: 1820 PRINT"THE FILE '$ATRIB' HAS BEEN DELETED;" : PRINT"IT MUST BE REPLACED TO PROCEED." 1840 END