Listing of file='SLD.FVAL' on disk='vmedia/701-2721C.wvd.zip'
# Sector 705, program filename = 'SLD.FVAL' 0010 REM % "SLD.FVAL" 0190 DIM C$3,E$1,M$24,B$2 : DIM S$64,S9$1,S4$3 : DIM F$20,T$1,O$28,T$(3)1,I$(3)64,L(3) : X=2 : Y=15 : F$=STR(G8$(),2,20) : T$=STR(G8$(),22,1) : L=VAL(STR(G8$(),23,1)) : O=VAL(G8$(24)) : O$=STR(G8$(),25,28) : T$()=STR(G8$(),245,3) : I$()=STR(G8$(),53,192) : FOR I=1TO 3 : L(I)=VAL(STR(G8$(),247+I,1)) : NEXT I : IF T$()=" "THEN T$()="CCC" 0340 ON OGOTO 360,360,400,400,400,400,450 0360 N=3 : C$="OR" : GOTO 490 0400 N=1 : C$=" " : I$(2),I$(3)=" " : GOTO 490 0450 N=2 : C$="AND" : I$(3)=" " 0490 IF T$="A"THEN M$="upper case alpha-numeric" : IF T$="S"THEN M$="numeric" : IF T$="U"THEN M$="unsigned numeric" : IF T$="C"THEN M$="alpha-numeric" : IF T$="S"OR T$="U"THEN B$="A" : ELSE B$="AS" : PRINT AT(0,39,40);"Condition Line Display";AT(X+6,4);F$;" ";O$; : P=LEN(F$)+LEN(O$)+8 : IF P+L>79THEN P=P-(P+L-79) : IF P<5THEN P=5 0600 S=X+4 : FOR I=1TO N : PRINT AT(X-1+S+I*3,0); : IF T$(I)="V"THEN PRINT "(variable)"; : ELSE IF T$(I)="F"THEN PRINT "(field)"; : PRINT AT(X-1+S+I*3,P);HEX(020402040E0202020E);STR(I$(I),1,MAX(L,LEN(I$(I) ))); : IF I<NTHEN PRINT AT(X+7+I*3,P-6);HEX(020402000E0F);C$; : NEXT I : PRINT HEX(020402000F); : GOSUB 2020 : R=1 0740 GOSUB '123(I$(R),L,X-1+S+R*3,P,2424,B$,HEX(820D7E7FF0020311)) : PRINT AT(21,0,39);AT(22,0,39);AT(23,0,39); : IF S9$<>HEX(11)THEN 820 : IF E$="T"THEN GOSUB 2020 : ELSE GOSUB 2100 : GOTO 740 0820 ON S9$GOTO ,1170,840 : GOTO 1220 0840 S$=" " : PRINT AT(X+Y+2,0,3*80);AT(22,0,35);AT(23,0,35);AT(22,53);"Cancel operatio n"; 0860 IF N>1THEN 910 : C=5+LEN(O$)+LEN(F$)-16 0880 PRINT AT(S+4,0,80);AT(S+4,C);"Enter field name:"; : GOSUB '123(S$,20,S+4,C+19,2424,"S",HEX(820DF0)) : GOTO 930 0910 PRINT AT(X-1+S+R*3,0,10);AT(X-1+S+R*3,P,79-P);"Enter field name:"; : GOSUB '123(S$,20,X-1+S+R*3,P+18,2424,"S",HEX(820DF0)) 0930 IF S9$<>HEX(F0)THEN 990 : PRINT AT(S2,0,80); : IF T$(R)="V"THEN PRINT "(variable)"; : ELSE IF T$(R)="F"THEN PRINT "(field)"; : GOSUB 2020 : GOTO 740 0990 $TRAN(S$,HEX(2080))R : MAT SEARCHL3$(),=S$TO S8$STEP L6 : $TRAN(STR(S$,1,LEN(S$)),HEX(8020))R : IF VAL(S8$,2)<>0THEN 1070 : PRINT AT(22,0,39);HEX(070E);"Field name ";HEX(22);S$;HEX(22);AT(23,0);"do es not exist";HEX(0F); : IF N=1THEN 880 : ELSE GOTO 910 1070 IF STR(L3$(),VAL(S8$,2)+L4,1)=T$THEN 1110 : PRINT AT(22,0);HEX(070E);"The type of the field name";AT(23,0);"entered m ust be ";M$;HEX(0F); : GOTO 860 1110 T$(R)="F" : PRINT AT(S2,0,80);"(field) ";AT(S2,P);HEX(020402040E);STR(S$,1,MAX(L,LE N(S$)));HEX(020402000E0F); : I$(R)=S$&HEX(00) : GOSUB 2020 : GOTO 1590 1170 I$(R)="?" : T$(R)="V" : PRINT AT(S2,0);"(variable)";AT(S2,P,79-P);HEX(020402040E);STR(I$(R),1,L); HEX(020402000E0F); : GOTO 1590 1220 IF T$(R)="V"AND S$<>I$(R)THEN 1230 : ELSE GOTO 1270 1230 PRINT AT(S2,0,10); : T$(R)="C" : GOTO 1330 1270 IF T$(R)="F"AND S$<>I$(R)THEN 1280 : ELSE GOTO 1320 1280 IF S1<64THEN STR(S$,S1+1)=" " : PRINT AT(S2,0,10);AT(S2,P,79-P);HEX(020402040E);STR(S$,1,L);HEX(020402000 E0F); : T$(R)="C" : GOTO 1330 1320 IF T$(R)<>"V"AND T$(R)<>"F"THEN T$(R)="C" 1330 I$(R)=S$ : IF S9$<>HEX(F0)THEN 1390 : PRINT AT(X+4,0,12*80);AT(20,40,39);AT(21,40,39); : LOAD T"SLD.RLOP" 1390 IF T$(R)<>"C"OR T$="C"THEN 1590 : IF T$="S"OR T$="U"THEN 1470 : FOR I=1TO L : IF STR(S$,I,1)>HEX(60)AND STR(S$,I,1)<>HEX(80)AND STR(S$,I,1)<>HEX(82)AND STR(S$,I,1)<>HEX(81)THEN 1990 : NEXT I : GOTO 1590 1470 IF S$=" "THEN 1590 : CONVERT S$TO J : ERRORGOTO 1990 1500 I$(R)=" " : FOR I=1TO L : IF STR(S$,I,1)<>" "THEN I$(R)=I$(R)&STR(S$,I,1) : NEXT I : I$(R)=STR(I$(R),2) : PRINT AT(X-1+S+R*3,P);HEX(020402040E);STR(I$(R),1,L);HEX(020402000F); : IF T$="U"AND J<0THEN 1990 1590 PRINT AT(21,0,39);AT(22,0,39);AT(23,0,39); : IF S9$=HEX(82)THEN 1670 : IF S9$=HEX(0D)OR S9$=HEX(7E)OR S9$<>HEX(7F)THEN R=MOD(R,N)+1 : IF S9$=HEX(7F)THEN R=MOD(R+N-2,N)+1 : GOTO 740 1670 IF POS(I$()<>" ")=0THEN 1920 : IF O<>7THEN 1710 : IF I$(1)=" "OR I$(2)=" "THEN 1960 1710 L(1),L(2),L(3)=0 : J=1 : FOR I=1TO N : IF T$(I)="V"THEN I$(I)="?" : R=POS(I$(J)=" ") : IF R=1THEN 1820 : L(J)=R-1 : IF T$(J)="F"THEN L(J)=L(J)-1 : IF L(J)=-1THEN L(J)=L : J=J+1 : GOTO 1860 1820 IF I=3THEN 1860 : STR(I$(),64*(J-1)+1)=STR(I$(),64*J+1) : I$(3)=" " : STR(T$(),J)=STR(T$(),J+1) 1860 NEXT I : STR(G8$(),245,3)=T$() : STR(G8$(),53,192)=I$() : FOR I=1TO 3 : STR(G8$(),247+I,1)=BIN(L(I)) : NEXT I : LOAD T"SLD.STOL" 1920 PRINT HEX(07);AT(21,0);HEX(0E);"You must enter a valid ";AT(22,0);M$;AT(2 3,0);"field or CANCEL/EDIT";HEX(0F); 1930 R=1 : GOTO 740 1960 PRINT HEX(07);AT(21,0);HEX(0E);"You must enter two valid ";AT(22,0);M$;AT (23,0);"fields or CANCEL/EDIT";HEX(0F); : GOTO 1930 1990 PRINT HEX(07);AT(21,0);HEX(0E);"Field values must be ";AT(22,0);M$;".";AT (23,0);"Please re-enter.";HEX(0F); : GOTO 740 2020 J=48 : PRINT AT(X+Y,0,); : PRINT AT(X+Y+2,J);"'2 - Variable input";AT(X+Y+3,J);"'3 - Compare to anot her field"; : PRINT AT(X+Y+4,J-1);"'17 - Display field editing keys"; 2060 PRINT AT(6,0);HEX(0E);"Please Enter a Value or Select a Function for this Field";HEX(0F);AT(23,J-9);"CANCEL/EDIT - Previous screen";AT(22,J-6);"EX EC/RUN - End of input "; : E$="F" : RETURN 2100 I=40 : J=60 : PRINT AT(X+Y+1,0,);AT(6,0);HEX(0E);"Please Enter a Value or Select a Func tion for this Field";HEX(0F); 2120 PRINT AT(X+Y+1,49,31);"'17 - Display other ' keys ";AT(X+Y+2,I);"'4 - En d of field ";AT(X+Y+2,J);"'10 - Insert ";AT(X+Y+3,I);"'7 - Beg. of field ";AT(X+Y+3,J);"'11 - ";HEX(8484848484202020202020202020); 2130 PRINT AT(X+Y+4,I);"'8 - Erase to end ";AT(X+Y+4,J);"'12 - ";HEX(842020 202020);AT(X+Y+5,I);"'9 - Delete ";AT(X+Y+5,J);"'13 - " ;HEX(5F202020202020);AT(X+Y+6,0);AT(X+Y+6,J);"'14 - ";HEX(5F5F5F5F5F); : E$="T" : RETURN 2160 DEFFN'0 : SCRATCH T"SLD.FVAL" : SAVE T()"SLD.FVAL" : PRINT "'SLD.FVAL' SAVED"; : LIST DT : RETURN 2170 DEFFN'16"RENUMBER 0-3000";HEX(0D); 6010 DEFFN'123(S$,S1,S2,S3,S7,S5$,S6$) 6200 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); 6290 PRINT HEX(05); : KEYIN S9$,,6600 : PRINT HEX(06); : IF S9$=HEX(84)THEN 6290 : $TRAN(S9$,HEX(FE0D))R : IF POS(HEX(82FEA1E5)=S9$)>0THEN 6630 : IF S9$=HEX(08)THEN 7190 : IF S4>S1THEN 6290 : 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 6510 : S5=S5+1 : S4=S4+1 : GOTO 6290 6510 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 6600 PRINT HEX(06); : $TRAN(S9$,HEX(0A4A0A5A094909590C5C0C4C0D5D0D4DE548))R : IF S9$=HEX(0D)THEN 7010 6630 PRINT HEX(06); : IF POS(S6$=S9$)>0THEN 6510 : IF S9$=HEX(E5)THEN 7270 : ON VAL(S9$)-3GOTO 6710,6290,6290,6780,6820,6860,6890,6950,6980,7010,7040 : GOTO 6290 6710 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 6750 PRINT AT(S2,S5); : GOTO 6290 6780 S5=S3 : S4=1 : GOTO 6750 6820 STR(S$,S4)=" " 6830 PRINT AT(S2,S3);STR(S$,1,S1);AT(S2,S5); : GOTO 6290 6860 STR(S$,S4)=STR(S$,S4+1) : GOTO 6830 6890 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 6830 6950 S6=5 : GOTO 7060 6980 S6=1 : GOTO 7060 7010 S6=-1 : GOTO 7060 7040 S6=-5 7060 S5=S5+S6 : S4=S4+S6 : IF S4>0THEN 7110 : S4=1 : S5=S3 7110 S6=LEN(S$) : IF S$=" "THEN S6=0 : IF S4<=S6THEN 7160 : S5=S3+S6 : S4=S6+1 7160 PRINT AT(S2,S5); : GOTO 6290 7190 S4=S4-1 : S5=S5-1 : IF S4>0THEN 7240 : S4=1 : S5=S3 7240 IF POS(S5$="S")=0THEN STR(S$,S4,1)=" " : ELSE STR(S$,S4,1)=HEX(80) : GOTO 6830 7270 S$=" " : GOTO 6200