Listing of file='PKOTHER' on disk='vmedia/701-2720C.wvd.zip'
# Sector 309, program filename = 'PKOTHER' 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 3000 0050 DEFFNS(Q)=VAL(STR(F1$(Q),1,1)) 0060 DEFFNL(Q)=VAL(STR(F1$(Q),2,1)) 3000 X=X : DIM A1$1 : DIM S$40,S4$3,S9$1 3025 LOAD T"PKMAIN"3000,9999BEG 3025 6510 PRINT AT(16,10);HEX(0E);"Please select a field to delete. ";HEX(0F); : GOSUB '98(3) : IF Z1<>1THEN 6520 : R9=1 : C9=11 : PRINT HEX(06); : GOTO 3025 6520 FOR X1=1TO G5 : IF STR(G4$(X1),FNS(14),FNL(14))="Y"THEN 6530 : NEXT X1 : GOTO 6510 6524 PRINT AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30);AT(22,50,30);AT (23,50,29); 6530 PRINT AT(22,50,29);AT(16,10);HEX(0E);"Are you sure ? "; 6550 A1$="Y" : GOSUB '123("Y",1,16,25,2424," ",HEX(0D8250F0)) : A1$=S$ : PRINT HEX(0F); : IF S9$=HEX(50)OR S9$=HEX(F0)THEN A1$="N" : IF A1$="Y"OR A1$="N"THEN 6580 : PRINT HEX(07); : GOTO 6550 6580 IF A1$="Y"THEN GOTO 6590 : SELECT P6 : PRINT AT(16,10);HEX(020404040E06);"No action being taken.";HEX(020402000F ) : PRINT HEX(06);AT(R9+1,0,80);" " : SELECT P0 : R9=1 : C9=11 : GOTO 3025 6590 STR(G3$(X1),FNS(1),FNL(1))=ALL(" ") : STR(G3$(X1),FNS(6),FNL(6))=BIN(255) : PRINT AT(16,10);HEX(0E);"Regenerating Diagram ... ";" ";HEX(0F); : LOAD T"PKREGEN"3000,9999 6760 PRINT AT(16,10);HEX(0E);"Please select which field to suppress. ";HEX(0F); : GOSUB '98(3) : IF Z1<>1THEN 6780 : R9=1 : C9=11 : PRINT HEX(06); : GOTO 3025 6780 FOR X1=1TO G5 : IF STR(G4$(X1),FNS(14),FNL(14))="Y"THEN 6800 : NEXT X1 : GOTO 6760 6784 PRINT AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30);AT(22,50,30);AT (23,50,29); 6800 PRINT AT(16,10);HEX(0E);"Are you sure ? "; 6810 GOSUB '123("Y",1,16,25,2424," ",HEX(0D82)) : A1$=S$ : PRINT HEX(0F); : IF A1$="Y"OR A1$="N"THEN 6840 : PRINT HEX(07); : GOTO 6810 6840 IF A1$="Y"THEN GOTO 6850 : SELECT P6 : PRINT AT(16,10);HEX(020404040E06);"No action being taken.";HEX(020402000F ) : PRINT HEX(06);AT(R9+1,0,80);" " : SELECT P0 : R9=1 : C9=11 : GOTO 3025 6850 STR(G3$(X1),FNS(13),FNL(13))="N" : PRINT AT(16,10);HEX(0E);"Regenerating Diagram ... ";" ";HEX(0F); : LOAD T"PKREGEN"3000,9999 6910 PRINT AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30);AT(22,50,30);AT (23,50,29); 6915 PRINT AT(16,10);HEX(0E);"Do you really wish to have everything printed ? "; : GOSUB '123("Y",1,16,58,2424," ",HEX(0D82)) : A1$=S$ : PRINT AT(16,20,70); : IF A1$<>"Y"AND A1$<>"N"THEN 6915 : IF A1$="Y"THEN GOTO 6930 : SELECT P6 : PRINT AT(16,10);HEX(020404040E06);"No action being taken.";HEX(020402000F ) : PRINT HEX(06);AT(R9+1,0,80);" " 6924 SELECT P0 : R9=1 : C9=11 : GOTO 3025 6930 PRINT AT(16,10);HEX(0E);"Regenerating Diagram ... ";HEX(0F ); : FOR I5=1TO G5 : STR(G3$(I5),FNS(13),FNL(13))="Y" : NEXT I5 : LOAD T"PKREGEN"3000,9999 8010 DEFFN'99(M1) 8020 Z1=1 : FOR A3=1TO G5 : C9=VAL(STR(G4$(A3),FNS(16),FNL(16)),2) : R9=VAL(STR(G4$(A3),FNS(15),FNL(15))) : T3$=STR(G3$(A3),FNS(2),FNL(2)) : T2$=STR(G3$(A3),FNS(8),FNL(8)) : T4$=STR(G3$(A3),FNS(13),FNL(13)) : T1=VAL(STR(G3$(A3),FNS(6),FNL(6))) : C9=C9-W1(1,2)+W1(1,6) : R9=R9-W1(1,1)+W1(1,5) 8040 IF C9<W1(1,6)OR C9>W1(1,6)+W1(1,4)-1OR R9<W1(1,5)OR R9>W1(1,5)+W1(1,3)-1T HEN 8100 : IF T4$="N"THEN 8100 : IF T3$<>"S"AND T3$<>"U"AND M1=2THEN 8100 : IF T4$="N"THEN 8100 : IF T1=0AND M1=1THEN 8100 : IF T2$<>"NO"AND M1=1THEN 8100 : IF STR(G4$(A3),FNS(14),FNL(14))="Y"THEN PRINT AT(R9+1,C9);HEX(0202020F960 202000E); : ELSE PRINT AT(R9+1,C9);"."; : Z1=0 8100 NEXT A3 : IF Z1=0THEN RETURN 8120 PRINT HEX(06); : KEYIN A$,,8140 8130 PRINT HEX(07); : GOTO 8120 8140 IF A$<>HEX(02)THEN 8170 : IF C6-C8<=80-C8THEN 8130 : C6=C6-C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,C8) : GOSUB '94 : GOTO 8020 8170 IF A$<>HEX(03)THEN 8210 : IF C6+C8>F5THEN 8130 : C6=C6+C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,-1*C8) : GOSUB '94 : GOTO 8020 8210 IF A$<>HEX(F0)AND A$<>HEX(50)THEN 8130 : Z1=1 : R9=1 : C9=11 : RETURN 8240 DEFFN'98(M3) : PRINT AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30);AT(22,50);"Retu rn - Select ";AT(23,50);HEX(0E);"CANCEL/EDIT - Cancel "; HEX(0F); : GOSUB '94 : FOR I1=1TO G5 : STR(G4$(I1),FNS(14),FNL(14))="N" : NEXT I1 : A2=1 8291 GOSUB '99(M3) : IF Z1=1THEN 8570 8300 R9=VAL(STR(G4$(A2),FNS(15),FNL(15))) : R9=R9-W1(1,1)+W1(1,5) : C9=VAL(STR(G4$(A2),FNS(16),FNL(16)),2) : C9=C9-W1(1,2)+W1(1,6) : T3$=STR(G3$(A2),FNS(2),FNL(2)) : T4$=STR(G3$(A2),FNS(13),FNL(13)) : IF T4$="N"THEN 8315 : IF M3=2AND T3$<>"S"AND T3$<>"U"THEN 8315 8310 IF C9>=W1(1,6)AND C9<=W1(1,6)+W1(1,4)-1AND R9>=W1(1,5)AND R9<=W1(1,5)+W1( 1,3)-1THEN 8320 8315 IF A2<G5THEN A2=A2+1 : ELSE A2=1 : GOTO 8300 8320 PRINT AT(R9+1,C9);HEX(02050F); : KEYIN A$,,8480 : PRINT AT(R9+1,C9);"."; : IF A$<>" "THEN 8390 8370 A2=A2+1 : IF A2>G5THEN A2=1 : R9=VAL(STR(G4$(A2),FNS(15),FNL(15))) : C9=VAL(STR(G4$(A2),FNS(16),FNL(16)),2) : R9=R9-W1(1,1)+W1(1,5) : C9=C9-W1(1,2)+W1(1,6) : T3$=STR(G3$(A2),FNS(2),FNL(2)) : T4$=STR(G3$(A2),FNS(13),FNL(13)) : IF T4$="N"THEN 8370 : IF M3=2AND T3$<>"S"AND T3$<>"U"THEN 8370 8380 IF C9>=W1(1,6)AND C9<=W1(1,6)+W1(1,4)-1AND R9>=W1(1,5)AND R9<=W1(1,5)+W1( 1,3)-1THEN 8320 : GOTO 8370 8390 IF A$<>HEX(08)THEN 8420 8400 A2=A2-1 : IF A2<1THEN A2=G5 : R9=VAL(STR(G4$(A2),FNS(15),FNL(15))) : C9=VAL(STR(G4$(A2),FNS(16),FNL(16)),2) : R9=R9-W1(1,1)+W1(1,5) : C9=C9-W1(1,2)+W1(1,6) : T3$=STR(G3$(A2),FNS(2),FNL(2)) : T4$=STR(G3$(A2),FNS(13),FNL(13)) : IF T4$="N"THEN 8400 : IF M3=2AND T3$<>"S"AND T3$<>"U"THEN 8400 8410 IF C9>=W1(1,6)AND C9<=W1(1,6)+W1(1,4)-1AND R9>=W1(1,5)AND R9<=W1(1,5)+W1( 1,3)-1THEN 8320 : GOTO 8400 8420 IF A$<>HEX(0D)THEN 8460 : STR(G4$(A2),FNS(14),FNL(14))="Y" : PRINT AT(R9+1,C9);HEX(0202020F960202000E0802050F); : Z1=0 : RETURN 8460 PRINT HEX(07); : GOTO 8320 8480 IF A$<>HEX(02)THEN 8510 : IF C6-C8<=80-C8THEN 8320 : C6=C6-C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,C8) : GOSUB '94 : GOTO 8291 8510 IF A$<>HEX(03)THEN 8550 : IF C6+C8>F5THEN 8320 : C6=C6+C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,-1*C8) : GOSUB '94 : GOTO 8291 8550 IF A$<>HEX(09)THEN 8560 : STR(G4$(A2),FNS(14),FNL(14))="N" : PRINT AT(R9+1,C9);"."; : GOTO 8320 8560 IF A$<>HEX(F0)AND A$<>HEX(50)THEN 8460 8570 PRINT HEX(06);AT(R9+1,0,80);AT(23,50,30); : R9=1 : C9=11 : FOR A2=1TO G5 : STR(G4$(A2),FNS(14),FNL(14))="N" : NEXT A2 : G3$(G5+1)=ALL(" ") : Z1=1 : RETURN 9001 DEFFN'123(S$,S1,S2,S3,S7,S5$,S6$) 9002 S5=S3 : $TRAN(S6$,HEX(FE0D))R : S4=1 : S8$=BIN(INT(S7/1000))&BIN(MOD(INT(S7/100),10)) : PRINT AT(S2,S3);HEX(0202020F0204);STR(S8$,1,2);HEX(0E);STR(S$,1,S1);AT(S2 ,S3); 9003 PRINT HEX(05); : KEYIN S9$,,9005 : PRINT HEX(06); : IF S9$=HEX(84)THEN 9003 : $TRAN(S9$,HEX(FE0D))R : IF POS(HEX(82FEA1E5)=S9$)>0THEN 9006 : IF S9$=HEX(08)THEN 9021 : IF S4>S1THEN 9003 : IF POS(S5$="S")>0AND S9$=" "THEN S9$=HEX(80) : PRINT AT(S2,S5);S9$; : STR(S$,S4,1)=S9$ : IF POS(S5$="A")>0AND S4>=S1THEN 9004 : S5=S5+1 : S4=S4+1 : GOTO 9003 9004 S8$=BIN(MOD(INT(S7/10),10))&BIN(MOD(INT(S7),10)) : IF POS(S5$="L")>0THEN S7=LEN(S$) : ELSE S7=S1 : PRINT AT(S2,S3);HEX(0202020F0204);STR(S8$,1,2);HEX(0E);STR(S$,1,S7);HEX(0 202000F020402000F); : IF POS(S5$="L")>0AND LEN(S$)<S1THEN PRINT STR(S$,LEN(S$)+1,S1-LEN(S$)); : IF POS(S5$="A")>0AND S4>=S1AND POS(S6$=S9$)=0THEN S9$=HEX(FF) : RETURN 9005 PRINT HEX(06); : $TRAN(S9$,HEX(0A4A0A5A094909590C5C0C4C0D5D0D4DE548))R : IF S9$=HEX(0D)THEN 9016 9006 PRINT HEX(06); : IF POS(S6$=S9$)>0THEN 9004 : IF S9$=HEX(E5)THEN 9023 : ON VAL(S9$)-3GOTO 9007,9003,9003,9009,9010,9012,9013,9014,9015,9016,9017 : GOTO 9003 9007 IF LEN(S$)=S1THEN S4=S1 : ELSE IF S$<>" "THEN S4=LEN(S$)+1 : ELSE S4=1 : S5=S3+LEN(S$) : IF S$=" "THEN S5=S3 : IF S5>S3+S1-1THEN S5=S3+S1-1 9008 PRINT AT(S2,S5); : GOTO 9003 9009 S5=S3 : S4=1 : GOTO 9008 9010 STR(S$,S4)=" " 9011 PRINT AT(S2,S3);STR(S$,1,S1);AT(S2,S5); : GOTO 9003 9012 STR(S$,S4)=STR(S$,S4+1) : GOTO 9011 9013 FOR S6=S1TO S4+1STEP -1 : IF S6>1THEN STR(S$,S6,1)=STR(S$,S6-1,1) : NEXT S6 : STR(S$,S4,1)=" " : GOTO 9011 9014 S6=5 : GOTO 9018 9015 S6=1 : GOTO 9018 9016 S6=-1 : GOTO 9018 9017 S6=-5 9018 S5=S5+S6 : S4=S4+S6 : IF S4>0THEN 9019 : S4=1 : S5=S3 9019 S6=LEN(S$) : IF S$=" "THEN S6=0 : IF S4<=S6THEN 9020 : S5=S3+S6 : S4=S6+1 9020 PRINT AT(S2,S5); : GOTO 9003 9021 S4=S4-1 : S5=S5-1 : IF S4>0THEN 9022 : S4=1 : S5=S3 9022 IF POS(S5$="S")=0THEN STR(S$,S4,1)=" " : ELSE STR(S$,S4,1)=HEX(80) : GOTO 9011 9023 S$=" " : GOTO 9002 9500 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 9900 DEFFN'0"\A0HEX(03);:LISTSD 6524, 9699";HEX(0D) 9901 DEFFN'1"\A0HEX(03);:LISTS' ";HEX(0D) : ON SGOTO 6510,6760,6910 9999 % SCRATCH T "PKOTHER":SAVE T ()"PKOTHER"