Listing of file='PKMAIN ' on disk='vmedia/701-2720C.wvd.zip'
# Sector 226, program filename = 'PKMAIN' 0010 REM % C O M M O N V A R I A B L E S 0020 COM G3$(G3)G6,L3$(L3)L6,L3,L5,L6,G3,G5,G6,H7$7,G4$(G3)5,L3$(L3)L6,F7,F1$( F7)2 : COM M3,F5,C9,R9,C8,C6,D5,D6 : GOTO 3005 0050 DEFFNS(Q)=VAL(STR(F1$(Q),1,1)) 0060 DEFFNL(Q)=VAL(STR(F1$(Q),2,1)) 0070 DEFFNR(D4)=17+D4-((INT((D4-1)/D6))*D6) 0080 DEFFNC(D4)=INT((D4-1)/D6)*D5 3000 REM % M A I N S C R E E N M O D U L E - P R O C E S S D E F I N I T I O N 3005 C6=F5 : R9=1 : C9=11 : C8=40 : D5=13 : D6=5 : PRINT HEX(06);AT(1,0);BOX(0,80);AT(0,10);HEX(0E);" Process Definition - Main Screen ";HEX(0F);AT(18,0);BOX(0,80); : M6=0 : GOSUB '220(2,0,14,80,2,0) 3025 PRINT HEX(06);AT(FNR(1),FNC(1));". Sort/Group";AT(FNR(2),FNC(2));". +";AT (FNR(3),FNC(3));". -";AT(FNR(4),FNC(4));". x";AT(FNR(5),FNC(5));". /";AT( FNR(6),FNC(6));". Total"; 3026 PRINT ;AT(FNR(7),FNC(7));". Maximum";AT(FNR(8),FNC(8));". Minimum";AT(FNR (9),FNC(9));". Average";AT(FNR(10),FNC(10));". Count";AT(FNR(11),FNC(11)) ;". Delete"; 3030 PRINT HEX(06);AT(16,0);HEX(0E);" Please select an operation to p erform. ";AT(23,50);"CANCEL/EDIT - End Session ";HEX (0F);AT(20,50);"'12 - Add/Delete fields";AT(21,50);"'13 - Review output ";AT(22,50);"Return - Select "; 3031 GOSUB '94 : GOSUB '95 3035 PRINT AT(FNR(R9),FNC(R9));HEX(068B0802050F); : KEYIN A$,,3065 : PRINT HEX(06);AT(FNR(R9),FNC(R9));"."; : IF A$<>" "THEN 3045 : R9=R9+1 : IF R9<=C9THEN 3035 : R9=1 : GOTO 3035 3045 IF A$<>HEX(08)THEN 3050 : R9=R9-1 : IF R9>=1THEN 3035 : R9=C9 : GOTO 3035 3050 IF A$<>HEX(0D)AND A$<>HEX(82)THEN 3124 : ON R9GOTO 4010,5010,5020,5030,5040,6010,6020,6030,6040,6050,6510,6760,691 0 : GOTO 3030 3065 PRINT HEX(06);AT(FNR(R9),FNC(R9));".";AT(16,10,69);AT(22,50,30); : IF A$<>HEX(02)THEN 3090 : IF C6-C8<=80-C8THEN 3030 : C6=C6-C8 : GOSUB '222(1,0,C8) : GOSUB '94 : GOTO 3030 3090 IF A$<>HEX(03)THEN 3103 : IF C6+C8>F5THEN 3030 : C6=C6+C8 : GOSUB '222(1,0,-1*C8) : GOSUB '94 : GOTO 3030 3103 IF A$<>HEX(0C)THEN 3107 : PRINT AT(16,10);HEX(0E);"Please wait one moment ... ";AT(18, 0,); : GOSUB '221(1) : LOAD T"PKFIELDS" 3107 IF A$<>HEX(0D)THEN 3109 : GOTO 7010 3109 IF A$<>HEX(F0)THEN 3116 : FOR I=1TO G5 : IF STR(G3$(I),FNS(8),FNL(8))="???"THEN 3118 : NEXT I 3110 PRINT AT(18,0,); : GOSUB '221(1) : S=VAL(STR(K9$,7,1)) : L=VAL(STR(K9$,8,1)) : G1$=STR(K9$,S,8) : MAT COPY K9$<S+8,L-8>TO K9$<S,L-8> : STR(K9$,S+L-8,8)="@MENU " : COM CLEAR H7$ : LOAD TG1$ 3116 PRINT HEX(00); : GOTO 3124 3118 PRINT AT(16,10);HEX(070E);"Field '";STR(G3$(I),FNS(1),FNL(1));"' has not been defined.";HEX(0F);AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30 );AT(22,50);"EXEC/RUN - End anyway ";AT(23,50);HEX(0E);"CANCEL/EDIT - D efine more ";HEX(0F); 3119 KEYIN STR(A$,1,1),,3121 : IF STR(A$,1,1)<>HEX(82)THEN 3119 : GOTO 3110 3121 IF STR(A$,1,1)<>HEX(F0)THEN 3119 : GOTO 3125 3124 PRINT HEX(00); 3125 GOTO 3030 4010 LOAD T"PKSORT"3000,9999BEG 4010 5010 LOAD T"PKDIAD"3000,9999BEG 5010 5020 LOAD T"PKDIAD"3000,9999BEG 5020 5030 LOAD T"PKDIAD"3000,9999BEG 5030 5040 LOAD T"PKDIAD"3000,9999BEG 5040 6010 LOAD T"PKMONAD"3000,9999BEG 6010 6020 LOAD T"PKMONAD"3000,9999BEG 6020 6030 LOAD T"PKMONAD"3000,9999BEG 6030 6040 LOAD T"PKMONAD"3000,9999BEG 6040 6050 LOAD T"PKMONAD"3000,9999BEG 6050 6510 LOAD T"PKOTHER"3000,9999BEG 6510 6760 LOAD T"PKOTHER"3000,9999BEG 6760 6910 LOAD T"PKOTHER"3000,9999BEG 6910 7010 GOSUB '221(1) : PRINT HEX(06);AT(0,10);HEX(0E);" Process Definition - Table Display S creen";HEX(0F); : PRINT AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30);AT(22,50,30);AT (23,50);HEX(0E);"CANCEL/EDIT - Cancel ";HEX(0F); : PRINT AT(3,0);"\C6\E9\E5\EC\E4\A0\CE\E1\ED\E5\A0\A0\A0\A0\A0\A0 "; : PRINT "\D4\A0 "; : PRINT "\CC\F6 "; : PRINT "\C4\E5\F2 "; 7060 PRINT "\CF\F0\E5\F2\E1\EE\E4\A0\B1\A0\A0\A0\A0\A0\A0\A0\A0\A0\A0\A0 "; : PRINT "\CF\F0\E5\F2\E1\EE\E4\A0\B2\A0\A0\A0\A0\A0\A0\A0\A0\A0\A0\A0 "; : PRINT "Pg 1"; : PRINT AT(4,0); : IF G5=0THEN 7221 : FOR I=1TO G5 : PRINT STR(G3$(I),FNS(1),FNL(1)); : PRINT TAB(18);STR(G3$(I),FNS(2),FNL(2)); : PRINT TAB(22);VAL(STR(G3$(I),FNS(6),FNL(6))); : PRINT TAB(26);STR(G3$(I),FNS(8),FNL(8)); : PRINT TAB(31); : IF STR(G3$(I),FNS(9),FNL(9))<>"C"THEN 7200 7193 GOSUB '96(STR(G3$(I),FNS(10),FNL(10))) : GOSUB '100(Z1) : PRINT STR(G3$,1,12); : GOTO 7210 7200 PRINT STR(G3$(I),FNS(10),FNL(10)); 7210 PRINT TAB(53); : IF STR(G3$(I),FNS(11),FNL(11))<>"C"THEN 7219 : GOSUB '96(STR(G3$(I),FNS(12),FNL(12))) : GOSUB '100(Z1) : PRINT STR(G3$,1,12); : GOTO 7220 7219 PRINT STR(G3$(I),FNS(12),FNL(12)); 7220 PRINT : IF I=G5OR I/10<>INT(I/10)THEN 7240 7221 PRINT AT(16,0,80);AT(16,10);HEX(0E);"Press any key to continue.";HEX(0F); : GOSUB '95 : KEYIN A$,,7232 7226 PRINT AT(3,76);INT((I+11)/10);AT(4,0,80*11); : GOTO 7240 7232 IF A$=HEX(F0)THEN 7260 : GOTO 7226 7240 NEXT I : PRINT AT(16,0,80);AT(16,10);HEX(0E);"\CE\EF\A0\ED\EF\F2\E5\AE Press any key to continue.";HEX(0F); : GOSUB '95 : KEYIN A$ : GOTO 7260 7260 GOSUB '220(2,F5-C6,14,80,2,0) : R9=1 : C9=11 : PRINT AT(0,15);HEX(0E);"Process Definition - Main Screen " ;HEX(0F); : GOTO 3030 9010 DEFFN'95 : RETURN 9020 KEYIN A$,9030,9030 : GOTO 9040 9030 PRINT HEX(00); : GOTO 9020 9040 RETURN 9060 DEFFN'94 : IF C6-C8<=80-C8THEN PRINT AT(18,50,30); : ELSE PRINT AT(18,50);"'2 - Look Right"; : IF C6+C8>F5THEN PRINT AT(19,50,30); : ELSE PRINT AT(19,50);"'3 - Look Left"; : RETURN 9100 DEFFNR(D4)=17+D4-((INT((D4-1)/D6))*D6) : STR(G$,G3,1)="#" 9110 DEFFNC(D4)=INT((D4-1)/D6)*D5 : STOP "PKEX1"# 9201 DEFFN'100(G1) : STR(G$,1,12)="-###########" : CONVERT G1TO STR(G3$,1,12),(G$) : CONVERT STR(G3$,1,12)TO G2 : IF G2=G1THEN RETURN : FOR H3=11TO 1STEP -1 : STR(G$,H3,1)="." : CONVERT G1TO STR(G3$,1,12),(G$) : CONVERT STR(G3$,1,12)TO G2 : IF G2=G1THEN RETURN : STR(G$,H3,1)="#" : NEXT H3 : STOP "PKEX1"# 9301 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)) 9900 DEFFN'0"PRINT HEX(03);:LISTSD 7220, 9699";HEX(0D) : GOTO 3025 9999 % SCRATCH T "PKMAIN":SAVE T ()"PKMAIN"