1000 ! MATCH -- COMPARES ID FIELDS OF ANY TWO FILES ! R BERTA - 03-DEC-73 - WABASH COLLEGE 1040 OPEN "KB:" FOR INPUT AS FILE 9% 1080 DIM A$(63%),B$(63%) 1120 PRINT CHR$(29%)+CHR$(31%)+CHR$(140%)+CHR$(10%)+"MATCH V01A" 1160 PRINT #9%,"#"; : INPUT LINE #9%,C$ : C$=LEFT(C$,LEN(C$)-2%) : IF LEN(C$)=0% THEN 9999 1200 C1%=INSTR(1%,C$,"/LP") : IF C1% THEN OPEN "LP:" FOR OUTPUT AS FILE 3% : C$=LEFT(C$,C1%-1%)+ RIGHT(C$,C1%+3%) : GO TO 1280 1240 IF C1%=0% THEN OPEN "KB:" FOR OUTPUT AS FILE 3% 1250 C1%=INSTR(1%,C$,"/HE") : IF C1% THEN 8000 1260 IF INSTR(1%,C$,"/EX") THEN 9999 1280 IF INSTR(1%,C$,"/CH") THEN F$=LEFT(C$,C1%-1%) : CHAIN F$ 1320 C1%=INSTR(1%,C$,"=") : IF C1%=0% THEN PRINT#3%, "** SYNTAX ERROR **" : GO TO 1160 1360 C2%=INSTR(1%,C$,"/") : IF C2%=0% THEN PRINT#3%, "** SYNTAX ERROR **" : GO TO 1160 1400 IF C2%>C1% THEN 1520 ELSE F1$=LEFT(C$,C2%-1%) : F%=VAL(MID(C$,C2%+1%,C1%-C2%-1%)) : F1%=510%/F% : F6%=F%-1% 1440 C$=RIGHT(C$,C1%+1%) : C3%=INSTR(1%,C$,"/") : IF C3%=0% THEN N%=F% : N1%=F1% : N6%=F6% : GO TO 1560 1480 F2$=LEFT(C$,C3%-1%) : N%=VAL(RIGHT(C$,C3%+1%)) : N1%=510%/N% : N6%=N%-1% : GO TO 1560 1520 F1$=LEFT(C$,C1%-1%) : F2$=MID(C$,C1%+1%,C2%-C1%-1%) : N%,F%=VAL(RIGHT(C$,C2%+1%)) : N1%,F1%=510%/N% : N6%,F6%=N%-1% 1560 OPEN F1$ FOR INPUT AS FILE 1% 1600 OPEN F2$ FOR INPUT AS FILE 2% 1640 FIELD #1%,F1%*A% AS Z$,F1% AS A$(A%) FOR A%=0% TO F6% 1680 FIELD #2%,N1%*B% AS Z$,N1% AS B$(B%) FOR B%=0% TO N6% 1720 PRINT#3%, ," ID'S NOT FOUND IN FILE" 1740 PRINT#3% 1760 IF LEN(F2$)>13% THEN PRINT#3%,,F2$,F1$ ELSE PRINT #3%,,F2$,,F1$ 1800 PRINT#3%,,"==========",,"==========" 1840 GOSUB 2160 : GOSUB 2240 1880 IF ASCII(A$)=92% THEN 2080 1920 IF ASCII(B$)=92% THEN 2120 1960 IF A$=B$ THEN 1840 ELSE E%=E%+1% : IF A$>B$ THEN 2040 2000 PRINT#3%, ,A$ : GOSUB 2160 : GO TO 1880 2040 PRINT#3%,,,,B$ : GOSUB 2240 : GO TO 1880 2080 IF ASCII(B$)=92% THEN 2320 ELSE E%=E%+1% : PRINT#3%, ,,,B$ : GOSUB 2240 : GO TO 2080 2120 IF ASCII(A$)=92% THEN 2320 ELSE E%=E%+1% : PRINT#3%, ,A$ : GOSUB 2160 : GO TO 2120 2160 IF A%) -- EXITS FROM PROGRAM" 8070 PRINT,"/CH -- CHAINS TO SPECIFIED FILE" 8080 GO TO 1160 9999 CLOSE 3,9 : END