1 ! MERGE -- STANDARD WCIS FILE MERGE 2 ! 31-OCT-74 (BOO!) J. WARDEN WABASH COLLEGE 10 DIM A$(63),B$(63),C$(63) 20 PRINT"WCIS FILE MERGE V02A" 70 M%=0% ! COUNTER 80 N5%=1%: GOSUB 4000 100 ON ERROR GO TO 800 110 PRINT"MERGE FIELD:" 120 INPUT" FIRST COLUMN";F% 130 INPUT" LENGTH OF FIELD";L% 200 PRINT "FILES: USE FORM DEV:FILE" 210 PRINT" FIRST FILE"; : INPUT LINE F1$ : F1$=LEFT(F1$,LEN(F1$)-2%) 220 PRINT" SECOND FILE"; : INPUT LINE F2$ : F2$=LEFT(F2$,LEN(F2$)-2%) 230 PRINT" OUTPUT FILE"; : INPUT LINE F3$ : F3$=LEFT(F3$,LEN(F3$)-2%) 240 Q%=INSTR(1%,F3$,"DT1:") 242 IF Q%=0% THEN Q%=INSTR(1%,F3$,"DT0:") 250 OPEN F1$ FOR INPUT AS FILE 1 255 FIELD#1,N1%*A% AS Z$,N1% AS A$(A%) FOR A%=0% TO N6% 260 OPEN F2$ FOR INPUT AS FILE 2 265 FIELD#2,N1%*I% AS Z$,N1% AS B$(I%) FOR I%=0% TO N6% 270 OPEN F3$ FOR OUTPUT AS FILE 3 275 FIELD#3,N1%*I% AS Z$,N1% AS C$(I%) FOR I%=0% TO N6% 277 A%=N%: B%=N%: C%=0% 280 IF A%5% THEN 900 820 PRINT"CAN'T FIND FILE--PLEASE RETYPE!" 830 IF I9%=1% THEN RESUME 512 840 RESUME 412 900 IF ERR<>11% THEN ON ERROR GO TO 0 910 IF ERL=280% OR ERL=290% OR ERL=315% THEN RESUME 402 920 IF ERL=431% THEN E%=R9% : GO TO 930 925 IF ERL=531% THEN E%=R8% : GO TO 930 927 ON ERROR GO TO 0 930 IF E%=0% THEN RESUME 410 ELSE RESUME 610 1200 ! 'PUT' SUBROUTINE 1210 IF C%530% THEN GOSUB 700 1290 RETURN 1300 ! EOF 1302 FOR T%=C% TO N6% 1304 LSET C$(T%)="\\\\\\"+SPACE$(N2%)+CHR$(13)+CHR$(10) 1306 NEXT T% 1310 PUT #3% : RETURN 3990 ! FILE ATTRIBUTES LOOKUP 4000 DIM V2$(50),V2%(2,50) 4020 ON ERROR GO TO 4320 4030 INPUT"FILE TYPE";F$ : F$=LEFT(F$,3%) 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