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"