image of READY prompt

Wang2200.org

Listing of file='PKEX1' on disk='vmedia/701-2720C.wvd.zip'

# Sector 151, program filename = 'PKEX1'
0015 COM F1$(F7)2
0025 COM L0$(7)20
   : COM L3,L5,L6,G3,G5,G6
   : COM G3$(G3)G6,G4$(G3)5
   : COM L3$(L3)L6,L4$(L3)1
   : COM G3
   : DIM A$1,F0$G6,F1$5,Z$22
   : DIM H1$(3)100,H2$(3)100,H3$(3)100,G1$3,G2$3
   : DIM C1$(10)3,C2(10),C3(10),C4$(10)8,C5(10),C6(10),B1$(1008)1
   : LOAD T"PKBUFMAN"2700,2999BEG 5010
5010 DIM Z$22
   : X=0
   : FOR I=1TO G5
   : IF STR(G3$(I),FNS(8),FNL(8))<>"NO "THEN 5020
   : Y=VAL(STR(G3$(I),FNS(6),FNL(6)))
   : IF X>=YTHEN 5020
   : X=Y
5020 NEXT I
   : FOR I=1TO G5
   : FOR J=1TO G5-1
   : IF STR(G3$(J),FNS(6),FNL(6)+FNL(7))<STR(G3$(J+1),FNS(6),FNL(6)+FNL(7))THE
     N 5027
   : F0$=G3$(J)
   : F1$=G4$(J)
   : G3$(J)=G3$(J+1)
   : G4$(J)=G4$(J+1)
   : G3$(J+1)=F0$
   : G4$(J+1)=F1$
5027 NEXT J
   : NEXT I
   : GOSUB '241(1,L0$(7),"I")
   : IF S1<>0THEN STOP "PKEX1"#
   : W=0
5029 GOSUB '243(1,S1)
   : IF S1<>0THEN 5030
   : W=W+1
   : GOTO 5029
5030 GOSUB '242(1)
   : GOSUB '241(1,L0$(7),"U")
   : IF S1<>0THEN STOP "PKEX1"#
   : FOR H1=1TO W
   : GOSUB '245(1,H1,S1)
   : IF S1<>0THEN 5170
   : FOR I=1TO G5
   : S=VAL(STR(G3$(I),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(I),FNS(4),FNL(4)),2)
   : IF STR(G3$(I),FNS(8),FNL(8))="NO "THEN 5130
   : IF STR(G3$(I),FNS(8),FNL(8))="???"THEN 5122
   : IF STR(G3$(I),FNS(8),FNL(8))="Ent"THEN 5130
5120 STR(B1$(),S,L)="NULL                   "
   : GOTO 5130
5122 STR(B1$(),S,L)="????????????"
5130 NEXT I
   : GOSUB '246(1,H1,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : NEXT H1
   : H1=W
5170 IF H1<=1THEN 5370
   : PRINT AT(23,0);HEX(0E);"Sorting Records    ";HEX(0F);"
            ";
   : FOR I=1TO H1
   : G=0
   : FOR J=1TO H1-1
   : GOSUB '245(1,J,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : H1$()=B1$()
   : GOSUB '245(1,J+1,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : H2$()=B1$()
   : FOR K=1TO G5
5240 IF STR(G3$(K),FNS(8),FNL(8))<>"NO"THEN 5290
   : IF VAL(STR(G3$(K),FNS(6),FNL(6)))>=XTHEN 5300
   : S=VAL(STR(G3$(K),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(K),FNS(4),FNL(4)),2)
   : IF STR(H1$(),S,L)<STR(H2$(),S,L)THEN 5350
   : IF STR(H1$(),S,L)>STR(H2$(),S,L)THEN 5310
5290 NEXT K
5300 GOTO 5350
5310 B1$()=H2$()
   : G=1
   : GOSUB '246(1,J,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : B1$()=H1$()
   : GOSUB '246(1,J+1,S1)
   : IF S1<>0THEN STOP "PKEX1"#
5350 NEXT J
   : IF G=0THEN 5370
   : NEXT I
5370 PRINT AT(23,0);HEX(0E);"Deriving Fields                      ";HEX(0F);
   : N3=0
   : FOR I=1TO G5
   : G1$=STR(G3$(I),FNS(8),FNL(8))
   : V=VAL(STR(G3$(I),FNS(6),FNL(6)))
   : IF V>N3THEN N3=V
   : IF G1$="Tot"OR G1$="Max"OR G1$="Min"OR G1$="Avg"OR G1$="Cnt"THEN 5450
   : GOTO 5530
5450 N1=N1+1
   : C1$(N1)="YES"
   : C2(N1)=0
   : IF STR(G3$(I),FNS(8),FNL(8))="Min"THEN C2(N1)=9999999999999
   : C3(N1)=0
   : C4$(N1)=STR(G3$(I),FNS(1),FNL(1))
   : C5(N1)=VAL(STR(G3$(I),FNS(6),FNL(6)))
   : C6(N1)=1
5530 NEXT I
5550 G2$="NO"
   : H1$()=ALL(" ")
   : FOR I=1TO H1
   : H2$()=H1$()
   : GOSUB '245(1,I,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : H1$()=B1$()
   : FOR J=1TO N3
   : IF J=N3THEN 6060
   : FOR K=1TO G5
   : X=VAL(STR(G3$(K),FNS(6),FNL(6)))
   : IF X<JTHEN 6030
   : IF X>JTHEN 6040
   : IF STR(G3$(K),FNS(8),FNL(8))<>"NO"THEN 6030
   : IF I=1THEN 5940
   : S=VAL(STR(G3$(K),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(K),FNS(4),FNL(4)),2)
5710 IF STR(H1$(),S,L)=STR(H2$(),S,L)THEN 6030
5730 IF N1=0THEN 5920
   : FOR M=1TO N1
   : IF C5(M)<JTHEN 5910
   : IF C1$(M)="NO"THEN 5790
   : IF I<=H1THEN G2$="YES"
   : GOTO 5910
5790 FOR P=1TO G5
   : IF STR(G3$(P),FNS(1),FNL(1))=C4$(M)THEN 5820
   : NEXT P
5820 S=VAL(STR(G3$(P),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(P),FNS(4),FNL(4)),2)
   : IF C3(M)<>0THEN C2(M)=C2(M)/C3(M)
   : FOR N=C6(M)TO I-1
   : GOSUB '245(1,N,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : GOSUB '100(C2(M))
   : STR(B1$(),S,12)=STR(G3$,1,12)
   : GOSUB '246(1,N,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : NEXT N
5910 NEXT M
5920 IF I>H1THEN 7140
5940 FOR M=1TO N1
   : IF C5(M)<JTHEN 6020
   : C3(M)=0
   : C2(M)=0
   : FOR N=1TO G5
   : IF STR(G3$(N),FNS(1),FNL(1))=C4$(M)THEN 6000
   : NEXT N
   : STOP "ERROR:PKEX1"#
6000 IF STR(G3$(N),FNS(8),FNL(8))="Min"THEN C2(M)=9999999999999
   : C6(M)=I
6020 NEXT M
6030 NEXT K
6040 NEXT J
6060 FOR J=1TO G5
   : IF STR(G3$(J),FNS(8),FNL(8))="Tot"THEN 6150
   : IF STR(G3$(J),FNS(8),FNL(8))="Max"THEN 6150
   : IF STR(G3$(J),FNS(8),FNL(8))="Min"THEN 6150
   : IF STR(G3$(J),FNS(8),FNL(8))="Avg"THEN 6150
   : IF STR(G3$(J),FNS(8),FNL(8))="Cnt"THEN 6130
   : GOTO 6480
6130 X1=0
   : GOTO 6250
6150 FOR K=1TO G5
   : IF STR(G3$(J),FNS(10),FNL(10))=STR(G3$(K),FNS(1),FNL(1))THEN 6190
   : NEXT K
   : STOP "ERROR: PKEX1-"#
6190 S=VAL(STR(G3$(K),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(K),FNS(4),FNL(4)),2)
   : IF STR(H1$(),S,L)<>"NULL   "THEN 6240
   : G2$="YES"
   : GOTO 6480
6240 CONVERT STR(H1$(),S,L)TO X1
   : ERRORX1=0
6250 FOR L=1TO N1
   : IF C4$(L)=STR(G3$(J),FNS(1),FNL(1))THEN 6290
   : NEXT L
   : STOP "ERROR:PKEX1"#
6290 IF STR(G3$(J),FNS(8),FNL(8))<>"Tot"THEN 6330
   : C2(L)=C2(L)+X1
   : C1$(L)="NO"
   : GOTO 6480
6330 IF STR(G3$(J),FNS(8),FNL(8))<>"Max"THEN 6370
   : IF C2(L)<X1THEN C2(L)=X1
   : C1$(L)="NO"
   : GOTO 6480
6370 IF STR(G3$(J),FNS(8),FNL(8))<>"Min"THEN 6410
   : IF X1<C2(L)THEN C2(L)=X1
   : C1$(L)="NO"
   : GOTO 6480
6410 IF STR(G3$(J),FNS(8),FNL(8))<>"Avg"THEN 6460
   : C2(L)=C2(L)+X1
   : C3(L)=C3(L)+1
   : C1$(L)="NO"
   : GOTO 6480
6460 C1$(L)="NO"
   : C2(L)=C2(L)+1
6480 NEXT J
   : NEXT I
   : FOR I=1TO H1
   : GOSUB '245(1,I,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : H1$()=B1$()
   : FOR J=1TO G5
   : IF STR(G3$(J),FNS(8),FNL(8))="+"THEN 6610
   : IF STR(G3$(J),FNS(8),FNL(8))="-"THEN 6610
   : IF STR(G3$(J),FNS(8),FNL(8))="x"THEN 6610
   : IF STR(G3$(J),FNS(8),FNL(8))="/"THEN 6610
   : GOTO 7060
6610 IF STR(G3$(J),FNS(9),FNL(9))<>"C"THEN 6640
   : GOSUB '96(STR(G3$(J),FNS(10),FNL(10)))
   : O1=Z1
   : GOTO 6750
6640 FOR K=1TO G5
   : IF STR(G3$(K),FNS(1),FNL(1))=STR(G3$(J),FNS(10),FNL(10))THEN 6680
   : NEXT K
   : STOP "ERROR:PKEX1"#
6680 S=VAL(STR(G3$(K),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(K),FNS(4),FNL(4)),2)
   : IF STR(H1$(),S,L)<>"NULL"THEN 6730
   : G2$="YES"
   : GOTO 7060
6730 CONVERT STR(H1$(),S,L)TO O1
   : ERRORO1=0
6750 IF STR(G3$(J),FNS(11),FNL(11))<>"C"THEN 6780
   : GOSUB '96(STR(G3$(J),FNS(12),FNL(12)))
   : O2=Z1
   : GOTO 6890
6780 FOR K=1TO G5
   : IF STR(G3$(K),FNS(1),FNL(1))=STR(G3$(J),FNS(12),FNL(12))THEN 6820
   : NEXT K
   : STOP "ERROR:PKEX1"#
6820 S=VAL(STR(G3$(K),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(K),FNS(4),FNL(4)),2)
   : IF STR(H1$(),S,L)<>"NULL"THEN 6870
   : G2$="YES"
   : GOTO 7060
6870 CONVERT STR(H1$(),S,L)TO O2
   : ERRORO2=0
6890 IF STR(G3$(J),FNS(8),FNL(8))<>"+"THEN 6920
   : O3=O1+O2
   : GOTO 7030
6920 IF STR(G3$(J),FNS(8),FNL(8))<>"-"THEN 6950
   : O3=O1-O2
   : GOTO 7030
6950 IF STR(G3$(J),FNS(8),FNL(8))<>"x"THEN 6980
   : O3=O1*O2
   : GOTO 7030
6980 IF O2<>0THEN 7010
   : O3=0
   : GOTO 7030
7010 O3=O1/O2
7030 S=VAL(STR(G3$(J),FNS(3),FNL(3)),2)
   : L=VAL(STR(G3$(J),FNS(4),FNL(4)),2)
   : Z$="-####################"
   : Z2=0
7042 Z$=STR(Z$,1,12)
   : CONVERT O3TO STR(H1$(),S,12),(Z$)
   : CONVERT STR(H1$(),S,L)TO Z1
   : ERRORZ1=0
7052 IF ABS(Z1-O3)<.0001THEN 7060
   : Z2=Z2+1
   : IF 12=Z2THEN 7060
   : Z$="-####################"
   : STR(Z$,12-Z2,1)="."
   : GOTO 7042
7060 NEXT J
   : B1$()=H1$()
   : GOSUB '246(1,I,S1)
   : IF S1<>0THEN STOP "PKEX1"#
   : NEXT I
   : I=H1+1
   : J=0
   : GOTO 5730
7140 IF G2$="YES"THEN 5550
   : GOSUB '242(1)
   : LOAD T"PKEX2"
9001 DEFFN'100(G1)
   : STR(G$,1,12)="-###########"
   : CONVERT G1TO STR(G3$,1,12),(G$)
   : CONVERT STR(G3$,1,12)TO G2
   : ERRORG2=0
9005 IF G2=G1THEN RETURN
   : FOR H3=11TO 2STEP -1
   : STR(G$,H3,1)="."
   : CONVERT G1TO STR(G3$,1,12),(G$)
   : CONVERT STR(G3$,1,12)TO G2
   : ERRORG2=0
9010 IF G2=G1THEN RETURN
   : STR(G$,H3,1)="#"
   : NEXT H3
   : STOP "PKEX1"#
9201 DEFFN'95(Z1)
   : $PACKZ1$FROMZ1
   : Z1$=STR(Z1$,4,8)&ALL(00)
   : RETURN
9206 DEFFN'96(Z1$)
   : Z2$=HEX(800108)&STR(Z1$,1,8)&HEX(80)
   : $UNPACKZ2$TO Z1
   : RETURN
9701 DEFFNS(Q)=VAL(STR(F1$(Q),1,1))
9702 DEFFNL(Q)=VAL(STR(F1$(Q),2,1))
9999 %   SCRATCH T "PKEX1": SAVE T ()"PKEX1"