Listing of file='LPSCAN' on disk='vmedia/701-2721C.wvd.zip'
# Sector 558, program filename = 'LPSCAN' 0100 REM % *** SCAN DOCUMENT MODULE LPSCAN *** 0250 COM V2,V3,R1$1 : COM L3,L4,L6,L7,L3$(L3)L6,H$L4,L9(2) : DIM V0$(246)V2,L5$(246)V2,I$2,J,T,X,Y,Z,X$5,V1$(3)82 : DIM E1$20,E2$20 : IF L9(1)=1THEN GOTO 510 : PRINT AT(21,0,) : PRINT AT(23,0);HEX(0E);"Scanning Document for Field Names";HEX(0F); : GOSUB '220(A1,1,1,1,2) : IF R1$<>HEX(00)THEN GOSUB '99(4,R5$," ") : MAT COPY V0$()TO L5$() 0350 T=0 : V=VAL(STR(L5$(),7,2),2) : IF V=0THEN GOTO 390 : GOSUB '51(R5$,A1) 0390 V=VAL(STR(L5$(),9,2),2) : IF V=0THEN GOTO 420 : GOSUB '51(R5$,A1) 0420 T=15 : V=VAL(STR(L5$(),T,2),2) 0440 IF V=65535OR R1$=HEX(25)THEN GOTO 490 : GOSUB '51(R5$,A1) : V=V+1 : GOTO 440 0490 GOSUB '212(A1) : IF R1$<>HEX(00)THEN GOSUB '99(5,R5$," ") : IF B3$=" "THEN GOTO 600 0510 PRINT AT(21,0,) : PRINT AT(23,0);HEX(0E);"Scanning Glossary for Field Names";HEX(0F); : L9(1)=1 : V=3 0520 GOSUB '51(B3$,A4) : IF R1$=HEX(25)THEN GOTO 590 : V=V+1 : GOTO 520 0590 GOSUB '212(A4) : IF R1$<>HEX(00)THEN GOSUB '99(5,B3$," ") 0600 IF G5=0THEN GOSUB '99(8,R5$," ") : COM CLEAR V0 : A0$()="LPMENU2 "&"Prime 62" : LOAD T<2>A0$() 0710 DEFFN'51(X$,V3) : GOSUB '220(V3,1,V,1,2) : IF R1$=HEX(25)THEN RETURN 0740 Z=1 0750 IF Z>(246*V2)THEN RETURN : H$=" " : X=Z+POS(STR(V0$(),Z)=7F) : IF X=ZTHEN RETURN : IF X>(246*V2)THEN GOTO 1240 : IF STR(V0$(),X,1)=HEX(8C)THEN GOTO 830 : Z=Z+1 : GOTO 750 0830 X=X+1 : IF X>(V2*246)THEN GOTO 1040 : Y=POS(STR(V0$(),X)=8C)-1 : Z=X+Y+1 : IF Y=-1THEN GOTO 970 : ELSE IF Y=0THEN GOSUB '99(10,X$," ") : J=POS(STR(V0$(),X,Y)<>80)-1 : X=X+J : Y=POS(-STR(V0$(),X,Y-J)<>80) : IF Y>L4THEN GOSUB '99(2,STR(V0$(),X,Y)," ") : H$=STR(V0$(),X,Y) : IF H$=HEX(8C)THEN GOSUB '99(10,X$," ") : GOSUB '50 : GOTO 750 0970 IF T=0THEN GOSUB '99(3,X$," ") : Y=POS(STR(V0$(),X)<>80)-1 : IF Y=-1THEN GOTO 1040 : X=X+Y : Y=POS(-STR(V0$(),X)<>80) : IF Y>L4THEN GOSUB '99(2,STR(V0$(),X)," ") : IF Y=0THEN H$=STR(V0$(),X) : ELSE H$=STR(V0$(),X,Y) 1040 V=V+1 : GOSUB '220(V3,1,V,1,2) : IF R1$=HEX(25)THEN GOSUB '99(3,X$," ") : X=1 : Y=POS(STR(V0$(),X)=8C)-1 : IF Y=-1THEN GOSUB '99(3,X$," ") : IF Y=0AND H$=" "THEN GOSUB '99(10,X$," ") : ELSE IF Y=0THEN GOTO 1210 : IF H$<>" "THEN GOTO 1160 : X1=POS(STR(V0$(),X,Y)<>80)-1 : IF X1=-1THEN GOTO 1160 : X=X+X1 : Y=Y-X1 1160 Y=POS(-STR(V0$(),X,Y)<>80) : IF Y=0AND H$=" "THEN GOSUB '99(10,X$," ") : ELSE IF Y=0THEN GOTO 1210 : IF H$=" "THEN X1=Y : ELSE X1=LEN(H$)+Y : IF X1>L4THEN GOSUB '99(2,H$,STR(V0$(),X,Y)) : IF H$=" "THEN H$=STR(V0$(),X,Y) : ELSE H$=H$&STR(V0$(),X,Y) 1210 GOSUB '50 : GOTO 740 1240 IF T=0THEN RETURN : V=V+1 : GOSUB '220(V3,1,V,1,2) : IF R1$=HEX(25)THEN RETURN : X=1 : IF STR(V0$(),X,1)=HEX(8C)THEN GOTO 830 : GOTO 740 1370 DEFFN'50 : $TRAN(H$,HEX(2080))R : MAT SEARCHL3$(),=STR(H$,1,L4)TO I$STEP L6 : I=VAL(I$,2) : IF I<>0THEN GOTO 1520 : MAT SEARCHG3$(),=STR(H$,1,L4)TO I$STEP G6 : I=VAL(I$,2) : IF I<>0THEN RETURN : A0$()="LPFDEXCP"&"Prime 62"&"JCAT " : LOAD T<3>A0$() 1520 I=(I-1)/L6+1 : MAT SEARCHG3$(),=STR(H$,1,L4)TO I$STEP G6 : J=VAL(I$,2) : IF J<>0THEN RETURN : G5=G5+1 : IF G5>G3THEN GOSUB '99(1,R5$," ") : STR(G3$(G5),1)=STR(L3$(I),1) : STR(G3$(G5),14,L7+2)=ALL(01) : STR(G3$(G5),19,1)=HEX(FF) : STR(G3$(G5),22)="NO " : STR(G3$(G5),26)=H$ : STR(G3$(G5),43)="Y" : RETURN 1660 DEFFN'99(E,E1$,E2$) : COM L0$21 : L0$=BIN(E) : STR(L0$,2)=STR(E1$,1,LEN(E1$))&E2$ : GOSUB '212(V3) : RETURN CLEAR 1720 LOAD T"LPERROR" 9000 DEFFN'0"SCRATCH T ";HEX(22);"LPSCAN";HEX(22) 9100 DEFFN'1"SAVE T () ";HEX(22);"LPSCAN";HEX(22)