1 REM Ins{nd av Johan Olofsson <5809> 1987-08-01 17.49.01 (DUMP) 10 ! compare 20 ! j{mf|r tv} bac-filer 30 ! redovisar om radnummer saknas i den ena filen 40 ! - eller om raderna i filerna {r olika 50 ! 60 ! 1987 03 07 Johan Olofsson 70 ! 80 ! ------------------------------------------------- 90 INTEGER : EXTEND 100 DIM Rad$(1:2)=160,L$(1:2)=1,R$(1:2)=2 110 ; : ; 'C O M P A R E . B A C' : ; ' j{mf|r tv} BAC-filer' : ; 120 INPUT 'Filnamn1, filnamn2: 'Fil$(1),Fil$(2) 130 Fil$(1)=FNBactype$(Fil$(1)) : Fil$(2)=FNBactype$(Fil$(2)) 140 OPEN Fil$(1) AS FILE 1 : OPEN Fil$(2) AS FILE 2 150 P1=21 : P2=P1 160 POSIT #1,P1 : POSIT #2,P2 170 Z=FNL{srad(1)+FNL{srad(2) 200 ! 201 DEF FNBactype$(Str$) 202 IF INSTR(2,Str$,'.') RETURN Str$ 203 RETURN Str$+'.BAC' 204 FNEND 210 DEF FNL{srad(Fil) 220 ON ERROR GOTO 290 230 GET #Fil,L$(Fil) 240 GET #Fil R$(Fil) COUNT 2 250 L(Fil)=ASCII(L$(Fil)) 260 R.(Fil)=CVT$%(R$(Fil)) 270 IF L(Fil)>3 THEN GET #Fil Rad$(Fil) COUNT L(Fil)-3 ELSE R.(Fil)=256.*256. 280 RETURN L(Fil) 290 ; : ; 'error:' ERRCODE,'fil:' Fil,L(Fil) : STOP 300 FNEND 310 DEF FNSkiprad(Fil) 320 ; 'Omaka' TAB(Fil*10) R.(Fil) TAB(20+Fil*10) '(' L(Fil) ')' ! NUM$(L(Fil)) ')' 330 Z=FNL{srad(Fil) 340 RETURN 0 350 FNEND 360 DEF FNPositionera(Idstring$) 370 IF Obs ; : Obs=0 380 IF NOT Flag ; TAB(1) Idstring$ TAB(10); : Flag=-1 390 IF PEEK(65362)>70 ; TAB(10); 400 RETURN 0 410 FNEND 500 ! * * * * * * * * * * * * * * * * * * * 510 WHILE -1 520 WHILE Rad$(1)=Rad$(2) 530 Z=FNPositionera('identiska') 540 ; R.(1); 550 IF R.(1)<>R.(2) THEN ; ' = ' R.(2); 560 Z=FNL{srad(1)+FNL{srad(2) 570 IF R.(1)<65536. WEND 580 IF Flag THEN Flag=0 : Obs=0 590 ! 600 WHILE R.(1)=R.(2) AND Rad$(1)<>Rad$(2) AND L(1)=L(2) 610 Z=FNPositionera('lika') 620 ; R.(1); 630 Z=FNL{srad(1)+FNL{srad(2) 640 IF R.(1)<65536. WEND 650 IF Flag THEN Flag=0 : Obs=0 660 ! 670 WHILE R.(1)=R.(2) AND Rad$(1)<>Rad$(2) AND L(1)<>L(2) 680 IF NOT Obs THEN ; : ; : Obs=-1 690 ; 'olik' TAB(10) R.(1) TAB(20) R.(2); 700 ; TAB(30) '(' L(1) ')' TAB(40) '(' L(2) ')' 710 Z=FNL{srad(1)+FNL{srad(2) 720 IF R.(1)<65536. WEND 730 ! 740 WHILE R.(1)R.(2) 800 IF NOT Obs THEN ; : ; : Obs=-1 810 Z=FNSkiprad(2) 820 WEND 830 ! 840 IF R.(1)<65536. WEND 850 ! 860 ! S L U T 870 !