' +JJJJ ?\>m0M='+l> /+l   d']6@5L&]655]6L:5 & "L}"BB5L&]66 77777777777JJJJx 77L? L7877777777 776i 7 7867 7`77 777777`x =(`(8`5775I7`B` 76`7`>J><;VU<)?<`8'x0|<&HhHh 8 8 8 8V&` aI꽌ɪVɭ&Y:&<&Y:&;: 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8 9: :' 9: :& :x)*++`FG8`0($ p,&"_*]6` L/5553L3  !"#$%&'()*+,-./0123456789:;<=>?80^݌Hh < <݌ < < h < < < <`HJ>݌h Hh݌`HIHHHHhHH݌hHhHh݌H6 (G FG HZXj 80x D9$xxH` >( Z>h Z>L=.xxH >hh@(LH>9L>HH/Hh/ H?-З( 8(& 8$8 H` *8HNx`* >x$50x*$50xL9JJJJ`HHjf5 >h $50x`HA>VD;;P >(ED Z> ?$0x8x D9- 8DD# H8`?E Vˆʎ55L $ 5 55555 &a*5`*5` "L&5_*b*JL%u**Lz%`** $  Q(lXJ̥KlV $  Q(lV eօ3L e3L &%R*L &%Q*L d' "L4% N'e*)n*5 5 &`@-e*f*f* 5 "L# "5f*`L %.* *t*Q*L$ %L&*L` "O**P**u** d' "L% N'e*)n*o*o*n* &8ɍ` ^&f\*555L& ^&NR* & "R*ΩL&)\*Z* ʽ LH*v 3h`0h8` " ['L & N'С55 &5`*A*@` +5L^6L6 i:5`  \* ?*0 '\* '  Q( ^&\*lZl^?*c*q)H c*h`f*5h*5j*555@O*AP*`u*@`@5&`Q*R*`E 'Ls' ' ' @DAE@u*`8` %@ @A@`@`**@*A`M5 ) "L&`8@AW*c*@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@c*h8&ȑ@Hȑ@Ah@L'Hȑ@ȑ@* htphso`hMhL`9V*8U*897T*6S*67`INILOASAVRUCHIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmxҠ734@~3!+,W,o,*--,,9,-.-~3~3,,,,~3~3,,,,~3_*3 j.5 *H*H`Lc3 (+L3 +55555 1^3_* )3J Q*L_3Ls3443 D23455545554 70 / 7 :/354545455454555535L^/5-5I5555 55` / 4/ 2-5! / 08555454 70L3 (+50+5B5C3 2 70L35 *H*H`Lg3L{3505 *H*H` 3 ,5L3 3 1 ,H 1hBL, 0 BH [1 1h`Lo3 35 ,L3 3 1B , 1L,H 0hB@ 55 [1L133 (+34) 34 70L3 3L3 (+ 055L- (+34L{33454445 70 ^/* / 3B0 HȱBh -355 -8 /L38 25` +5 /3 /. /. 3 E7D B. /. /. 0]34S0J4 4) 3 4D4E B. 4  /. 02L3 Ν3 3`HD٤33DEEhiHLG.h ` /5B5-` /5B-` + X05I33383 33DH /4 E03744Ȍ7 X040 7 J7L35B5C`,5p` / R0-55`50` K/ R0-55`575755` 4/ K/ /( 55L/BȱBL/58` D2BH5BH :/ 75Bȭ5Bhh55 R0B5m55ȱB5m55` /LR0557755`*7*75LR0 E0(33 48`433 R0` E033LR0*7*7`777 555I7575757577** 7757`7 L35555f /55555555 ^/`855 i /B58` 41L 15ȱB5 /5555 /5`3 D23ȑB55B5 / 7 55`5555555555 5555`555`55BC55`5555`L3 /5B5C355 0Q340"B4 3` 02۰Ϭ33B438`3i#`3ЗLw35!50>5555`53 /3m3 3 3733i35 3583 /35ЉLw35`H /5h 25L/~43 533`55555555J5m55m5jn5n5n555m5555m555`"L? 585H ~.(3` d ֠z#make sure FileWriter is properly placed"": PRINT "indrive#1.":POKE 216,0: GOSUB 3080: GOTO 3 320 \ (0):DDD$;"OPEN VARPASS,D";D:DDD$;"WRITE VARPASS":FM:DDD$;"CLOSE":(0):'(4);(13);(12);(0)::24);(15);"VIEW CODEWRITER SERIE 33200 (0):DK%DSK$"application":60000W (4);"UNLOCK PRINT.BAS,D";D:1140i 216,0:3400w D23380 FF%1:GG%1:RT%2:DK%DSK$"FileWriter":60000% 3395* (0)4 (4);"RUN SAVPRT,D1"C 216,0mH (12);(7):"Please ENU.BAS,D1"d, (12):(7):(12):(7):5:"A formatted disk is needed in drive ";D:I12000:: YY%(37)1:XX%(1403)1:L%1:420:740:CH$IN$: ::"Press ";::"RETURN";::" to continue. "; AA$:AA$(13)31000 (0): BJ" 4216,0:(7):(7):1940.\D22180QpDK%DSK$"FileWriter":60000(12);:12:36,25:1403,25:"Please wait - Loading program":2240(4);"BLOAD CHAIN,A520,D1":520"CODE1.BAS"216,0:(7):(7):DK%0:2140  DDD$;"RUN NEWMRR42860"DK%PP%DK%1:1058(7);(7):60000on"DK%0&tDSK$"FileWriter"DK%12~ꥫ60070BDK%60050}(0):(4);"OPEN PRINTT.BAS,D1":(0):(4);"CLOSE":DDD$;"OPEN VARPASS,D1":DDD$;"WRITE VARPASS":FM:DDD$;"CLOSE VARPASS":216,0:ERR(222):RT%İ2860:60000 DK%E;%j'8195,162:8196,(222):8197,76At'8198,2:8199,167:8195~'23:36,0:1403,0:"Press any key to return to main menu ";'12409616,0:A$:216,0:1140`D2ı e(12):"Please put your ";DSK$;" disk into drive 1.":3080:DSK$"applicatiΠ򮍍ŠΠˬʠ䬠Π䮍 󮍍䬠򠧮庠堮䬠ᠧ庠䬠ᠧ庠젮堧䠧庠ӠӠލʍˠ宍謠󺍍䠨멬𩬠䠨穮ᮍީ堍Šɠ򠱰荍󠠮嬠Π嬠   "CLOSE"$ "SAVE ";PM$;",D";D7 "DELETE ";PN$J "NOMON C,I,O"U "NEW"n "EXECPRINT.BAS,D";D (4);"CLOSE" (12) (4);"EXEC CONVEXE"E"(4);"DELETE CONVEXE"0 (4);"OPEN CONVEXE"J (4);"WRITE CONVEXE"U "NEW"f "MON C,I,O"~ "EXEC ";PN$;",D";D (4);"CLOSE" 0(4);"OPEN CONVEXE1,D";D D(4);"DELETE CONVEXE1" X(4);"OPEN CONVEXE1" l(4);"WRITE CONVEXE1"" 240& 216,0:(7):(7):100D (4);"OPEN FILENAME,D";D` (4);"DELETE FILENAME"~ (4);"OPEN FILENAME,D";D ,(4);"WRITE FILENAME" @PM$(PN$,(PN$)1):PM$PM$"T" TPM$ h(4);"CLOSE" | (4);"OPEN CONVEXE,D";D :(4);"PR#3"(120+dD2160:x216,0:D1(12):"Please put your application disk into drive 1.":::"Press ";(15);"RETURN";(14);" to continue. ":AN$:(0)220 (12):12:36,24:1403,24:"Please wait - Creating programRN":"49360 RETURN":"d-Q$;"Day out of range";Q$;":RETURN":"49360 RETURN": INT (ZZ / 4) THEN GOSUB 49350: IF ER = 18 THEN ER = 0: GOTO 49000":AE$"A"11600`<-"49350 IF YY=2 AND XX=29 THEN ER=18:VTAB 23:POKE 36,0:? ";:11620`P-"49350 IF XX=2 AND YY=29 THEN ER=18:VTAB 23:POKE 36,0:? ";ad-Q$;"Day out of range";Q$;":RETUALGORITHM SUBROUTINE ***":"26000 X=0:FOR ZZ=1TO LEN(ZZ$)":"26010 X=X+ZZ*ASC(MID$(ZZ$,ZZ,1))":"26020 NEXT ZZ"_,"26030 X=LOG(X):X$=STR$(X):RP=VAL(MID$(X$,5,4)):X=0":"26040RP=INT(";MS;"*RP/10000)+5":"26050 RETURN":_-T`-"49285 IF (ZZ / 4) < >N":"30999REM *** ALPHA FIELD EDIT CHECK SUBROUTINE ***":"31000 FOR ZZ=1 TO LEN(CD$)"^+"31010 IF (MID$(CD$,ZZ,1)<=";Q$;"9";Q$;"AND MID$ (CD$,ZZ,1)> = ";:Q$;"0";Q$;") THEN E = 1: RETURN ":"31020 NEXT ZZ":"31030 RETURN"o_`,"25999 REM *** HASHING :A$=";Q$;"-";Q$;":GOSUB41000:I1=I9:B$=MID$(B$,I1+1)":"30035 GOSUB 41000:I2=I9:IF I1>0 AND I2>0 THEN E=1: RETURN":"30040 B$=CD$:A$=";Q$;".";Q$;":GOSUB41000:I1=I9:B$=MID$(B$,I1+1)"V^+"30045 GOSUB41000:I2=I9:IFI1>0 ANDI2>0 THEN E=1: RETURN":"30050 RETUR"30005 FOR ZZ = 1 TO LEN(CD$)"\*"30010 IF MID$(CD$,ZZ,1)>=";Q$;"0";Q$;" AND MID$(CD$,ZZ,1)<=";:Q$;"9";Q$;" THEN 30020":"30015 IF MID$(CD$,ZZ,1)<>";Q$;".";Q$;" AND MID$(CD$,ZZ,1)<>";:Q$;"-";Q$;" THEN E = 1: RETURN"]H+"30020 NEXT ZZ":"30030 B$=CD$27150 LE%=-1:RETURN":"29999 REM***NUMERIC FIELD EDIT CHECK SUBROUTINE":"30000 IF LEN(CD$)=0 THEN RETURN"\*"30001 B$=CD$:A$=CHR$(32):GOSUB41000:CD=I9":"30002 IF CD>1 THEN CD$=LEFT$(CD$,CD-1):GOTO30001":"30003 IFCD=1 THEN CD$=MID$(CD$,2):GOTO30001":EN 27090"Z*"27125 ? CHR$(4):RETURN":"27129 ?CHR$(4)":"27130 VTAB 23:POKE 36,0:? CHR$(7);";Q$;"Record not found.";:" Type ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" to continue.";Q$;";"j[D*"27140 GET AA$:IFAA$<>CHR$(13) THEN 27140":"6 INPUT WW$:HASHL=VAL(WW$)":"27070 OLDHL=0:GOTO 27100":"27080 REM FIND RECORD ON KEY" Z)"27090 OLDHL=HASHL:HASHL=VAL(F$(0)):REM NEXT REC ON LIST":"27100 IF HASHL=0 THEN 27129":"27110 IK=HASHL:GOSUB 40000":"27120 IFLEFT$(F$(";KF;"),LEN(ZZ$))<>ZZ$ THenter key of desired record.";Q$;";":"27030 GOSUB ";KF$;":KF$=G$(";KF;")":"27040 REM WE HAVE NOW INPUT THE KEY FIELD":"27050 ZZ$=KF$:GOSUB26000:RF=0:LE%=0"WYh)"27063 VTAB(22):POKE36,0:?CHR$(13);":"27065 ? CHR$(4);";Q$;"READ ";GD$;",R";Q$;";RP":"2706EM ***LOOK FOR RECORD SUBROUTINE***":"27000 ? CHR$(12);: SD$=LEFT$(DT$,L%(";KF;"))";:":IFT$(";KF;") = ";Q$;"D";Q$;" THEN SD$=";Q$;"../../..";Q$:"27010 VTAB Y%(";KF;"):POKE 36,(X%(";KF;"))-1:? PR$(";KF;");SD$"X)"27020 VTAB 23:POKE 36,0:? "Q$;"Please ;"RETURN";Q$;";CHR$(14); ";Q$;".";Q$;";"V("35370 X%=63:Y%=23:L%=1:GOSUB 10:GOSUB 25":"35380 IF IN$=";Q$;"x";Q$;" THEN 90":"35383 VTAB 23:POKE 36,0":"35385 ? CHR$(13);":"35390 IF LEN (IN$)>0 THEN 35360":"35400 NEXT IK":"35410 GOTO90"W("26999 R80U'"35310 REM"\U'"35340 FOR IA =1 TO NF :G$(IA)=F$(IA):NEXT IA":"35350 GOSUB 29000"(V'"35360 VTAB 23:POKE 36,0:? ";Q$;"To exit, type 'x' and ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";:Q$;". To continue, type ";Q$;";CHR$(15); ";Q$5400":"35290 GOTO 35310":"35300 IF VAL(G$)LR THEN 35400":NC010160UL'"35310 IB%=SF-NF+1:IF IB%<1 THEN IB%=1":"35315 IF IB%>NC THEN 35330":"35320 FOR PZ=IB% TO NC:GOSUB28500:NEXTPZ":"35330 FOR IA =1 TO NC:CD(IA)=CE(IA):NEXT IA":101R PZ=1 TO SF-NF:GOSUB 28500:NEXT PZ":"35250 G$=STR$(CE(SF-NF))":"35260 IF ST$=";Q$;"A";Q$;" OR ST$ = ";Q$;"a";Q$;" THEN 35310"UT&"35270 IF TT$=";Q$;"#";Q$;:" OR TT$=";Q$;"$";Q$;" THEN 35300":"35280 IN$=G$:GOSUB34200:G$=IN$:IF G$>LR$ OR G$";Q$;"list";Q$;"THEN 35080"N#"35070 F=2:GOSUB 20000:?CHR$(12):GOTO 35040":"35080 IF SF<1 OR SF>NF+NC THEN ?:?";Q$;"Invalid field number";Q$;";CHR$(7):Y%=PEEK(37)+1:FORI=1TO1000:NEXT I:VTAB(Y%):POKE36,0:?SP$;:";:":GOTO 35040":;"s";Q$;" THEN 35000":"35030 IF ST$=";Q$;"a";Q$;" THEN 35180":NFNC192604M#"35040 VTAB(3):POKE1403,0:POKE 36,0:?";Q$;"What field do you wish to select by?";:" ( 1-";NFNC;" or 'list' )";Q$;";":"35050 X%=57:Y%=PEEK(37)+1:L%=4:GOSUB 10:GOSUB 25:SF=VIN$)<=1 THEN IN$=";Q$;Q$;":GOTO 34205":"34230 IN$=LEFT$(IN$,LEN(IN$)-1):GOTO 34205":"35000 ? CHR$(12);:? ";Q$;" Scan all or selected records? (a/s)";Q$;";":"35010 X%=38:Y%=1:L%=1:GOSUB 10:GOSUB 25:ST$=IN$"LLP#"35020 IF ST$<>";Q$;"a";Q$;" AND ST$<>";Q$ntinue";Q$;";":"13448 GET AA$:IF AA$<>CHR$(13) THEN 13448":"13450 GOTO 90":"13460 REM"J""34200 REM REMOVE TRAILING BLANKS":"34205 IF IN$=";Q$;Q$;" THEN RETURN":"34210 CC%=ASC(RIGHT$(IN$,1))":"34220 IF CC%<>32 THEN RETURN"K""34225 IF LEN(3400 PRINT ";Q$;"* Old total corrected *";Q$;";":"13420 ? CHR$(13);CHR$(4);";Q$;"WRITE ";GF$;",R";Q$;";IJ":"13422 ? GL(IJ):? CHR$(4)":"13440 NEXT IJ"YJ8""13445 VTAB 24:POKE 36,0:? ";Q$;"Press ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" to cootal";Q$;:";:POKE 36,39:? ";Q$;"Verified total";Q$;";:?":"13367 PRINT"H!"13370 FOR IJ=1 TO NG":"13380 PRINT GP$(IJ);:POKE 36,24:? GK(IJ);:POKE 36,39:? GM(IJ);:POKE 36,54":"35383 VTAB 15:POKE 36,0":"13390 IF GK(IJ)=GM(IJ) THEN ?:GOTO 13440"I!"127) THEN 13340":"13320 FOR PZ=1 TO IJ:GOSUB 28500:NEXT PZ":"13330 GM(JK)=GM(JK)+CE(IJ)":"13340 NEXT IK":"13345 GL(GS%(IJ+NF))=GM(GS%(IJ+NF))":"13350 NEXT IJ"HHH!"13360 ? CHR$(12);:VTAB 3:POKE 36,0":"13365 ?";Q$;"Field";Q$;";:POKE 36,24:?";Q$;"Old t_F "13255 NEXT IK":"13257 FOR II=1 TO NG":"13260 GL(II)=GM(II)":"13270 NEXT II":NC08520Fl "13275 FOR IJ=1 TO NC":"13280 JK=GS%(IJ+NF)":"13285 IF JK=0 THEN 13350":"13290 FOR IK=1 TO FS"G "13300 GOSUB 40005":"13310 IF LEFT$(F$(1),1)=CHR$(1212 NEXT II":"13215 FOR IK=1 TO FS":"13220 GOSUB 40005:REM GET NEXT RECORD"E"13225 IF LEFT$(F$(1),1)=CHR$(127) THEN 13255:REM SKIP EMPTY RECORD":"13230 FOR IJ=1 TO NF":"13240 IF GS%(IJ)>0 THEN GM(GS%(IJ))=GM(GS%(IJ))+VAL(F$(IJ))":"13250 NEXT IJ"AL VARIABLES*********"D"13200 REM GENERATOR WILL KNOW WHICH TOTALS ARE THE GLOBAL ONES ":"13203 ? CHR$(12);:VTAB 5:POKE 36,0:? ";Q$;Q$;",";:Q$;"Verification will take a little while";Q$:"13205 FORII=1 TO NG"MEh"13210 GM(II)=0:GK(II)=GL(II)":"13AN$<>";Q$;"d";Q$;" THEN GL(IJ)=GL(IJ)+CD(W9)"Cx"13170 VV$=STR$(GL(IJ))":"13173 ? CHR$(13);CHR$(4);";Q$;"WRITE ";GF$;",R";Q$;";IJ":"13174 ? VV$":"13175 NEXT W9"D"13180 RETURN":"13176 POKE 216,0":"13198 REM":"13199 REM*********VERIFY ALL GLOB":NC07880B"13140 FOR W9=1 TO NC":"13145 IJ=GS%(W9+NF)":"13150 IF IJ=0 THEN 13175:REM NO GLOBAL TOTAL FOR THIS FIELD":"13155 :".CP"13160 IF AN$<>";Q$;"E";Q$;" AND AN$<>";Q$;"e";Q$;" THEN GL(IJ)=GL(IJ)-CE(W9)":"13165 IF AN$<>";Q$;"D";Q$;" AND <>";Q$;"e";Q$;" THEN GL(IJ)=GL(IJ)-VAL(F$(W9))":"13125 IF AN$<>";Q$;"D";Q$;"AND AN$<>";Q$;"d";Q$;" THEN GL(IJ)=GL(IJ)+VAL(G$(W9))" B"13130 VV$=STR$(GL(IJ))":"13133 PRINT CHR$(13);CHR$ (4);";Q$;"WRITE";GF$;",R";Q$;";IJ":"13134 ? VV$":"13135 NEXT W9@"13099 REM IJ IS FIELD NUMBER OF THE CORRESPONDING GLOBAL TOTAL":"13100 FOR W9=1 TO NF":"13103 VTAB 23:POKE 36,0":"13105 IJ=GS%(W9)":"13110 IF IJ=0 THEN 13135:REM NO GLOBAL TOTAL FOR THIS FIELD":"13115 :"At"13120 IF AN$<>";Q$;"E";Q$;"AND AN$POKE216,0:RETURN":"13050 ER=PEEK(222)":"13055 IF ER<>5 AND ER<>6 THEN POKE 216,0:STOP":"13060 NR=0:FS=0:GOTO 75"@"13056 POKE 216,0":"13096 REM":"13097 REM******GLOBAL TOTAL UPDATE ROUTINE**********":"13098 REM W9 IS THE DATA FILE'S FIELD NUMBER"9 REM************GLOBAL TOTAL INPUT ROUTINE************":"13000 ONERR GOTO 13050":"13002 VTAB 23:POKE 36,0":"13003 FOR II=1 TO NG"s? "13005 ? CHR$(4);";Q$;"READ ";GF$;",R";Q$;";II":"13010 INPUT VV$":"13020 GL(II)=VAL(VV$)":"13030 NEXT II":"13040 020 NEXT J:J=J-1"="36030 IF J=2 AND L>2 THEN DO$=LEFT$(DO$,1)+";Q$;"";Q$;:"+RIGHT$(DO$,L-1)":"36040 IF J=L THEN DO$=DO$+";Q$;".00";Q$:"36050 IF J=L-1 THEN DO$=DO$+";Q$;"0";Q$:"36070 DO$=RIGHT$(SP$+DO$,FW)":"36080 RETURN"=NG08860>"1299HT$(";Q$;"00";Q$;"+MID$(STR$(ZZ),1,2),2)":"49340 RETURN":"49360 RETURN"X<@DX07060=T"35999 REM *** DOLLAR FORMATTING ***":"36000 DO$=STR$(INT(VAL(DO$)*100+0.5)/100):L=LEN(DO$)":"36010 FOR J=1 TO L:IF MID$(DO$,J,1)=";Q$;".";Q$;" THEN 36030":"36X>DT%(YY) THEN VTAB 23:POKE1403,0:POKE 36,0:? ";;Q$;"Day out of range";Q$;";SPC(30);CHR$(7):GOTO 49000":"49310 IN$=RIGHT$(";Q$;"00";Q$;" + MID$ ( STR$ (XX),1,2),2)"I<"49320 IN$=IN$+RIGHT$(";Q$;"00";Q$;"+MID$(STR$(YY),1,2),2)":"49330 IN$=IN$+RIG;:6500K:P"49290 IF YY<1 OR YY>12 THEN VTAB 23:POKE1403,0:POKE 36,0:? ";:dQ$;"Month out of range";Q$;";SPC(30);CHR$(7):GOTO 49000":AE$"E"6560:"49300 IF YY<1 OR YY>DT%(XX) THEN VTAB 23: POKE1403,0:POKE 36,0:? ";:65800;"49300 IF XX<1 OR XJ=J+1":"49230 IF J=9 THEN J=8":"49240 GOTO 49020"9"49250 XX=VAL(LEFT$(IN$,2)):YY=VAL(MID$(IN$,3,2)):";:"ZZ=VAL(RIGHT$(IN$,2))":"49280 VTAB 23:POKE 36,0:? SP$;":11520:AE$"E"6480:<"49290 IF XX<1 OR XX>12 THEN VTAB 23: POKE1403,0:POKE 36,0:?" J=6 THEN J=J-1"8$"49140 GOTO 49020":"49160 IF JJ<>32 AND B<>21THEN 49030":"49180 IF J=1 OR J=4 OR J=7 THEN J$=CHR$(48):GOTO 49210":"49190 J$=CHR$(32):GOTO 49210"39"49210 IF J=8 THEN IN$=LEFT$(IN$,5)":"49220 IN$=IN$+J$:J=J+1:IF J=3 OR J=6 THEN AB Y%:POKE 36,X%+J-2:POKE1403,X%+J-2:? ";Q$;".";Q$;";":"49125 IF J=1 THEN IN$="Q$;Q$":GOTO 49020"8"49127 IF J=8 THEN IN$=LEFT$(IN$,5)":"49128 IF (LEN(IN$)-1)=0 THEN IN$=";Q$;Q$;":GOTO 49130":"49129 IN$=LEFT$(IN$,LEN(IN$)-1)":"49130 J=J-1:IF J=3 OR OR JJ=27 THEN 49020"6 "49070 IF JJ>=48 AND JJ<=57 THEN 49200":"49080 IF JJ<>13 THEN 49110":"49085 IF IN$=";Q$;Q$;" THEN IN$=";Q$;"000000";Q$;" :RETURN":"49090 IF LEN(IN$)<6 THEN 49030"b7p"49100 GOTO 49250":"49110 IF JJ<>8 THEN 49160":"49120 VT:"49030 GET J$":"49040 JJ=ASC(J$)":"49045 B=PEEK(-16384):POKE -16368,0"6"49047 IF (JJ=10 OR JJ=11 OR JJ=127 OR B=21) THEN 49020":"49050 IF (JJ= 5 OR JJ=27) AND (AN$=";Q$;"E";Q$;" OR AN$=";Q$;"e";Q$") THEN ";:"IN$=CHR$(27):RETURN":"49060 IF JJ= 5 Y%:POKE 36,X%+J-2:POKE1403,X%+J-2"4T"49135 VTAB Y%:POKE 36,X%+J-2:POKE1403,X%+J-2: PRINT ";Q$;".";Q$;";":"49170 VTAB Y%:POKE 36,X%+J-2:POKE1403,X%+J-2:? ";Q$;"";Q$;";":"49200 VTAB Y%:POKE 36,X%+J-2:POKE1403,X%+J-2:? J$;"J5l"49010 J=1:IN$=";Q$;Q$35?CHR$(30);CHR$(32+X%+J-2);CHR$(31+Y%);";Q$;".";Q$;";":"49170?CHR$(30);CHR$(32+X%+J-2);CHR$(31+Y%);";Q$;"";Q$;";":"49200?CHR$(30);CHR$(32+X%+J-2);CHR$(31+Y%);J$;":5740#4R"49000 VTAB Y%:POKE 36,X%-1:POKE1403,X%-1:? ";Q$;"../../..";Q$;";":"49020 VTABI1$,ZZ,1)"i2"28 NEXT ZZ:RETURN":"29 REM _______________________________________________":DZ06720y2FW%057142G"49000?CHR$(30);CHR$(32+X%-1);CHR$(31+Y%);";Q$;"../../..";Q$;";":"49020?CHR$(30);CHR$(32+X%+J-2);CHR$(31+Y%);CHR$(0);"3J"491NVERT TO LOWER CASE ______________":"25 IF LEN(IN$)=0 THEN RETURN" 2"26 I1$=IN$:IN$=";Q$;Q$;":FOR ZZ=1 TO LEN(I1$):IF MID$(I1$,ZZ,1)>=";Q$;"A";Q$;" AND MID$(I1$,ZZ,1)<=";Q$;"Z";Q$;" THEN IN$=IN$+CHR$(ASC(MID$(I1$,ZZ,1))+32):GOTO 28":"27 IN$=IN$+MID$(HEN RETURN":"19 IF II<32 OR II=44 OR II=58 THEN 11":"20 IF J<=L% THEN 23":"21 VTAB Y%:POKE 1403,X%+J-3:POKE 36,X%+J-3:J=J-1:IF J=1 THEN IN$=";Q$;Q$;":GOTO 23"C1"22 IN$=LEFT$(IN$,J-1)":"23 IN$=IN$+II$:PRINT II$;:J=J+1:GOTO 11":"24 REM __________ COIF J=1 THEN 11":"15 J=J-1:IF J=1 THEN IN$=";Q$;Q$;":GOTO 17"/"16 IN$=LEFT$(IN$,J-1)":W%0ĺ"17?CHR$(30);CHR$(32+X%+J-2);CHR$(31+Y%);CHR$(46);:GOTO11":5440/,"17 VTAB Y%:POKE 1403,X%+J-2:POKE 36,X%+J-2:PRINT CHR$(46);:GOTO 11"0@"18 IF II=13 TY%:POKE 36,X%-1:POKE1403,X%-1:PRINTCHR$(0);:IF L%<>1 THEN PRINT LEFT$(DT$,L%);":"11 VTAB Y% :POKE1403,X%+J-2:POKE 36,X%+J-2:GET II$:II=ASC(II$+CHR$(0))"=/"12 IF (II=27 OR II=5) AND J=1 THEN IN$=CHR$(27):RETURN":"13 IF II<>8 AND II<>127 THEN 18":"14 UT SUBROUTINE __________":W%0ĺ"10IN$=";Q$;Q$;":J=1:?CHR$(30);CHR$(32+X%-1);CHR$(31+Y%);CHR$(0);:IF L%<>1 THEN?LEFT$(DT$,L%);"-W%0ĺ"11?CHR$(30);CHR$(32+X%+J-2);CHR$(31+Y%);CHR$(0);:GETII$:II=ASC(II$+CHR$(0))":5320."10 IN$=";Q$;Q$;":J=1:VTAB AA$"a"AA$"A"AE$"A"4,(AA$"e"AA$"E"AE$"E"[,<:(4);"WRITE ";PN$:AE$"E"5240,d"35500 D$=RIGHT$(D$,2)+LEFT$(D$,2)+MID$(D$,3,2):RETURN":5260,x"35500 D$=RIGHT$(D$,2)+MID$(D$,3,2)+LEFT$(D$,2):RETURN"-"9 REM __________ KEYBOARD INPrmat (mm/dd/yy)"::"or European format (dd/mm/yy) ?":6:1403,0:36,0:"Enter 'a' or 'e' .";:AA$:AA$:AA$"a"AA$"e"AA$"A"AA$"E"ĺ(7);:5040+"Are you sure (y/n) ? ";:IN$:IN$:IN$"N"IN$"n"5040+IN$"Y"IN$"y"ĺ(7):5040,DZ05260*`"35135 IF TT$=";Q$;"D";Q$;" THEN D$=SM$:GOSUB 35500:SM$=D$":"35165 IF TT$=";Q$;"D";Q$;" THEN D$=LR$:GOSUB 35500:LR$=D$":"35275 IF TT$=";Q$;"D";Q$;" THEN D$=G$:GOSUB 35500:G$=D$":(4)+(12);:"Do you wish to enter dates in American fo),TY%(NT)":"33130 FOR I=1 TO NT":"33131TP$(I)=";Q$;Q$:"33132GETA$:IFA$=CHR$(13)THEN33140":"33133TP$(I)=TP$(I)+A$:GOTO33132":"33140INPUTTX%(I),TY%(I)":"33150 NEXT I" *$"33155 POKE 216,0:PRINT CHR$(13)":"33160 ? CHR$(4);";Q$;"CLOSE";Q$;":GOTO 31":":"33107 FOR I=1 TO NG":"33108GP$(I)=";Q$;Q$:"33109GETA$:IFA$=CHR$(13)THEN33111"(4"33110GP$(I)=GP$(I)+A$:GOTO33109":"33111INPUTGX%(I):INPUTGY%(I):INPUTGL%(I):INPUTGT$(I)":"33112 NEXTI"(p"33115INPUT NT":NT04900)"33120 DIM TP$(NT),TX%(NT"33082GETA$:IFA$=CHR$(13)THEN33090"'"33083CP$(I)=CP$(I)+A$:GOTO33082":"33090INPUTCX%(I):INPUTCY%(I):INPUTCL%(I):INPUTCT$(I)":"33100 NEXT I"'"33102 INPUT NG":NG04720S("33105 DIM GP$(NG),GX%(NG),GY%(NG),GL%(NG),GT$(NG),GL(NG),GK(NG),GM(NG)PR$(I)=PR$(I)+A$:GOTO33032":"33040INPUTX%(I):INPUTY%(I):INPUTL%(I):INPUTT$(I)":"33050 NEXT I":"33060REM":"33060 INPUT NC":NC04540#'0"33070 DIM CP$(NC),CX%(NC),CY%(NC),CL%(NC),CT$(NC),CD(NC),CE(NC)":"33080 FOR I=1 TO NC":"33081CP$(I)=";Q$;Q$:POKE 216,0:? CHR$(13)":"33008 PRINT CHR$(12):GOTO 33000"%T"33010 INPUT NF":"33020 DIM PR$(NF),X%(NF),Y%(NF),L%(NF),T$(NF)":"33025 L%(0)=5 :REM GHOST FIELD":"33030 FOR I=1 TO NF"&"33031PR$(I)=";Q$;Q$:"33032GETA$:IFA$=CHR$(13)THEN33040":"33033":"33004 ? CHR$(12):?:?:?";Q$;"Screen file not found - Please put your program diskette in drive 1";Q$9%"33005 PRINT ";Q$;"Press ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14);";Q$;" to continue";Q$:"33006 GET AA$:IF AA$<>CHR$(13) THEN 33006":"33007 ";Q$:"42150 WW$=STR$(FRN):PRINT WW$":"42152 ? CHR$(4):RETURN":"32999 REM *** READ SCREEN FILE ***":"33000 ONERR GOTO 33004"g$"33001 ? CHR$(13):? CHR$(4);";Q$;"OPEN ";P$;".S,D1";Q$:"33002 ? CHR$(4);";Q$;" READ ";SF$;Q$:"33003 POKE 216,0:GOTO 33010$;" OR AN$=";Q$;"d";Q$;" THEN 42145""P"42142 ? CHR$(4):RETURN":"42145 ? CHR$(4);";Q$;"WRITE ";GD$;",R1";Q$:"42146 WW$=STR$(NR):? WW$":"42147 ? CHR$(4);";Q$;"WRITE ";GD$;",R2";Q$:"42148 WW$=STR$(FS):? WW$"#f"42149 ?CHR$(4);";Q$;"WRITE ";GD$;",R4!"42136 OP$=OP$+MID$(IN$,RL+1):T$=OP$:IF LEFT$(OP$,1)=";Q$;" ";Q$;" THEN OP$=CHR$(124)+MID$(OP$,2):T$=OP$":"42137 ? CHR$(4);";Q$;"WRITE ";Q$;";NM$;";Q$;",R";Q$;";SN"$"("42138 ? T$":"42140 IF AN$=";Q$;"E";Q$;" OR AN$=";Q$;"e";Q$;" OR AN$=";Q$;"D";Q;Q$;";NM$;";Q$;",R";Q$;" ;SN" $"42098 ? T$":"42100 SL=SL+1:SN=SL+1":"42104 ? CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN":"42105 INPUT T$":"42106 IN$=T$:IN$=LEFT$(IN$+SS$,80)":"42110 OP$=MID$(SU$,81-RL):RL=15+RL-80":"42113 NEXT J"094":"42090 RL=RL+15:OP$=OP$+SU$":"42093 GOTO 42113"( "42094 IF RL=80 THEN OO$=";Q$;Q$;":GOTO 42096":"42095 OO$=LEFT$(SU$,80-RL)":"42096 OP$=OP$+OO$:IF LEFT$(OP$,1)=";Q$;" ";Q$;"THEN OP$=CHR$(124)+MID$(OP$,2)":"42097 T$=OP$:? CHR$(4);";Q$;"WRITE ";",R";Q$;";SN":"42072 INPUT T$":"42073 IN$=T$:IN$=LEFT$(IN$+SS$,80)":"42076 OP$=MID$(G$(J),81-RL):RL=L%(J)-(80-RL)":"42080 NEXT J":NS038406 "42083 FOR J=1 TO NC:IF CS%(J)=0 THEN 42113":"42086 SU$=LEFT$(STR$(CD(J))+SS$,15):IF RL+15>80 THEN 42"42063 OP$=OP$+OO$:IF LEFT$(OP$,1)=";Q$;" ";Q$;" THEN OP$=CHR$(124)+MID$(OP$,2)" "42064 T$=OP$:?CHR$(4);";Q$;"WRITE ";Q$;";NM$;";Q$;",R";Q$;";SN":"42065 ? T$":"42066 SL=SL+1:SN=SL+1":"42070 SN=SL+1" "42071 ? CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$040":"42034 OP$=LEFT$(IN$,OS)" "42040 RL=OS:I9=RL+1":"42050 FOR J=0 TO NF":"42053 IF RL+L%(J)>80 THEN 42061":"42056 RL=RL+L%(J):OP$=OP$+G$(J)"Ql "42060 GOTO 42080":"42061 IF RL=80 THEN OO$=";Q$;Q$;":GOTO 42063":"42062 OO$=LEFT$(G$(J),80-RL)": "42020 SN=SL+1":"42023 ? CHR$(13);":"42024 ?CHR$(4);";Q$;"OPEN ";Q$;";NM$;";Q$;",L81";Q$:"42025 ? CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN" "42026 INPUT T$":"42030 IN$=T$:IN$=LEFT$(IN$+SS$,80)":"42032 IF OS=0 THEN OP$=";Q$;Q$;":GOTO 42 NEXT JI":"41030 I9=0":"41040 RETURN":"42000 REM *** OUTPUT FIELD RECORD ASSIGNMENT ***":, "42001 VTAB 23:POKE 36,0":NG02920T "42002 GOSUB 13100:REM UPDATE GLOBAL TOTALS":h "42005 RN=IK-1:SL=INT(";RS;"*RN/80):OS=(";RS;"*RN)-(SL*80)":";Q$;"#";Q$;" THEN 40700":"40600 G$(I)=LEFT$(G$(I)+SS$,L%(I))" "40700 G$(I)=RIGHT$(SS$+G$(I),L%(I)):RETURN":"40999 REM *** STRING SEARCH ***":"41000 FOR JI=1 TO LEN(B$)+1-LEN(A$)":"41010 IF MID$(B$,JI,LEN(A$))=A$ THEN I9=JI:GOTO 41040"] "41020II":NC02580p "40160 FOR PZ=1 TO NC:GOSUB 28500 :NEXT PZ":"40170 FOR II=1 TO NC:CD(II)=CE(II):NEXT II" NG02620( "40180 FOR II=1 TO NG:GK(II)=GL(II):NEXT II"?< "40190 RETURN":"40499 REM *** ADD TRAILING BLANKS ***":"40500 IF T$(I)= IN$=LEFT$(IN$+SS$,80):SU$=SU$+LEFT$(IN$,15+RL-80)":"40128 IF LEFT$(IN$,1)=CHR$(124) THEN IN$=";Q$;" ";Q$;"+MID$(IN$,2)":"40135 CE(J)=VAL(SU$):RL=15-(80-RL):I9=RL+1":"40140 NEXT J" "40145 ? CHR$(4):RETURN":"40150 FOR II=0 TO NF:G$(II)=F$(II):NEXT 0":"40100 IF RL+15>80 THEN 40115":"40105 RL=RL+15:CE(J)=VAL(MID$(IN$,I9,15)):I9=I9+15":"40110 GOTO 40140" "40115 SU$=MID$(IN$,I9,80-RL):SL=SL+1:SN=SL+1":"40126 ? CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN":"40127 INPUT T$:IN$=T$"` "40130:"40080 IN$=LEFT$(IN$+SS$,80)":"40082 IF LEFT$(IN$,1)=CHR$(124) THEN IN$= "Q$;" ";Q$;"+MID$(IN$,2)":"40084 F$(J)=F$(J)+LEFT$(IN$,L%(J)+RL-80)""40085 RL=L%(J)-80+RL:I9=RL+1":"40090 NEXT J":NS02480l"40095 FOR J=1 TO NC:IF CS%(J)=0 THEN 4014:IF RL+L%(J)>80 THEN 40065""40055 RL=RL+L%(J):F$(J)=MID$(IN$,I9,L%(J)):I9=I9+L%(J)":"40060 GOTO 40090":"40065 F$(J)=MID$(IN$,I9,80-RL):SL=SL+1":"40075 SN=SL+1"4"40076 ? CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN":"40077 INPUT T$:IN$=T$"0025 VTAB(23):POKE 36,0: ? CHR$(13);CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN":"40026 INPUT T$""40027 IF LEFT$(T$,1)=CHR$(124) THEN T$=";Q$;" ";Q$;"+MID$(T$,2)":"40030 IN$=T$:IN$=LEFT$(IN$+SS$,80)":"40040 RL=OS:I9=RL+1":"40050 FOR J=0 TO NFLNLN10:LN;"RETURN":"39999 REM *** INPUT FIELD ASSIGNMENT ***":"40000 GOSUB 40005:GOSUB 40150:RETURN":"40005 RN=IK-1:SL=INT(";RS;"*RN/80):OS=(";RS;"*RN)-(80*SL)"fD"40020 SN=SL+1":"40023 ?CHR$(0):?CHR$(4);";Q$;"OPEN ";Q$;";NM$;";Q$;",L81";Q$:"4N10:LN;"SD$=STR$(CD(I)):LNLN10:LN;"VTAB CY%(I):POKE 36,CX%(I)-1:? CP$(I);SD$;":LNLN10:LN;"NEXT I"xNT01760LNLN10:LN"FORI=1TONT":LNLN10:LN"VTAB TY%(I) :POKE36,TX%(I): ?TP$(I)":LNLN10:LN"VTAB TY%(I) :POKE36,0 : ?CHR$(0);:NEXTI"I)";:":GOTO ";LN20:LNLN10:LN;"SD$=LEFT$(G$(I),2)+";Q$;"/";Q$;"+MID$(G$(I),3,2)+";Q$;"/";Q$;"+RIGHT$(G$(I),2)":LNLN10:LN;"VTAB Y%(I):POKE 36,X%(I)-1:? PR$(I);SD$: NEXT I":NS01680i@LNLN10:LN;"FOR I=1 TO NC:IF CS%(I)=0 THEN ";LN30:LNLR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" to continue";Q$;";":"20600 GET AA$:IF AA$<>CHR$(13) THEN 20600":"20610 ? CHR$(12);:RETURN":LN21000V"20999 REM *** DISPLAY NEWLY-ENTERED RECORD ***":LN;"FOR I=1 TO NF:IF T$(I)<>";Q$;"D";Q$;" THEN SD$=G$((14)":"20220 FOR J=1 TO NC STEP 2":"20230 PRINT J+NF;";Q$;"- ";Q$;";CP$(J);"("20240 IF J2 THEN 20260":"20210 ?:?CHR$(15);";Q$;"Program calculated fields:";Q$;";CHR$0100 IF F<>1 THEN 20190":"20110P=0:?:?CHR$(15);";Q$;"Self referencing fields:";Q$;";CHR$(14)":"20120 FOR J=1 TO";NS;" STEP 2":"20130 P=P+1:IF CS%(P)=0 THEN 20130" L"20140 PRINT J+NF;";Q$;"- ";Q$;";CP$(P);":"20150 IF J=";NS;" THEN 20180":"20160 P=P FIELD NUMBERS ***":"20000 ? CHR$(12);CHR$(15); ";Q$;"Keyboard-entered fields:";Q$;";CHR$(14):FORJ=1 TO NF STEP 2":"20010 PRINT J;";Q$;"-";Q$;";PR$(J);" "20020 IF J";IIKL;"THEN";OLII44:OLII42;"ON ";OS$;"-";IIK;"GOSUB ";:IJ1L:(D%(IIKIJ)10);:IJLĺ",";Z(#IJ:"":II:ELOLII4:EL;"REM ***":Z#Z#[#(222)4ĭ(BK$)3OK0:6YH!J2(BK$)1:(BK$,J,1)Q$OK0]Y\!J:(BK$,1)Q$(BK$,1)Q$OK0cYp!Y!OK1:DC0:J1(BK$):M$(BK$,J,1):(M$"0"M$"9")(M$".")(M$"-"J1)OK0Y!M$"."DCDC1Y!J:DC1OK0Y!Y"K6:NL%(UL%1)K:#(A$))A$I9JI:8300!XX JI:I90'Xl "L$"="BK$(BJ$,2):OK1X L$"<"(BJ$,2,1)">"(BJ$)2BK$(BJ$,3):OK1X X OK1:J1(BK$):(BK$,J,1)"0"(BK$,J,1)"9"OK0X !J:Y4!OK1:28180yW(12):"Please put FileWriter into drive #1.":::"Press ";(15);"RETURN";(14);" to continue.";:AN$:(0)W(12);:12:36,25:"Please wait - Loading program":(4);"BLOAD CHAIN,A520,D1":520"CODE3.BAS"X0 JI1(B$)1(A$):(B$,JI,Q$;" THEN";LN10VhLN5;"VTAB 24:POKE 1403,0:POKE 36,0:?";:Q$;"Please answer y or n (";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" = No )";Q$;";:GOTO ";BL:LNLN10:LN;"G$=";Q$;Q$;":FC=0:?CHR$(12):UF=0:GOTO 1000"V(4);"CLOSE":9220WD?PT$;":BLLN:"55 PT$=";Q$;PT$;Q$VLNLN10:LN;"X%=PEEK(1403)+2:Y%=PEEK(37)+1:L%=1:GOSUB 10:GOSUB 25":LNLN10:LN;"REM *** IF DONE, END; IF NOT RETURN TO MENU ***":LNLN10:LN;"IF IN$=";Q$;"y";Q$;"THEN 90":LNLN10:LN;"IF LEN(IN$)=0 OR IN$=";Q$;"n";n or N = No, Y = Yes)"T(13);(4);"WRITE ";PN$:LN5;"VTAB 23:POKE1403,0:POKE 36,0:? SP$;":LNLN10:LN;"IF RM=0 THEN 90":LN5;"VTAB 24:POKE 1403,0:POKE 36,0:? SP$;"!ULNLN10:LN;"VTAB 23:POKE1403,0:POKE 36,0:? SP$;:VTAB 23: POKE1403,0:POKE 36,0:is,"S<:"to continue with data entry."::(14);"Enter your message below or ";(15);"RETURN";(14)::"CR= 'Data entry finished? (Return or N = No, Y = Yes)":"Message: ";:YY%22:XX%10:L%60:120:PT$IN$TPT$""PT$"Data entry finished? (Returon is"::"done.":::"The operator is asked to answer a (y)es or (n)o question to signal"S:"whether the data entry session is complete or a new blank screen is"::"needed. The operator may press ";(15);"RETURN";(14);" to enter a 'No' reply that ";"tQLNLN10:LN;"GET AA$:IF AA$<>CHR$(13) THEN ";LN:(4):(12);24);(15);"End-of-data entry message";(14):[R:"When the operator of your program is finished entering data to a"::"record, the program will ask if all data entry for that sessi$;";NR;":LN2;"?";Q$;" Record spaces remaining:";Q$;";RM"QtLN3;"IF RM=0 THEN VTAB 23:POKE 36,55:?CHR$(15);";Q$;" File full ";Q$;";CHR$(14)":LNLN10:LN;"?";Q$;"Press ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" to continue.";Q$;;"):GOSUB 26000":"11888 GOSUB ";L1:"11900 REM *** BEGIN OUTPUT ***"O"11990 GOSUB 42000":"11994 GOTO 90":LNLN10:LN;"GOSUB 42000:REM OUTPUT RECORD TO DISK":LNLN10:LN;"RM=";MS;"-NR"APLLNLN10:LN;"VTAB 23:POKE 36,0:? ";Q$;"Records entered:";QAD ";GD$;",R";Q$;";RP:INPUT WW$:HASHL=VAL(WW$)":LNLN10:LN;"G$(0)=RIGHT$(";Q$;" ";Q$;"+STR$(HASHL),5)":LNLN10:LN;"PRINT CHR$(4);";Q$;"WRITE";GD$;",R";Q$;";RP:PRINT STR$(NE):PRINT CHR$(4)"EOLNLN10:LN;"IK=NE:NR=NR+1:RETURN":"11886 ZZ$=G$(";KF:LN;"GOSUB ";LN10;":GOTO ";LN60:LNLN10:LN;"IF FRN=0 THEN ";LN7M LN5;"NE=FRN:REC=FRN:GOSUB 43000:FRN=LNK:REM GET NEXT FREE":LN6;"GOTO ";LN10:LN7;"FS=FS+1:NE=FS":LN8;"CALL 64538:PRINT CHR$(0)"NfL1LN:LNLN10:LN;"PRINT CHR$(4);";Q$;"RE CS%(PZ)>0 THEN ";LN20LLNLN10:LN;"GOSUB 28100":LNLN10:LN;"IJ=GS%(PZ)":LNLN10:LN;"IF IJ>0 THEN GK(IJ)=GL(IJ)+CD(PZ)":LNLN10:LN;"NEXT PZ"EMLNLN10:LN;"ZZ$=G$(";KF;"):GOSUB 26000":LNLN10:LN;"REM *** LOOK FOR RECORD SPACE ***":LNLN10$(32+X%(UF)-1);CHR$(31+Y%(UF));PR$(UF);SD$":6900|K"11857 VTAB Y%(UF):POKE 1403,X%(UF)-1:POKE 36,X%(UF)-1:? PR$(UF);SD$"K"11858 G$=";Q$;Q$:OS$"UF":OL11860:UL%NF:8840:EL;"GOTO 11810":NC07120LXLNLN10:LN;"FOR PZ=1 TO NC":NS0ĺLN5;"IFHANGE FIELD ***":"11852 SD$=LEFT$(DT$,L%(UF)):IF T$(UF)<>";Q$;"$";Q$;" THEN 11855"1K"11853 LD%=";FW;"- L%(UF):IF LD%>0 THEN SD$=SD$+";:"LEFT$(SP$,LD%)":"11855 IF T$(UF)=";Q$;"D";Q$;" THEN SD$=";Q$;"../../..";Q$:W%(1271):W%0ĺ"11857?CHR$(30);CHR***":"11828 IF IN$=";Q$;"list";Q$;" THEN F=0:GOSUB 20000:GOTO 11805":"11829 REM *** TEST 1 <= UF <= NF ***"SJT"11830 IF UF>0 AND UF<=NF THEN 11850":"11840 VTAB 23:POKE1403,0:POKE 36,0:?CHR$(7); ";Q$;"Invalid field";Q$;";:GOTO 11812":"11850 REM *** CX%=73:Y%=24:L%=4:AN$=";Q$;"E";Q$;":GOSUB 10:GOSUB 25":"11823 UF=INT(VAL(IN$)):AN$=";Q$;"S";Q$;":IF IN$=";Q$;Q$;" THEN 11886":"11824 IF IN$<>CHR$(27) THEN 11828":"11825 REM *** CLEAR CHANGES ***"mI"11826 FG%=0:GOTO 11800":"11827 REM *** LIST FIELDS 36,0:? ";Q$;"Which field to update? ";Q$;";"G"11815 PRINT";Q$;" (1-";NF;", 'list', ";Q$;";CHR$(15); ";Q$;"Ctrl-E";Q$;";CHR$(14) ; ";Q$;" to cancel, ";Q$;";":"11817 ?CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" to save)";Q$;";"H"11820 RETURN":"10860 GOTO 90":"11800 AN$= ";Q$;"S";Q$;":FOR I=1 TO NF:G$(I)=F$(I):NEXT I"-GZ"11805 IF NOT FG% THEN 11811":"11810 GOSUB 28000:IFIN$=CHR$(27)ORIN$=CHR$(5)THENIN$=";Q$;Q$;":GOTO11800":"11811 FG%=0:GOSUB 29000":"11812 VTAB 24:POKE 1403,0:POKE(1))":"12920 NXT$=G$(0):G$(0)=RIGHT$(";Q$;" ";Q$;"+STR$(FRN),5):NR=NR-1":"12925 FRN=IK:GOSUB 42000:G$(1)=Z$":"12926 IF OLDHL<>0 THEN REC=OLDHL:GOSUB 44000:RETURN"UF"12927 ? CHR$(4);"Q$;"WRITE ";GD$;",R";Q$;";RP:PRINT NXT$:PRINT CHR$(4)":"12930 u sure you want it deleted? (y/n)";Q$;";"D"12902 Y%=PEEK(37)+1:X%=PEEK(1403)+2:L%=1:GOSUB 10:GOSUB 25:IF IN$<>";Q$;"y";Q$;" AND IN$<>";Q$;"n";Q$;" THEN 12901":"12903 IF IN$<>";Q$;"y";Q$;" THEN RETURN"E"12910 Z$=G$(1):G$(1)=LEFT$(CHR$(127)+SS$,L%C"44140 ?CHR$(4);";Q$;"WRITE ";Q$;";NM$;";Q$;",R";Q$;";SN:PRINT IN$:?CHR$(4)":"44160 RETURN")D"12900 REM *** DELETE CODE WRITTEN TO FIRST FIELD ***":"12901 ? CHR$(4):VTAB 23:POKE1403,0:POKE 36,0:? SP$;:VTAB 23:POKE1403,0:POKE 36,0: ? ";Q$;"Are yo:PRINT CHR$(4)"B"44110 SL=SL+1:SN=SL+1":"44120 ?CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",L81";Q$;":INPUT IN$:IN$=LEFT$(IN$+SP$+CHR$(32),80):?CHR$(4)":"44130 OP$=MID$(NXT$,81-RL):RL=5-(80-RL)":"44135 IN$=LEFT$(OP$+";Q$;" ";Q$;",RL)+MID$(IN$,RL+1)"`LEFT$ (IN$ + SP$ + CHR$ (32),80)":"44050 OP$=LEFT$( IN$,OS):RL=OS:I9=RL+1"Bx"44070 IF RL+5> 80 THEN 44100":"44080 RL=RL+5:OP$=OP$+NXT$":"44090 GOTO 44135":"44100 OP$=OP$+LEFT$(NXT$,80-RL):?CHR$(4);";Q$;"WRITE ";Q$;";NM$;";Q$;",R";Q$;";SN:PRINT OP$ REM *** OUTPUT LINK FIELD NXT$ TO REC ***":"44010 ?CHR$(4);";Q$;"OPEN ";Q$;";NM$;";Q$;",L81";Q$LAp"44020 RN=REC-1:SL=INT(";RS;"*RN/80):OS=(";RS;"*RN)-(SL*80)":"44030 SN=SL+1":"44040 ?CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN: INPUT IN$:IN$ = AL(MID$(IN$,I9,5))"?`"43080 ?CHR$(4):RETURN":"43090 LNK$=MID$(IN$,I9,80-RL):SL=SL+1:SN=SL+1":"43100 ?CHR$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN:INPUTIN$":"43110 LNK=VAL(LNK$+LEFT$(IN$,5+RL-80))"a@h"43120 ?CHR$(4):RETURN":"43130 REM":"44000)":"43020 SN=SL+1":"43025 CALL 64538:?CHR$(0)"?X"43030 ?CHR$(4);";Q$;"OPEN ";Q$;";NM$;";Q$;",L81";Q$;":?CH R$(4);";Q$;"READ ";Q$;";NM$;";Q$;",R";Q$;";SN:INPUT IN$":"43040 RL=OS:I9=RL+1":"43060 IF RL+5>80 THEN 43090":"43070 RL=RL+5:LNK=VX%=PEEK(1403)+2:L%=1:GOSUB 10:GOSUB 25":"29240 IF IN$=";Q$;"x";Q$;" THEN RETURN":"29250 IF LEN(IN$)>0 THEN 29220":"29260 GOTO 29210"0>P"43000 REM *** INPUT LINK,FIELD, LNK OF RECORD REC ***":"43010 RN=REC-1:SL=INT(";RS;"*RN/80):OS=(";RS;"*RN)-(80*SL<>";Q$;"n";Q$;" THEN 29180":"29210 GOSUB 27090:IF NOT LE% THEN 29000":"29215 RETURN"<"29220 VTAB 23:POKE 36,0:? ";Q$;"Type 'x' to exit, ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14) ;";:Q$;" for next record";Q$;";"="29230 Y%=PEEK(37)+1:9180 VTAB 23:POKE 1403,0:POKE 36,0:? ";Q$;"Is this it? (";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;"=Yes)";Q$;";":"29190Y%=PEEK(37)+1:X%=PEEK(1403)+2:L%=1:GOSUB 10:GOSUB 25"V<"29200 IF LEN(IN$)=0 OR IN$=";Q$;"y";Q$" THEN RETURN":"29205 IF IN$x: "29140 GL$=RIGHT$(SP$+LEFT$(GL$,GL%(I)),GL%(I))":"29150 VTAB GY%(I):POKE 36,GX%(I)-1:? GP$(I);GL$":"29160 NEXT I":H"29170 IF AN$=";Q$;"S";Q$;"OR AN$=";Q$;"s";Q$;" THEN RETURN":"29175 IF AN$=";Q$;"L";Q$;" OR AN$=";Q$;"l";Q$;" THEN 29220";p"2090 FOR I=1 TO NT":"29100 VTAB TY%(I):POKE 36,TX%(I) :? TP$(I)":"29110 NEXT I"`9NG059609"29120 FOR I=1 TO NG:REM GET GLOBAL INFO":"29130 GL$=STR$(GK(I)):";:"IF GT$(I)=";Q$;"$";Q$;" THEN DO$=GL$:";:"FW=GL%(I):GOSUB 36000:GL$=DO$:GOTO29150"=1 TO NC:CD$=STR$(CD(I))":"29065 IF CT$(I)=";Q$;"$";Q$;" THEN DO$=CD$:FW=CL%(I):GOSUB 36000:CD$=DO$:GOTO29075":"29066 CD$=RIGHT$(SP$+LEFT$(CD$,CL%(I)),CL%(I))":"29075 VTAB CY%(I):POKE 36,CX%(I)-1:? CP$(I);CD$"8D"29080 NEXT I"8XNT05800Q9l"29GHT$(G$(I),2)"7"29030 IF T$(I)=";Q$;"$";Q$;" THEN DO$=D$:FW=L%(I):GOSUB 36000:D$=DO$":"29035 IFT$(I)=";Q$;"#";Q$;" THEND$=RIGHT$(SP$+LEFT$(D$,L%(I)),L%(I))":"29040 VTAB Y%(I): POKE36, X%(I)-1: ?PR$(I);D$":"29050 NEXT I":NC057208"29060 FOR I28020 IF IJ=0 THEN 28040":"28030 GK(IJ)=GL(IJ)+VAL(G$(II))-VAL(F$(II))":"28040 NEXT II"7@"29000 ? CHR$(12);":"29010 FOR I=1 TO NF:D$=G$(I):IF T$(I)<>";Q$;"D";Q$;" THEN 29030":"29020 D$=LEFT$(G$(I),2)+";Q$;"/";Q$;"+MID$(G$(I),3,2)+";:Q$;"/";Q$;"+RIEN RETURN":"12850 IF AN$<>";Q$;"D";Q$;" AND AN$<>";Q$;"d";Q$;" THEN 12910":"28999 REM *** DISPLAY FOUND RECORD ***"5"27999 REM *** CALCULATE GLOBALS ON KE'S ***":"28000 REM *** AND PC'S":NG05440Y6"28005 FOR II=1 TO NF":"28010 IJ=GS%(II)":":"12010 GOSUB 27000:REM TRY TO FIND THE RECORD"4"12020 IF LE% THEN RETURN":"10799 REM *** DISPLAY RECORD IF MATCH ON KEY ***":"10800 GOSUB 29000":"10900 GOTO 90"u5d"12799 REM *** DISPLAY RECORD IF MATCH ON KEY ***":"12800 GOSUB 29000:IF LE% THF CS%(P)=0 THEN ";EL50:EL60"NEXT I:I=P":EL70"GOSUB ";SL:EL80;"IF IN$=CHR$(27) THEN 90":EL90"GOTO 1164"u304"10010 GOSUB 27000:REM TRY TO FIND THE RECORD":"10020 IF LE% THEN 90":"10199 REM *** UNPACK THE FIELDS IN THE FILE FOR DISPLAY ***"250:OS$"IN":UL%NF:8840:NS04820D2"1245 IF IN>NF THEN";EL302EL"IF IN$=CHR$(27) THEN 90":EL10"IF GS% (IN)>0 THEN GK(GS%(IN))=GL(GS%(IN))+VAL(G$(IN))":EL20"GOTO 1164 ":NS05040o3$EL30"P=0:IN=IN-NF":EL40"FOR I=1 TO IN":EL50"P=P+1:I";Q$;"list";Q$;" THEN F=1:GOSUB 20000:GOSUB 21000";:":GOTO 1200"$2p"1230 IF IN<1 OR IN>";NFNS;" THEN VTAB 24:POKE1403,0:POKE36,0:? ";Q$;"Invalid field number";Q$;";CHR$(7);:FORI=1TO1000:NEXTI:GOTO 1164":"1240 VTAB 24:POKE1403,0:POKE 36,0:? SP$;":OL1$;" THEN 1164":"1195 VTAB 23:POKE1403,0:POKE 36,0:? SP$;":"1200 VTAB 23:POKE1403,0:POKE 36,0:? ";Q$;"Which field to change? ";A1"(1 - ";NFNS;" or 'list')";Q$;";":"1210 X%=PEEK(1403)+2:Y%=PEEK(37)+1:L%=4:GOSUB 10:GOSUB 25:IN=VAL(IN$)":"1220 IF IN$=;Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" = Yes )";Q$;";":"1180 Y%=PEEK(37)+1:X%=PEEK(1403)+2:L%=1:GOSUB 10:GOSUB 25:VTAB 23:POKE1403,0:POKE 36,0:? SP$;:?SP$;"0"1190 IF LEN(IN$)=0 OR IN$=";Q$;"y";Q$;" THEN ";LN10:"1193 IF IN$<>";Q$;"n";QNS04440."1154 FOR I=1 TO NC":"1156 IF CS%(I)=0 THEN 1162":"1158 GOSUB ";SL:"1160 IF IN$=CHR$(27) THEN 90":"1162 NEXT I".X"1164 VTAB 23:POKE1403,0:POKE 36,0:? SP$;":"1170 VTAB 23:POKE 1403,0:POKE36,0:? ";Q$;"Is this all correct?";/" ( "$(I);LEFT$(DT$,CL%(I))":"1075 NEXT I" .h"1080 FC=FC+1":OS$"FC":OL1082:UL%NF:8840:EL;"IF IN$=CHR$(27) THEN 90":EL1;"IF GS%(FC)>0 THEN GK(GS%(FC))=GL(GS%(FC))+VAL(G$(FC))":"1150 VTAB 23:POKE1403,0:POKE 36,0:? SP$;":"1152 IF FC<";NF;"THEN 1080":(31+Y%(I));PR$(I);SD$":4080`,"1056 VTAB Y%(I):POKE1403,X%(I)-1:POKE 36,X%(I)-1:?PR$(I);SD$","1057VTABY%(I):POKE36,0:?CHR$(0);":"1060 NEXT I":NS04200&-,"1065 FOR I=1 TO NC:IF CS%(I)=0 THEN 1075":"1070 VTAB CY%(I):POKE 36,CX%(I)-1: PRINT CP?+"1048VTABTY%(I):POKE36,TX%(I):POKE 1403,TX%(I) :?TP$(I);","1049VTABTY%(I):POKE36,0:?CHR$(0);:NEXT I":"1050 FOR I=1 TO NF:SD$=LEFT$(DT$,L%(I))":"1053 IF T$(I)=";Q$;"D";Q$;" THEN SD$=";Q$;"../../..";Q$:W%0ĺ"1056?CHR$(30);CHR$(32+X%(I)-1);CHR$5); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;" to continue";Q$;";":"1040 GET AA$:IF AA$<>CHR$(13) THEN 1040":"1045 GOTO 90":"1046IF NT=0 THEN 1050":"1047FOR I=1TO NT"+W%(1271):W%0ĺ"1048?CHR$(30);CHR$(32+TX%(I));CHR$(31+TY%(I));TP$(I);":4018to continue ";Q$;";:GOTO 1040":"1003 IF IN$=";Q$;Q$;" THEN 90":"1004 GOTO 1000":"1010 IF NR<";MS;"THEN 1046")<"1020 ? CHR$(12);:? ";Q$;"You have entered ";MS;" records";Q$:"1030 ?:?";Q$;"Your file is full";Q$*d"1035 ?:?";Q$;"Press ";Q$;";CHR$(1(SU$)":LNLN10:LN;"RETURN":"1000 ? CHR$(12);:IF SS<>0 THEN 1010":"1001 IF SS=0THEN ?";Q$;"The data files must be initialized. Please choose the file preparation option.";Q$o)"1002?:?";Q$;"Press ";Q$";CHR$(15) ;";Q$"RETURN";Q$;";CHR$(14); ";Q$;" :POKE 36,0"'LLN5;"?";Q$;"*** You must enter something ***";Q$;":GOTO ";SL:LNLN10:LN;"CD$=SU$:E=0:GOSUB 30000:IF E<>1 THEN ";LN20:LNLN10:LN;"VTAB 23:POKE 36,0":LN5;"?";Q$;"*** Numbers only please ***";Q$;":GOTO ";SL(LNLN10:LN;"CD(I)=VALTHEN RETURN":LNLN10:LN;"X%=CX%(I)+LEN(CP$(I)):Y%=CY%(I):L%=CL%(I)" ' LNLN10:LN;"VTAB Y%:POKE 36,X%-1:GOSUB10:VTAB 23:POKE 36,0:POKE 1403,0:? SP$:SU$=IN$";:":IF SU$=CHR$(27) THEN RETURN":LNLN10:LN;"IF LEN(SU$)>0 THEN";LN20:LNLN10:LN;"VTAB 23;LN20:3440B%\ LN;"IF NOT (VAL(G$(";I$;"))";BJ$;") THEN ";LN20%p LNLN10:LN;"VTAB 23:POKE 36,0:?CHR$(7);";Q$;EM$;Q$;";:GOTO ";BL:2560% LNLN10:LN;"RETURN":IKFKF$(D%(KF)10)E& (4):I:(4);"WRITE ";PN$:LNLN10:SLLN:LN;"IF CS%(I)=0 6,0:? CHR$(7); ";Q$;EM$;Q$;";:GOTO ";BL:2560$ LNLN10:LN;"IF NOT (LEN(G$(";I$;"))";BJ$;") THEN ";LN20:LNLN10:LN;"VTAB 23:POKE 36,0:?CHR$(7); ";Q$;EM$;Q$;";:GOTO ";BL:2560$4 LNLN10:(BK$,1)Q$3420 %H LN;"IF NOT (G$(";I$;")";BJ$;") THEN "";BL:2560# LNLN10:LN;"IF LEN(G$(";I$;"))<>0 THEN ";LN20:LNLN10:LN;"VTAB 23:POKE 36,0:?CHR$(7); ";Q$;EM$;Q$;";:GOTO ";BL:2560-$ LNLN10:LN;"B$=G$(";I$;"):A$=";BK$;":GOSUB 41000":LNLN10:LN;"IF I9=0 THEN ";LN20:LNLN10:LN;"VTAB 23:POKE 330000:IF E<>1 TH EN ";LN20:LNLN10:LN;"VTAB 23:POKE 36,0:?CHR$(7); ";Q$;EM$;Q$;";:GOTO ";BL:2560 # LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB 31000:IF E<>1 TH EN ";LN20:LNLN10:LN;"VTAB 23:POKE 36,0:?CHR$(7); ";Q$;EM$;Q$;";:GOTO 440:IN$"help"İ1060:3000L! 24:1403,0:36,0:SP$;:EM$""EM$ES$(ES)! (EM$)40Ģ24:36,0:"Error message too long";(7);:3000!0 23:36,0:(13);(4);"WRITE ";PN$:ES3160,3200,3240,3280,3340,3380o"X LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB  8500:OKES6:3000i (0):24:36,0:"Syntax error. Please reenter or type 'help'.";(7);:2600! 23:36,0:1403,0:SP$:SP$;:23:1403,0:36,0:"Error message?":"(CR=";ES$(ES);")";:23:36,15:1403,15:(0);:XX%16:YY%23:L%40:120:EM$IN$:entry":8240:I91(BI$)8ES3:3000o A$"contains":8240:I91(BI$)8BK$(BI$,9):8500:OKES4:3000, A$"length":8240:I91(BI$)72920@ BJ$(BI$,7):8340:OKİ8440:OKES5:3000h BJ$BI$:8340:OK2980 | 8600:OKES6:30004 LNLN10:LN;"G$(";I$;")=STR$(VAL(G$(";I$;")))"e LNLN10:LN;"I=";(I$);":GOSUB 40500":3460 BI$"help"İ1060:2560 B$BI$:ES0:A$"not numeric":8240:I91(BI$)11ES1:3000 A$"numeric":8240:I91(BI$)7ES2:3000& A$"no R$(I);SD$(I);(14)P( 23:1403,0:36,0:SP$;:23:1403,0:36,0:"Reject if: ";< YY%23:XX%12:L%60:NQ0:120:NQ1:560:BI$IN$:BI$(27)2620d BI$""2740x 24:1403,0:36,0:SP$;:23:1403,0:36,0:(13);(4);"WRITE";PN$:K$"A"K$"D"2720$=";Q$;"l";Q$;":GOSUB 41000:G1=I9":LN6;"IF G1>0 THEN GG=VAL(G$)-VAL(G$(";I$;")):G$(";I$;")=STR$";:"(GG)"| K$"D"3460 22:36,0:(4):23:36,0:SP$;:W%0ĺ(30);(32X%(I)1);(31Y%(I));:2595 Y%(I):36,X%(I)1:1403,X%(I)1# (15);P THEN G$(";I$;")=G$":K$"A"K$"D"2540L LN1;"IF UF=0 THEN ";LN4:LN2;"B$=G$(";I$;"):A$=";Q$;"m";Q$;":GOSUB 41000:G1=I9":LN3;"IF G1>0 THEN GG=VAL(G$(";I$;"))+VAL(G$):G$(";I$;")=STR$";:"(GG)"k LN4;"IF UF=0 THEN ";LN10:LN5;"B$=G$(";I$;"):A$;Q$;" THEN G$=G$(";I$;")":LNLN10MLN;"GOSUB ";:K$"D"ĺ"49000";:2300o"10";:K$"A"ĺ":GOSUB 25";(":VTAB 23:POKE 1403,0:POKE 36,0:?SP$:G$(";I$;")=IN$";:":IF G$(";I$;")=CHR$(27) THEN RETURN":D%(I)LN:LNLN10:LN;"IF UF<>0 AND LEN(IN$)=0);SD$(I1);:2100U I1ĢY%(I1):36,X%(I1)1:1403,X%(I1)1:PR$(I1);SD$(I1);#423:36,0:SP$;:LNLN10:K$T$(I):23:36,0:(13);(4);"WRITE ";PN$:LN;"X%=X%(";I$;")+LEN(PR$(";I$;")):Y%=Y%(";I$;"):L%=L%(";I$;")":BLLN:BL1;"IF UF<>0 AND G$=";Qeld #";I;:/I1NF:I$(I):T$(I)"D"208024:1403,60:36,60:"Field #";I;:W%0ĺ(30);(32X%(I)1);(31Y%(I));:2075 Y%(I):36,X%(I)1:1403,X%(I)1(15);PR$(I);SD$(I);(14);:W%0ĭI1ĺ(30);(32X%(I1)1);(31Y%(I1));PR$(I1:(15);"Type 'help' to repeat these directions";(14)::24:36,0:"Press ";(15);"RETURN";(14);" to continue ";XA$:A$(13)1880 l(12);:J1NF:Y%(J):36,X%(J)1:PR$(J);SD$(J):J:Y%(I):36,X%(I)1:PR$(I);SD$(I);:24:1403,60:36,60:"Fi"'<>'";19);"<>";Q$;"Male";Q$;:36,39:"Must be 'Male'":"'contains'";13);"contains";Q$;"ABC";Q$;:36,39:"Must not contain";:" 3-letter group 'ABC'"s:"You may signal completion of the tests for a field by":"hitting the return key on 'Reject if'":Note double quotes)"h:"'>'";20);">";Q$;"D";Q$;:36,39:"Must not be after 'D' in";:" the dictionary":"'<'";20);"<";Q$;"JO";Q$;:36,39:"Must not precede 'JO' in";:" the dictionary""'='";20);"=";Q$;"Bill";Q$;:36,39:"Must not be 'Bill'":ator"::"'>'";20);">100";:36,39:"Must not be greater than 100""'<'";20);"<20";:36,39:"Must be 20 or higher":"'='";20);"=631";:36,39:"Must not equal 631":"'<>'";19);"<>23";:36,39:"Must equal 23"::16);(15);"Character tests";(14);" (okes"}"'length<>'";:36,19:"length<>3";:36,39:"Must be 3 keystrokes":"Press ";(15);"RETURN";(14);" to continue. ";A$:A$(13)1460B(12);::18);(15);"Number tests";(14)::"Test name";:36,19:"Example";:36,39:"Meaning to oper;(15);"Data size tests";(14)::"'length>'";:36,19:"length>4";:36,39:"No more than 4 keystrokes allowed"d"'length<'";:36,19:"length<7";:36,39:"No less than 7 keystrokes allowed":"'length='";:36,19:"length=2";:36,39:"Must not be 2 keystr:"Test name";:36,19:"Example";:36,39:"Meaning to operator"::"'no entry'";:36,22:"-";:36,39:"Some entry required"n"'not numeric'";:36,22:"-";:36,39:"Use only Numbers here":"'numeric'";:36,22:"-";:36,39:"Don't use numbers here":19)default error message (Displayed""on the bottom line of the screen) may be specified by pressing ";(15);"RETURN";(14);" in":"response to the 'Error message' question.":"The following tests are available:"::20);(15);"General tests";(14){ered data before it is accepted into the data file. You":"may use any number of these tests on any field. For each test you specify,"!t:"You will be asked for an appropriate error message to displayed when":"that kind of improper data is entered. A S$(4)"""*** Contains forbidden characters ***":ES$(5)"""*** Improper length ***":ES$(6)"""*** Value out of range ***":I1:LN2000:1060:2020$(12);:"The question 'Reject if' will allow you to specify various kinds of tests":"to be made on entdrive 1.":::"Press ";(15);"RETURN";(14);" to continue. ";:AN$:(0):(4);"DELETE JUNK,D1" \(4);"APPEND ";PN$;",D";D:ES$(1)"""*** Numbers only please ***":ES$(2)"""*** No numbers please ***"ES$(3)"""*** You must enter something ***":E(I1$):QT620V X(I1$,ZZ,1)"A"(I1$,ZZ,1)"Z"IN$IN$(((I1$,ZZ,1))32):640n lIN$IN$(I1$,ZZ,1) (IN$,ZZ,1)(34)QT(QT) ZZ  216,0:NQ1: (4);"PR#3":9120 D2860` 4(12):"Put your application disk into IN$IN$II$:II$;:JJ1:W%0130+ 1401 C (IN$)0520 I1$IN$:IN$"":ZZ1(I1$):(I1$,ZZ,1)"A"(I1$,ZZ,1)"Z"IN$IN$(((I1$,ZZ,1))32):500 IN$IN$(I1$,ZZ,1) ZZ  0(IN$)0680 DQT0:I1$IN$:IN$"":ZZ1ĺ(30);(32XX%J2);(31YY%);" ";:130W YY%:1403,XX%J2:36,XX%J2:" ";:140f II13400 ,II32(II34NQ)ĭW%0130 6II32(II34NQ)140 @JL%380 TYY%:1403,XX%J3:36,XX%J3:JJ1:J1IN$"":380 hIN$(IN$,J1)" |II$:II(II$(0)):160H YY%:1403,XX%1:36,XX%1:(0);:IN$"":J1 YY%:1403,XX%J2:36,XX%J2:II$:II(II$(0)) (II27II5)J1IN$(27):400 II8II127280 J1140 JJ1:J1IN$"":250 IN$(IN$,J1)) W%0US+************************************U(* CODEWRITER FOR APPLE [CODE2.BAS] *<************************************UW%(1271):720xW%0135}(30);(32XX%1);(31YY%);(0);:IN$"":J1 (30);(32XX%J2);(31YY%);(0);:                                      3 k6(12):(4);"CATALOG,D2"Lk6:"Press any key to continue. ";:A$:0S] *<************************************P:(4);"PR#3"ZW%(1271)d700x __________ KEYBOARD INPUT SUBROUTINE __________ W%0155$ (30);(3::"Press RETURN to continue. ";:AN$:(0):5660nj3 _________ DISK OPTION ROUTINE ___________ j,3D1DR$"1":13160j@3D2DR$"y"DR$"2":13160jT3D2DR$"n"DR$"1"jh3(4);"OPEN D,D";D:(4);"WRITE D":D:DR$:(4);"CLOSE"k|:"Press ";(15);"RETURN";(14);" to continue.";Iix2A$:(A$)1312920Ti2(13)fi2(4);"CLOSE"vi2ER613020i2(13);(4);"DELETE ";SF$i2216,0i2103602j3216,0:(12):(7):(7):"Please make sure the FileWriter disk is in drive 1":12740h1127602h1B$(B$,1,J1)RP$(B$,J2)9h1J?h1rh2__________ ERROR HANDLING ROUTINE __________ h2ER(222)h(2ER225ijh<2ER6ER8ER412900hP2(ER5EL33010)130400id2(12);:(4):"Screen file not found on drive ";D;"."J10QQ$"":12560&g0QQ$(A$,J1)Bg1A$QQ$R1$(A$,J2ND)Mg$111360g81__________ CREATE OLD VALUE OF PC EXPRESSION __________ gL1J1(B$)g`1UU$(B$,J,2)gt1UU$"G$"RP$"F$":12740g1UU$"CD"RP$"CE":12740h1UU$"GK"RP$"GL":,J2,ND)")"#f/J1AA$"":123205f 0AA$(A$,J1)Qf 0A$AA$R1$(A$,J2ND)\f4011360efH0 mf\0 ~fp0 SR$="GT"f0SB%((A$,J2))f0SB%NGEF2:11360f0FI%(SB%)NFIEF6:11360f0ND((SB%))f0R1$"GK("(A$,J2,ND)")"g0lf referencing definition. Enter 'c' to confirm ";_eD/YY%(37)1:XX%(1403)1:L%1:140:460seX/(IN$)012160el/IN$"c"12180e/EF1:SU0:11360e/ND((SB%))e/R1$"CE("(A$,J2,ND)")"e/SU1:12280e/ND((SB%)) f/R1$"CD("(A$))&d@.R1$"VAL(G$("(A$,J2,ND)"))"=dT.J1AA$"":11900Odh.AA$(A$,J1)kd|.A$AA$R1$(A$,J2ND)vd.11360d. d. d. SR$="PC"d.SB%((A$,J2))d.SB%1SB%NCEF2:11360d/SB%IEF4:11360d/SB%I122402e0/::"Sez#     Ǡ  ήʠ` Š űӠeŲӠU ųӠ[ԮӠԠҠ ȮծӠԠӮӠΠԮӠ10000(7):12809216,0:(7):(7):DK%0:1400(4):(12);:(0):FM1:3420:1:25);(15);"CREATE A DATA ENTRY SYSTEM";(14)gh:::10);"You have the following options:"::16);"s.....................Create a screen layout"::16);"Please press the key corresponding to your choice then ";(15);"RETURN";(14);" ";(8);:3040:CH$"d"1560<CH$"n"1460PFM1:3420:D21420xDK%DSK$"FileWriter":600001500DDD$;"RUN NOTES.BAS,D1"CH$"x"ĿCH$"v"16);"d..................Create a data entry system"p :16);"n..........................Display user notes" :16);"v............View CodeWriter series tutorials" :16);"x...............................Exit to Basic"m18:36,0:1403,0: kFM21560 pD2905F (12):DSK$"application":DK%İ60000 FM2:DDD$;"OPEN VARPASS,D";D:DDD$;"WRITE VARPASS":FM:DDD$;"CLOSE"4 t(12);::25);(15);"FILEWRITER SYSTEM MAIN MENU";(14)::::10);"YOU HAVE THE FOLLOWING OPTIONS:"::680 IN$(IN$,J1)8 IN$IN$II$:II$;:JJ1:440> P (IN$)0820 I1$IN$:IN$"":ZZ1(I1$):(I1$,ZZ,1)"A"(I1$,ZZ,1)"Z"IN$IN$(((I1$,ZZ,1))32):800 IN$IN$(I1$,ZZ,1) ZZ 4 \:(4);"PR#3":(12):FM11140I5)J1IN$(27):700. II8II127580; J1440V JJ1:J1IN$"":560i IN$(IN$,J1) 0YY%:36,XX%J2:1403,XX%J2:" ";:440 DII13700 XII32II34440 lJL%680 YY%:36,XX%J3:1403,XX%J3:JJ1:J1IN$"":DD$;"READ VARPASS":FM:DDD$;"CLOSE"5 o216,0:113 pDDD$;"LOCK PRINT.BAS,D";D:DDD$;"UNLOCK PRINT.BAS":DDD$;"CLOSE":FL%0:860 q216,0:FL%3240 860 YY%:1403,XX%1:(0);:IN$"":J1 YY%:1403,XX%J2:II$:II(II$(0)):(II27I9):(0):(4);"PR#3":1011,165:80B2DDD$(4):D(16385)P:216,0::(12)::255:1002::DDD$;"NOMONIC":(12);:PL$(30):DK%1:FL%1:PP%1i111k(0):D2110mRT%1:DK%DSK$"application":60000$ nDDD$;"OPEN VARPASS,D";D:D     IL KL ML OL QL SL UL WL YL [L 8/L 81L 83L    L- LType 'y' to confirm :      LYLy  5   ]  5    L#L-   f  > i Q``Lc@ X< Ld%Ld=L ?L AL CL EL GL ED      rL Index: 840303   { *    1 * - r    L"RUN NEWMENU.BAS,D1      Ld'Will you be using 1 or 2 disk drives ? <     L}1L2  5 {  ]  5    Lp 4.4   LPR#3       >  T       rL$C O D E W R I T E R      rLVCOPYRIGHT 1981, 1982 BY >   rLCORTECHS CORPORATION m   rLALL RIGHTS RESERV    ~(4);"PR#3"I (12);23);"THE CODEWRITER CORPORATION PRESENTS:"|(4);"BLOAD RUNTIME,D1"(13)(4)"BRUN H.2" H)600 941 1100A D$;"OPEN D,D";D:D$;"DELETE D,D";Dd D$;"OPEN D,D";D:D$;"WRITE D"o N:FL D$;"CLOSE" 16385,D $D2880 8820 L ___________ ERROR HANDLING _______________ `(7):(7)@t216,0:(12):5:"Pleasn writing to your application disk.":"Verify correct placement of your application disk in drive ";D;"." :"Press ";(15);"RETURN";(14);" to continue or ";(15);"E";(14);" to end the program. "; AN$:AN$:AN$"E"AN$"e"ĺ(12): AN$(13 H216,0:(0):900 \F11O pD$;"BLOAD CHAIN,A520,D1":520"NEWMENU.BAS"_ (7):(7) (12):"Please check to see that FileWriter is in drive 1.":1160:840 (7):(7):216,0i (12):"There has has been an error (Code #";(222);") i12:20:"Saving program onto application disk..."d D$;"OPEN PRINT.BAS,D";D:D$;"WRITE PRINT.BAS"| I1J1:PL$(I):I "RUN" "DELETE PRINT.BAS,D";D "NEW" D$;"CLOSE" 960 4(12):"Please put FileWriter into drive 1.":1160 |A$"" 560 B$- B$(13)500: A$A$B$C 400Q PL$(J)A$[ JJ1d 380u 0216,0:(0) DD$;"CLOSE PRINTT.BAS":(0) X940 lD2660 (12):"Please insert your application disk into drive 1.":11601 (12): FL1PL$(30)@( ______________ SAVPRT ____________Q<(4);"PR#3"[P(0)jD(16385)wD1280560,D$(4):(0)@(12):12:30:"Loading program ...."TD$;"OPEN PRINTT.BAS,D1":D$;"READ PRINTT.BAS"hJ1:B$""n press ";(15);"Ctrl-E";(14);"."V8'24:36,0:1403,0:"Please enter your choice ";hB'12409616,0L'A$:A$(13)A$(5)10060V'A$(5)1140['10085]'(12):(4);"VERIFYTUT1.BAS,D1"`'(0):(4);"RUNHELLO"e'(12)::20);(7)S TUTORIALS";(14)X':::15);"If you wish to view the CodeWriter series tutorials"$'10);"then insert side 2 of the FileWriter disk in drive 1 and".'10);"press ";(15);"Return";(14);". If you wish to return to the main menu""3'10);"themake sure FileWriter is properly placed"": PRINT "indrive#1.":POKE 216,0: GOSUB 3080: GOTO 3 320 \ (0):DDD$;"OPEN VARPASS,D";D:DDD$;"WRITE VARPASS":FM:DDD$;"CLOSE":(0):'(4);(13);(12);(0)::24);(15);"VIEW CODEWRITER SERIE 33200 (0):DK%DSK$"application":60000W (4);"UNLOCK PRINT.BAS,D";D:1140i 216,0:3400w D23380 FF%1:GG%1:RT%2:DK%DSK$"FileWriter":60000% 3395* (0)4 (4);"RUN SAVPRT,D1"C 216,0mH (12);(7):"Please ENU.BAS,D1"d, (12):(7):(12):(7):5:"A formatted disk is needed in drive ";D:I12000:: YY%(37)1:XX%(1403)1:L%1:420:740:CH$IN$: ::"Press ";::"RETURN";::" to continue. "; AA$:AA$(13)31000 (0): BJ" 4216,0:(7):(7):1940.\D22180QpDK%DSK$"FileWriter":60000(12);:12:36,25:1403,25:"Please wait - Loading program":2240(4);"BLOAD CHAIN,A520,D1":520"CODE1.BAS"216,0:(7):(7):DK%0:2140  DDD$;"RUN NEWM1800 3FM2:DK%DSK$"application":60000G3420:D22000jDK%DSK$"FileWriter":60000(12);:12:36,25:1403,25:"Please wait - Loading program":21006065,D:216,0:(0)::(4)"BLOAD RUNTIME,D1"(13)(4)"BRUN SCREEN.Oalready have"::"created a screen format file with selection 's'."23:36,0:1403,0:"Please press the key corresponding to your choice then ";(15);"RETURN";(14);" ";(8);:3040:AA$CH$:AA$"s"19200AA$"a"2140DAA$"x"1140X(7);:"a.......................Create an application"::16);"x.........................Return to main menu"C:"To create a screen format (Selection 's') you must have"::"a formatted disk available."::"To create an application (Selection 'a') you must is explained at the top of page 34. For the";CT$;"it is the screen file name followed by the suffix.T";(15)::"(as in RUN 'PROGRAM.T').";(14);" Also, the ";(15);"CATALOG";(14);" command is used to see the contents of a disk rather than ";(15)1 TO ---)?";(14);".":" Page 34 In the section 'MAIDEN VOYAGE' a few mistaken references to the COMMODORE 8000 appear. Your";CT$;"program is run by typing ";(15);"'RUN'";(14);" followed by the program name.";" The program file name(14);" are used twice in the last paragraph of this page. In both instances change this to ";(15);"UPDATED";(14);".":" Page 27 In the section 'THE NUMBER OF RECORDS NEEDED', change ";(15);"(200 TO ---)?";(14);"to ";(15);"("Answer ";(15);"Y";(14);" and yourfields will be reordered automatically.":8000:" Page 21 In line numbers 4 & 5 at the top of the page, change 'ONLY A SINGLE DOT' to 'ALL OF THE DOTS'.":{" Page 26 The words ";(15);"LOOKED UP";ontinue editing.":" PAGE 19 In the first paragraph of this page you are instructed to read the screen again to reorder your new field positions. This is no longer true; FileWriter will ask you if you want your new field positions. ";l remember the screen most recently read in using the ";(15);"R";(14);z"EAD option or the ";(15);"C";(14);"HANGE option from the main menu."::" 3. ";(15);"E";(14);"DIT: This option allows you to return to the current screen and ce screen most recently read in using the ";(15);"R";(14);p"EAD option. To do this use the ";(15);"A";(14);"BORT option explained below.":Hx" 2. ";(15);"A";(14);"BORT: This option will bring you back to the main menu. FileWriter wil"CTRL-E";(14);" key to read the screen you will be offered a couple of other options before reading takes place:";i:" 1. ";(15);"C";(14);"LEAR SCREEN: This option will clear the contents of the current screen. FileWriter can recover th PAGE 7&8 The manual indicates the use of up arrows on both sides of a field will designate this field as a label. The key to use on the";CT$;"is the ";(15);"SHIFTED";K$;"KEY";(14);".":8000sb:" PAGE 16 When you press the ";(15); THE SCREEN!!! ****": F"******** All references to the ";(15);"ESC key";(14);" should be changed to ";(15);"CTRL-E";(14);" ********"::"****** Do not use periods ";(15);"'.'";(14);" when assigning names to your screen files ******": Z"re";o <" specific FileWriter information. The notes are referenced by page number in the user manual.": >" **** IF YOU HAPPEN TO EXPERIENCE ANY INCONSISTENCIES BETWEEN YOUR CODEWRITER PROGRAM AND THE MANUAL, PLEASE FOLLOW THE INSTRUCTIONS ON*************************"::100 2" Your FileWriter manual is written to be included with all the computer versions of the CodeWriter system. We have added these user notes where we thinkthe owners of the";:CT$;"computer would be helped by mo*********************************":" * *":" * CODEWRITER USER NOTES *"! *" * *":" ************:216,0::(12):::255:1002::(4);"NOMONIOC":(12);::(4);"PR#3":(12):A%(1271):D(16385):A%CT$" FRANKLIN ":K$" 6 ":10CT$" APPLE ":K$" 6 on the IIe and N on the Plus " (12):D$(4):Q$(34):" ****          e verify placement or your application disk in drive 2":1160:2a ______ GET RETURN ________::"Press ";(15);"RETURN";(14);" to continue. ";:AN$:(0):0):Ԡ客ԠԠ報ԠԠ嬢ԠԠͤԠҤŠŢԠҤŠŬĢĺԠҤŠűĢčԠҤԠ堢čԠ堢ԠͤԍԠҤңҠϠԠҤΠĬIJԠҤĠĢԠĺԠҤŠĢƠĠΠŠĠԠҤΠŬĢčԠҤĠŢ 膢 ȱ " <67 L  8ij v vo>";Q$;"LONDON";Q$:"ACCEPT IF: NOT (KE5="Q$;"LONDOain menu of CodeWriter itself. Simply follow the screen instructions.This will load the ";(15);"SORT";(14);%" program automatically and run your report. Every time you run a report program, you MUST run the sort program first although you may skhe screen headings routine lets you type lines of report headings. If you wish to skip the second line enter a space followed by ";(15);"RETURN";(14);".":n" PAGE 53 CodeWriter allows you to run your first report program right from the mriter will ask for the maximum length of the program calculated fields defined in your original data entry program. ";"FileWriter will only ask for the maximum size of your NEW program calculated fields.":" PAGE 50 On screen R14 t;"diR";(14);".":" Page 35 In the shaded box at the top of the page type ";(15);"'DLOAD INVOICE/T'";(14);"SHOULD BE CHANGED TO type ";(15);"RUN INVOICE.T";(14);".":8000z" PAGE 47 In screen R8 the manual indicates that FileW 2y T ;| > 2y T |  |  z > 2y T ;| > 2y TL@+Are you sure you want to &+  | L[+ ? (y/n) Q+  | %w ;| D &y }y Cw n qL+YL+N } 5 +  v } 5 + } L+ z  Lc+ |  z > 2y T ;| > 2y T | L+N } 5}  v } 5 ) }  v } 5 ) } L1* z  L(L6*E } 5 4* Lp* |  z > 2y T ;| > 2y T | L&Lu*R } 5 s* L* U Py w` } }L* abort now * |L*C } 5 * L*L*clear the screen * | |  z >L(C (  E{  L) lear screen, )  i{  L+)E ))  E{  LQ)dit some more,or ?)  i{  Lg)A e)  E{  L)bort to return to main menu? {)  | %w 3{ &y }y Cw n qL)AL)EL)RL)C } 5 )  v } 5 ) } Lp( v z $L. v .z $ v v %z $}  v v 7z $}  v v ^z $} LS- v Cz $L+, v Lz $Lv/ z  LO' }y n w $L( z  L"' |  z > 2y T ;| > 2y T i{  L(R (  E{  L( ead screen, (  i{  L'% key when finished to read the screen &  g w  z > }y w T ;| > }y w T 2y   | > }y T  | 2y  |   n v Yy D n [w z LO' ^w %z $ v ^w ^z $} L' ^w v v gz  v v z (} Ln, v y $ v v |z $ 2y   z  L&RUN NEWMENU.BAS,D1 &  | > 2y T :s r D|  | L L% y w cx y $L& x My Lm& Gu }y w }y w {   x y $L& P g |  z > 2y T ;| > 2y TL& Press the &  i{  L&Ctrl-E &  E{  z  L)$L$Y } 5 $ L 7"& w y $L% Wx $ v w y $} L% {   L{%,Please insert CodeWriter Disk I into drive 1 N%  r {   {  z > )| T ;| > )| TL%Please wait - Loading program %  y > w Q# L$ z  LL" x y ~ L% {   z   }y  z > 2y T ;| > 2y TL$LYou haven't saved your screen file. Do you really want to exit now? (y/n) J$  }y Cw !{ &y }y %w n qL$YL$N } 5 $  v } 5 $ } L$ q } |L"E | 5 " L@# Py `xL#EDIT # | 2y OwLNi H& cx y $L,#L LE#P | 5 C# L>lL]#C | 5 [# L#Lw#CHG s# | 2y OwLNiL#C | 5 # L# /L L#S | 5 # Lq;L#L | 5 # L#  xLBL#X | 5 ent Screen !  { rLA"3x......................Exit to system creation menu  "  {  z > 2y T ;| > 2y TL"0Press the key corresponding to your choice then m"  i{  L"RETURN "  E{  L" "  { %w | &y }y Cw n...................Change field positions   { rL`!3s........................Save screen layout to disk ,!  { rL!3l......................Load screen layout from disk w!  { rL!3p..............................Print Curr } 5   } 1 {   { r i{  LD #THIS IS THE SCREEN FORMAT GENERATOR   E{   z rL You have these options: g  { rL 3e....................Edit or create a screen layout   { rL!3c.........^ =}= { Hx { > Uz T { D gw { D n w 2y Tx ;y I~ k|   x A Dy T 1 z  LjPR#3 e  Ly x | }y I~ `{  L | 5   | 1 y wL 999,999,999  v}L  } }y I~ `{  L.                             Ԡ槮ԠԠ亢ԠԠΠͤıנĠ堲砢ԠԠ嬠墍ԠԠԠx } x 4w c y   w ~{ Ex n w G /y $L-; 1 }L;; w x 1 e~L5 w  z > }y w T ;| > }y w T -}  vu x wL5 x My $LRB {   AL; j} 5 ; LuL;.S j} 5 ;  l} 7; w y $8~ 9~ L=L< 7"< z  L;w Z{ L5 w ~{ Ex w @w D /y L: w  z > }y w T ;| > }y w TL>: <:  i{   A}  E{   w ~{ Ex w > 2y T w ~{ Ex w @w > Q{ T w zy wLv5 w @w zy v Fw { v (L5 w @w zy e~ Fw {   w ~{ Ex n x G /y L3; Ex n x G /y L9 x zy xL8 1 e~ w  z > }y w T ;| > }y w T -}  vu x zy wL5 w x x wy $L5 w e~ w @w u }y   }y x ~{ Ex n x G /y L9 }y x xLR9 1 e~ w  z > }y w T ;| > }y w T -}  vu }y x wL5 w @68 x } :w x y  }y  w ~{ Ex n w G /y $L08 1 }L>8 w x 1 e~L5 w  z > }y w T ;| > }y w T -}  w } w @w u }y   w ~{ Ex n sw A 2y T 1 } :w x y wL5 w x x { $L5 w e~ w @w u }y   x zy ~{ L5 w ~{ Ex w u }y D /y L7 w  z > y w T ;| > y w T i{   A}  E{  LS7 Q7  w ~{ Ex w u }y > Q{ T w ~{ Ex w @w u }y > 2y T }y w wLv5 y w =w (L5 y w e~ Fw  }y  w ~{ Ex n x G /y L} L6 v | w o v | w o Q` v Cz Lg6 w  z > }y w T ;| > }y w T A}  v | w o v | w o L 0 v .z $ v v %z $}  v v ^z $}  v v 7z $} L6 Py wL6L5 v .z $L8 v %z $LL9 v ^z $L9 w wy $ | v _} |  C} w  z > }y w T ;| > }y w T i{   A}  E{   w } w @w u }y   w ~{ Ex n sw A Q{ T 1 } g w  z > }y w T ;| > }y w T 2y   Yy D n v z (L5 z v v { > 2y T v y $ v v |z $L94L3^L3^ v | 3  3  C} Fw y CwL%4 -} 5 "4  /}L5L>4D v _} <4 L4L]4../../.. v | T4  C} Fw y CwL}4 -} 5 z4  /}L5L4A v _} 4 L4 v | | v | }  |  C}L5 v | | v | u }y }  | n v v Cz $Lo3 v y $ v v |z $} L$3 Q` v 7z LO3 }y v v /y (LL3 -x vL 0 v zy v v $x Ll3 2y vL 0 v |  v v | n v 7wL3 3 /} |  z > y T ;| > y TL3 Change 3  | Fw  /}L3T v "} 3 z > 2y T ;| > 2y TL2 Field type: 2  } L'2 %2  }  ;| D { |   |  ;| D { |  Lk2Field # b2  v zy ^ z > y TL2 Cntl-E=END 2  w  z > }y w T ;| > }y w T 2y   | > }y T  | 2y  |  L0# v _} 0 L1L1Numeric 1 }L1$ v _} 1 LA1L91Dollar 21 }LU1Keyboard entered D1 }Li1Length = v | n  `1  |L1P v "} 1 L1L1Program calculated 1 }L1G v "} 1 L1L1 Global total 1 } | st create or load one. /  r` K P 2y v g v | w v }| w gL90 80 }LE0 D0 }LQ0 P0 |L^0T v "} \0 L0Lz0Label t0 }L0 Length = v |  n  0  |L1L0 Alphanumeric 0 }L0D v _} 0 L0L0Date 0 }{ w }y w w wy (L / { w w ~{ Ex w D V| $L-/ w w w  z > }y w T ;| > }y w TLV/ T/  w ~{ Ex w > ey TL' w { w Z{ L/ `{ wL' {    x x y $L0 z  L0EError: No screen layout in memory. You must firz LD. }y n w $ v w Z{ } L'. z  L"' w zy w Z{ LD. }y wL' v 7z L' }y n w $ v w wy $} L. z  L"' }y w w wy (L. `{ wL'L' }y n w $ v w wy $} L. z  L"' }y w w wy (L / `y n w $ v w Z{ $} L- z  L"' w zy w Z{ LP- }y w w zy w { LP- }y wL' }y n w $ v v .z $ v v %z $} } L- z  L"' v .z $L- w zy w { L- }y w v %z $L- }y w w wy (L- { w v ^ + L&L+A ~} 5 + L, K Py `x` Gu {  L& }y n w $LK, z  L"' }y w w zy w { Lk, }y wL' w ~{ Ex w D V| $L, w w w  z > }y w T ;| > }y w T v   v z $L, w w w ~{ Ex w > v Q } Loading screen file J  ` Gu -x My (` 2y e~ -x  L1KK x "} /K LM x | w x }| w }y } x |    w ~{ Ex w n w c y A x | w  }y 4  T 1 } x |  w w }y } x |   w ~{ Ex wLJ*Enter the file name that you wish to load. I  L8J File name: ,J  z D zy %w ;| D zy &y )| Cw n q } l}LnJ D|  j}  v j} 5 mJ } LJLJ J l}` w y $L K {   {  z > { T ;| > { TLK!Please wait - screen file. Do you really want to load a new H  y  z > 2y T ;| > 2y TL\Iscreen file? (y/n) GI  }y Cw ;| D &y y %w n qLIYLIN } 5 I  v } 5 I } LI z  L&ILIN } 5 I LILI I l}` {  G G o  | *{  | L+H x | x | |  o LG ' x |  o  ' x |  o  1 e~ y x *x z  L{HCLOSE uH  | > 2y T y x y w KLu x y ~ LI {   z  LIMYou haven't saved your currento  | *{  | L#G x | x | |  o LF ' x |  o  ' x |  o  ' x |  o  ' x a}  o  1 e~ '  x  x My $L`H x e~ x x c y   x $}LGT G o x | 2y o x |L E o  | *{  | L*F x | x | |  o LE ' x |  o  ' x |  o  ' x |  o  ' x a}  o  1 e~ '  x  x My $LG x e~ x x c y   x $}LFG F o x |LF F |LD D o  | *{  | L1E x | x | |  o LD ' x |  o  ' x |  o  ' x |  o  ' x a}  o  1 e~ '  w  w My $LF x e~ w x c y   x $}LEP E o x |LE C  j}  L!DScreen file not found in drive w  D  }L]D'Please insert the proper disk in drive w  5D  } s D|  | LD Py w Py xLuLB Py x '  x  x My $LE x e~ x x c y   x $}LDK D o x y $8~ 9~ LTC {   L@C1Please insert your application disk into drive 1. C  r }y Tx z  LiCOPEN cC  j} L}C,D zC  w a z  LCREAD C  j}  LD 7C z  LCCLOSE C  z  LCDELETEile name: A  z D zy %w ;| D zy &y )| Cw n q } l} *{   D|  j} LQBLIB HB l}` {   z  LB*Error: No screen layout in memory to save. gB  rLu {   HLB j} 5 B LuLB.S j} 5 B  l} Py x 7C w @  | > 2y TLu {  LTAAPlease give the file name you wish to use for your screen layout. A  LABCODEWRITER will ask you for this name and will save your generated eA  LAapplication under this name. A  LA F e~ -x  L?G x "} ? L`@ x |  x | ^ x }| ^ x | ^ x _}  1 e~ x a x My $L@ 2y e~ -x  L@T x "} @ L@ x |  x | ^ x }| ^ 1 e~ z  L@CLOSEL:? x |  x | ^ x }| ^ x | ^ x _}  1 e~ w a w My $L? 2y e~ -x  Ll?P x "} j? L? x |  x | ^ x }| ^ x | ^ x _}  1 e~ x a x My $Le@ 2yx Py w Py x Py x y w 2y e~ -x  L>K x "} > L;> x y xL@>P x "} >> L_> w y wLd>G x "} b> L> x y xL>T x "} > L> x y x 1 e~ x a x My $L?? 2y e~ -x  L>K x "} > ication disk into drive 1. <  r z  L)=OPEN #=  j} L==,D :=  w a z  Lb=DELETE Z=  j} Lv=,D s=  w a z  L=OPEN =  j} L=,D =  w a z  L=WRITE =  j}  }y Tx Py CLOSE ;  z  L<DELETE  <  j}  L\<6It appears that your application disk is not in drive w  %<  }L<,Please verify that it is correctly inserted. p< } r D|  | L< Py wLuLq; {   L=1Please insert your applv w z $}  v w N{ $}  v w r{ $} LG[ y x v | y o v | x o ,c` w V| $Lb w  } y x v | y o v | x o LW v | x o }y x }  u }y }  }L[ v _} [ L[ v a}L[A [ o L[D v _} [ L,\L$ v w z $} L$Z v a}LZ$ Z o x zy xL[ x y $ v w y $} LcZ v a}LOZ# MZ o x zy xL[ x y $ v w V| $} LYb y wy $ v x My } LZ y x v | }y x o }  u }y }  } ,c` x bbb w y $ } LY }  u }y }  } y x ,c` x y $ v w r{ $} LOY v a}LDYD BY o LWLTYD x y $ v w y  v w z }  v w N{ }  v w r{ }  v v _} RY  v w z $ v w y $} } } } L[ x y x y $} L X y x ,c` x { $ v y wy } L3X v x`LV y wy $ v w N{ $ v w r{ $}  v w y $}  v w z $} } LX y x v | y o v | x o w  } ,c` x y $ v w N{ $} L8b x y $ v w V| $D ]{ |   x { LW ey wL4W x ~{ Ex y D w /y $L4W ey w w  }  } x My  v w by } L6X }  wy $LWLxW wW }LW }  u }y }  } y zy y y Z{ LW }y y x zy x }y v n *x y wy $ v x { $}  v `x 2y e~ -x y   x |LV V o x | 2y o x | 2y o x a}LBV AV o x $}LWV VV o 1 e~  x }y x }y y 2y v }y x Py xLV V }LV V } {  z > 2y T ;| > 2y T | {  LVReading the screen V  ;| x My LhS 1 q~ y w # wL7S wLU {  LcUBWarning: If you want your new field positions to be made permanent  U  LU4you must save your screen before exiting CodeWriter. tU  r K` {  z > 2y T ;| > 2y T |  |  Py n w rx | x | o x | w o rx | } rx | x | o x | } o rx | n w rx | x | o x | w o rx _} } rx a} x _} o x a} } o rx "} } rx $} x "} o x $} } o rx x w lx oLS Please wait - CodeWriter working R  Py w -x y c y i # w w My &L U 2y q~ w 'x   y ox y w x rx }| ny v rx | v v x }| ny v x | v v LT rx }| n w rx | x }| o x | w o rx |  }y  z > 2y T ;| > 2y TLKR9Would you like CodeWriter to reorder your fields? (y/n) R  }y %w 2| &y }y Cw n qLpRYLuRN } 5 nR  v } 5 sR } LR z  LQLRN } 5 R L U {   {  z > | T ;| > | TLPT x "} P L1QL Q^  Q  x | L&Q^ $Q LQL6QD x _} 4Q LoQ x | LdQ../../.. [Q LQLtQA x _} rQ LQ x |  x | u }y }   x _} LQ x |  x | }   1 e~` {  P x | w x }| w w ~{ Ex w > Y| T }y } x |    w ~{ Ex w n w A x | w  }y 4  T 1 } w ~{ Ex w v x |  v zy > Y| T 1 e~` 2y e~ -x   x }|  z > x | u }y T ;| > x | u }y T }y 4  T 1 } x |  w w }y } x |   w ~{ Ex w n w c y A Q{ T 1 } x | w wLcO$ x _} aO LO w ~{ Ex w u }y > z TLO# x _} O LO w ~{ Ex w u }y > y TLPLOT x "} O L} x | w wLN$ x _} N L6N w ~{ Ex w u }y > z TL;N# x _} 9N LoN w ~{ Ex w u }y > y TLPLwNG x "} uN LO x | w x }| w }y } x |    w ~{ Ex w n w c y A x | w w > Q{ T w ~{ Ex w zy > Q{ TLPLMP x "} M LrN x | w x }| w }y } x |    w ~{ Ex w n w c y A x | w  }y 4  T 1 } x |  w w }y } x |   w ~{ Ex w n w c y A Q{ T 1 n w c y A Q{ T 1 } x | w wLL$ x _} L LQL w ~{ Ex w u }y > z TLVL# x _} TL LL w ~{ Ex w u }y > y TLLD x _} L LP w ~{ Ex w u z > u{ T w ~{ Ex w u }y > u{ T w ~{ Ex EAD j  |  L1k z   {   }  | > 2y T rLj 7k {   LGk Ek }  | *{  | Lxk } 5 |  }LOk }  Rw zy Ow Rw { $Lk 2y Ow z   r {   z  LkREAD k  |  LBk | > 2y T in U} 5 i  v U} 5 i } LlLNiL@j CodeWriter not found in drive 1. j } w y $8~ 9~ Lj {  Lj!Please put CodeWriter in Drive 1. kj  r 7k 2y   z  LjOPEN j  | Lj,D1 j  z  LjR }y }   v _}  2y x` i{   v |  v | u }y }   v _}  E{   2y x` {   LuiDo you wish to see the ]i  | Li 'help' screen (y/n) ? i   W}  LiYLiy U} 5 i  v U} 5 i } LjLiNL y  ` {  z > 2y T ;| > 2y T | {  L9hReading the screen - #h  v ^LQh field Jh  v wy  z  Lxh accepted nh  ;| D ]{ |  ` v }|  z > v | u }y T ;| > v | u }y T x wy $L i v |  v | uy `x` y x }y v v ,c` {  z > 2y T ;| > 2y TLugO--------------------------------- COL: ROW: ------------------------------- %g  ` {  z > z T ;| > z TLg w  g  y   {  z > <{ T ;| > <{ TLg w  g e `L2f=You have entered too many fields. The maximum number is 100. e `Ljf+Labels must be at least one character long. >f `LfThis field is incomplete. vf `Lf6The maximum length for numeric and dollar fields is 9. f ` v z Lf P | u }y T }  v | w v }| w y `x v x`LPe)Fields can not occupy more than one line. &e `Le1A field can not start with '.', '/', '#', or '$'. \e `Le"Invalid date in the screen layout. e `LeYour last field is incomplete. ee;fsff |  z > 2y T ;| > 2y TLdPress d  i{  L9dRETURN 2d  E{  Lhd to correct screen layout Md   W} *{  U} Lpd {  z > 2y T ;| > 2y T |  |  x My $Le v }|  z > v | u }y T ;| > vy xLWLb b } v | y o v | x o y x v | 2y o LW {  z > 2y T ;| > 2y T |  |  x My $Lc v }|  z > v | u }y T ;| > v | u }y T i{   }  E{   z   {  z > 2y T ;| > 2y T x #eYee# }y v _} a  v }y v _} a } LW w by $LW w  }L6X v | } o LHb Gb } y xLWL]b } 5 \b Lzb z x ,c` v | } o v $}LbT b o Lb b } v zy v f cx y $` g Py xLb b }LW w  }  }LW x z`Is it ok? (Y/N) `  { &y | %w }y Cw n qL$aYL)aN } 5 "a  v } 5 'a } L_a z  L` }y x hLmaN } 5 ka La Py x ,c` {  z > 2y T ;| > 2y T |  |  v zy v f cx y $` g Py xLa a }La$La$L_ z 9xL_.L`99 y 6x t}  _  `  |L(`$ &` 5 |  | |  z > 2y T ;| > 2y T | {   {  z > 2y T ;| > 2y TL`$The maximum value for this field is `  |  ;| D ]{ |   |  z > 2y T ;| > 2y TL} L_  2y TL%]&Is this a keyboard-entered field (k), \ LO]a program calculated field (p) 0]  |  z > 2y T ;| > 2y TL]or a grand total field (g)? {]  | %w ;| D &y }y Cw n q } |L]KL]PL]G | 5 ]  v | 5 [../../.. } z  [  v v | z } L,\ y x ,c`L1\DL6\A v _} /\  v v _} 4\ } Lv\ v $}Lk\K i\ o La v | z L\ :z x v _} }  } ,c` h |  z > M| T ;| > M| TL\Field# \  v zy ^ {  z > 2yvFLdvKL vML vOL vQL vSL vUL vWL vYL v[L v]L v_L vaL vcL veL vgL viL vkL vmL voL vqL vsL vuL vwL vyL v{LLduLduL uLduL uL uLduLdvLdvLdv LdvL vLdvLdvL vLdv$L v&L v(L v*L v,L v.Ldv3L v5Ldv:Ldv?LdvDL ~eLd~jLd~oL ~qLd~vL uL uL uL uLduL uL uL uL uLduL uL uLduLduLduL uL u~Ld~Ld~#Ld~(L ~*Ld~/Ld~4L ~6L ~8L ~:Ld~?Ld~DLd~ILd~NLd~SL ~UL ~WL ~YLd~^L ~`Ld}L }Ld}Ld}L }L }L }Ld}L }Ld}Ld~Ld~ Ld~L ~L ~Ld~L @$0 P(xX%e&~<f + L M-.O/P?Q78x9{;^}L }L }Ld}Ld}Ld}Ld}Ld| Lt D|  |` | > 2y TL | > 2y T z  L0uCLOSE *u  {  Lc Kx } z   w A 2y T 1 } }y w }y w` w } w @w u }y   w ~{ Ex n sw A 2y T 1 }`Lc@ @@ C#`{ r }  { r }  | LtPress t  i{  L3tRETURN ,t  E{  LXt to continue or Gt  i{  LstCtrl-E lt  E{  Lt to return to menu. t   | *{  |  v D|  | }  v sz  | } L"s sz  LrRETURN r  E{  Ls to continue.  s   | *{  | L"s`Lrs4It appears that the CodeWriter disk I is not present =s }Ls 2y T {   z   sz  } 7}   LqaLrz 7} vw  }y 4 q / v 7} vw  }y 4 r F} Lir 7} vw  }y 4  u ey  }  }Lr 7} vw  }y 4 }  } 1 }` | > 2y T {   z   sz  { r }  { r }  | LrPress r  i{  p Lso w Cz $Lq w z ( v jw /y $} Ln w z (Lso x 1w &Lq (w  ;| > y x c y Q y x x y $LqLxq wq }Lq y x }  } } 5 |  } |  x y x jw /y LsoLn` }  /y $Lr } 9}Lq q } }y w 7z  v w z } Lp x y $ v jw /y $} Ln x y $ v jw /y } LCo y x x y $LmpLbp ap }L|p y x }  } jw /y $Lp b|   ey #y n x c y   t| "w  Lp p Ln (w  ;| > y x c y QLp b|   ey #y n x c y   t| "w   2y    | 2y  |   n wLo (w  ;| > }y y T 2y  Leo do } y x (w  ;| > y x c y Q  | 2y  |   n w w |z $ v w y $}  v x y $} Lo D|  }Lq   {x G x /y $L n ey x x  K}  M} y zy y Z{ LGn K}  L9n 8n M} 2y y 1 D~ 2y   {   z  LonPR#0 jn  z  LnPR#3 n  L jw /y LCo b|   ey #y u }y   t| "w   2y  Ln n } y x t D|  | L {  L,mSet printer to top of form. m  t D|  | L {  LomNow Printing Screen ... Wm  2y   z  LmPR#1 m  *{   z  Lm80N m  *{   Lm m M} 2y y Kx D~ z }  z  LlCLOSE l  r 2y Tx 2y OwL(lEDIT | 5 #l L,#L# x y Ll z   {  LlNo screen in memory to print ! al  rL {   z  Ll>Make sure your printer is properly connected to your computer. l  8e`LԩLcغh8uhHvH` L L L~ 憅 L ʊ8$!  W$Li)$` LY L   hPhQP 8ePQiHHš`hh PȱPʘHH` ,խwqq膸 J즸 , hhlP,q`h8uhv] :  ڢ hgʆbcb KLf/q ߠ :۩q` S0 L,Hh*Mȱڦhwx%ȱH J hwУ8 ewwx𴰺 抦5?wtsʆwx8dedЕБt Z Z ,խvqq ", ȹ,ȹ ,W,qewix8 Z ZCBw U  yUUwyVxz`ЗПwyxz`ywzx`GH o8 UpVUVƠ UVUʆoph3]eФk ЮU 4Г U 5,wЅƩѤ wU! 5Bē唐\tsʆbc83o񁪥pTopȆbcĂbUVdf0Ѓe8oph0L8 MLh8HH`BUUȥViлh8HH`З{y SՠUEowyywxzzxwIy:e \`hH,Hops8otpf,k8UlV*U$f&łkUŁdbUȥcUUŭSVŮKsłEUŁ< UV0ЅUŕȱU喰!0UUdUV0+UiUVmVn̢͊wUV0ЦyyUUݤh.QP$  e LWHhL:5~    eȱeLaL LRwwxȆwxwHw Jhw`w5U,w`,hbhcbwȱbxcȘHH`wȄ wep`0CBe]Q=b`LicbbbE0`Ġ``MMLeڢD ! SL3LH h%LddЉ`?0 HH chh ޥ Yަ`н  eE   ࠰>Ffee0  &ߢEX$ƫv` ꥪLYDcbbwyȱbxz`ݥܦL+3UV UwȱUx`wUȥxU`Ncbbȱb`cbbȥb`cbbȱb8塅堅PEncbbȱbe HH`0S,,hdehUhVhhHHU hehHehUU HHk`UiȱUiuкe& & &eeHHqUȥqUeFdO݅܆`ycbbȱbƫ8pM䡥UȥUU +뺠ЧUV욥VHUHthhЁ HHf ㈱ۺQi e 纼 +뺊i  e HH`iiiHH`(bcbebbePE1b]  0  j=i<<=kbޙץ,,stHʈcbhH ʈpoophMm X RQtPsh`bhH     ~L 8L 8L 8L 8L 8L 8  e8VL 8XL 8ZL 8\L 8^L 8  `e8,L 8.L 80L 82L 84L 86L 88L 8:L 85 THEN STOP"/|"75 NR=0:FS=0:POKE 216,0"/"76 IF FS=0 THEN SS=0:GOTO 78"/"77 SS=1"/"78 IF FS=-1 THEN FS=0"/LN90:SLLN-0LN;"FOR I=1 TO NF:G$(I^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^D."69 POKE 216,0:ONERR GOTO 73".,"70 ? CHR$(4);"Q$;"READ ";GD$;",R1";Q$;":INPUT WW$:NR=VAL(WW$)".@"71 ? CHR$(4);"Q$;"READ ";GD$;",R2";Q$;":INPUT WW$:FS=VAL(WW$)"/J"72 ?CHR$(4);"Q$;"READ ";GD$;",R4";Q$;":INPU^^^^^^^^^^^^^^^C-"65 ? CHR$(4);";Q$;"OPEN ";GF$;",L15,D";DR$;Q$y-"32180? CHR$(4);";Q$;"OPEN ";GF$;",L15,D";DR$;Q$-"66 NM$=";Q$;P$"0.D";Q$-"68 GOSUB 13000 : REM GET GLOBALS FROM /GLB FILE": ^^^^^^^^^^^^^^^^^^^^^^^^^^!. ^^^^^^^^^^^^^Q$;"UNLOCK ";P$".T";Q$(,/DD%23900B,2"50030 ER=1:GOTO 58"l,7"50040 ER=0:POKE216,0:GOTO 58":3980,<"50030 ER=0:GOTO 58",F"50040 ER=1:POKE 216,0:GOTO 58","62 ? CHR$(4);"Q$;"OPEN ";GD$;",L5,D";DR$;Q$-NG04100: ^^^^^^^^^^^^^^^^;";:GET AN$:PRINT AN$"(+DR$"2"3980=+"57 GOTO 50000"o+"58 IF ER=1 THEN ER=0:PRINT CHR$(7):GOTO 56"+#"50000 REM _______ CHECK FOR PROPER DISK _____"+("50010 ONERR GOTO 50040",-"50020 ?CHR$(4);";Q$;"LOCK ";P$".T,D1";Q$;":?CHR$(4);";$0*"32190 POKE 216,0:PRINT CHR$(13):GOTO 90"I*DR$"1"DD%23980+"56 ?CHR$(12):?";Q$;"Make sure the disk which your data is to be on is in drive ";DR$;Q$;":?:?:?";Q$;"Press ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14);";Q$;" to continue. ";Q$4)`"32115 ? CHR$(4);";Q$;"WRITE ";GF$;",R";Q$;";I"G)t"32120 ? VV$"\)"32130 GL(I)=0"p)"32140 NEXT I")"32150 ? CHR$(4);";Q$;"CLOSE";Q$)"32160? CHR$(4);"Q$;"OPEN ";P$;"0.D,L81,D";DR$;Q$*"32170? CHR$(4);"Q$;"OPEN ";GD$;",L5,D";DR$;Q";MMB( "32097 ? CHR$(4);"Q$;"WRITE ";Q$;";NM$;";Q$;",R";Q$;";I"[( "32098 ? T$:NEXT I"( "32099 PRINT CHR$(4);";Q$;"CLOSE";Q$(NG03760($"32100 ? CHR$(4);";Q$;"OPEN ";GF$;",L15,D";DR$;Q$(8"32105 VV$=STR$(0)(L"32110 FOR I=1 TO NG"QD#'H "32080 NM$=";Q$;P$"0.D";Q$='\ "32085 NEXT I:OD=-1"g'p "32089 PRINT CHR$(4);";Q$;"CLOSE";Q$' "32090 ? CHR$(4);";Q$;"OPEN ";P$;"0.D,L81,D";DR$;Q$' "32093 T$=";Q$;Q$' "32095 FOR I=1 TO 80:T$=T$+CHR$(32):NEXT I"( "32096 FOR I=1 TO );"Q$;"WRITE ";GD$;",R3";Q$;":WW$=STR$(";NFNS;"):? WW$"Q& "32055 WW$=CHR$(0)"l& "32060 FOR I=1 TO";MS& "32061 ? CHR$(4);";Q$;"WRITE ";GD$;",R";Q$;";I+4"& "32062 ? WW$"& "32063 NEXT I"& "32065 SS=1"'4 "32070 NR=0:FS=NR:FOR I=0 TO";32045 ? CHR$(13);CHR$(4);";Q$;"CLOSE";Q$;":? CHR$(4);";Q$;"OPEN ";GD$;",L5,D";DR$;Q$%l "32047 ? CHR$(4);";Q$;"WRITE ";GD$;",R1";Q$% "32048 WW$=STR$(0):? WW$"% "32049 ? CHR$(4);"Q$;"WRITE ";GD$;",R2";Q$;":WW$=STR$(-1)::? WW$"8& "32050 ? CHR$(4$(15); ";Q$;"RETURN";Q$;";CHR$(14);"f$ "32020 Y%=PEEK(37)+1:X%=PEEK(1403)+2:L%=5:GOSUB 10:GOSUB 25"$ "32030 IF IN$<>";Q$;"clear";Q$;"ANDIN$<>";Q$;"CLEAR";Q$;" THEN 90"$0 "32065 SS=1"$D "32040 ?:?";Q$;"This will take a little while.";Q$T%X "NC08380Cd(12);[Cx"Now you must enter the computations for ";NC;" computed field";kCNC1ĺ"s";tC"."C:"You may refer to a keyboard-entered field with 'ke' followed by the"D:"field number. For example, field #5 would be 'ke5'. YoIN$"n"5820*BIN$"y"ĺ(7);:62602BJKOB(13);(4);"WRITE ";PN$B"40 FOR I=1 TO NG:READ GK%:GS%(GK%)=I:NEXT I"BOL42:UL%NG:8600: PRINT FI%() AS DATA STATEMENTB(4)B(B<__________ INPUT PC DEFINITIONS __________ CPlar or numeric";(7);:5900%AP%NF4AJK16240YA$ZZ1JK1:FI%(ZZ)SB%P%6220A8IN$;" is already accumulated in gt";ZZ;(7);:5900ALZZA`FI%(JK)SB%P%At(0):8:36,0:"Is this correct (y/n) ? ";AYY%8:XX%25:L%1:140:460B@\SB%((IN$,3))#@pSR$(IN$,2);@FF%2:36,0:(0);\@SR$"ke"SB%0SB%NF6100}@SR$"pc"SB%0SB%NC6140@36,0:(0):8:"*** Invalid value ***";(7):5900@P%0:T$(SB%)"D"T$(SB%)"A"6160A"The chosen field must be dold is to be accumulated in this"H?"grand total field. (ke1 - ke";NF$;e?NC0ĺ", pc1 - pc";NC$;x?" or 'list')"? FF%:1403,0:36,0:GP$(JK);": ";? YY%FF%:XX%(1403)3:L%4:140:460?4FF%2:36,0:SP$;?HIN$"list"İ9240:5820lease wait - loading program..."V>0(13);(4);"BLOAD CHAIN,A520,D1":520"CODE2.BAS">D__________ INPUT GLOBAL DEFINITIONS __________ >N(4)>XNG06440>lFF%4>NF$(NF)>NC$(NC)>JK1NG?(12);:"Please specify which fiel0:50);@=(12);:12:36,25:"Please wait - Loading program"\=(4);"CLOSE":D25660=(12):"Please put the Filewriter disk into drive 1.":::"Press ";(15);"RETURN";(14);" to continue.";:AN$:(0)=13060 >&(12):(0):11:28);"P<|1:36,0:"Which field is your key field (Type 1 - ";NF;" or 'list' to list fields) ? ";<YY%1:XX%(1403)3:L%4:140:460<IN$"list"İ9640:5480<KF(IN$):KF1KFNFĢ3:(0):36,0:(7);"This field does not exist.":5500=3:36,INE ***"+;"11005 ?CHR$(12):GOSUB 12010"G;"11010 IF LE% THEN 90";"12000 REM *** BEGIN THE RECORD DELETE ROUTINE ***";,"12005 ? CHR$(12);:GOSUB 12010:GOTO 90";@"34999 REM *** BEGIN THE RECORD SCANNING FEATURE ***";T(4);h(12);_inue. ";Q$;";:GET A$:IF A$<>CHR$(13)THEN";LN1:LN3;"?CHR$(0):?CHR$(4);";Q$;"RUN MENU.BAS,D1";Q$:LN5;"PRINT CHR$(12):END":"10000 REM *** BEGIN THE FILE LOOK UP ROUTINE ***":"10005 ? CHR$(12);";"11000 REM *** BEGIN THE FILE UPDATE ROUT=STR$(FRN):?WW$";9xLNLN10:LN;"? CHR$(4);"Q$;"CLOSE";Q$^9LNLN10:LN;"ONERR GOTO";LN59LN1;"IF PEEK(778)=47THEN?CHR$(12);";Q$;"Please make sure your application disk is in drive 1.";Q$.:LN2;"IF PEEK(778)=47THEN?";Q$;"Press RETURN to cont ANDFS=0 THEN FS=-1"T8(LNLN10:LN;"? CHR$(13);CHR$(4);";Q$;"WRITE ";GD$;",R1";Q$s8<LN2;"WW$=STR$(NR):? WW$"8PLN4;"? CHR$(4);";Q$;"WRITE ";GD$;",R2";Q$8dLN6;"WW$=STR$(FS):? WW$"8nLN7;"?CHR$(4);";Q$;"WRITE ";GD$;",R4";Q$9sLN8;"WW$";Q$;"u";Q$;"THEN 11000"J7LNLN10:LN;"IF AN$=";Q$;"d";Q$;"THEN 12000"|7LNLN10:LN;"IF AN$=";Q$;"f";Q$;"THEN 32000"7LNLN5:NG051207LN;"IF AN$=";Q$;"v";Q$;" THEN 13200"7LNLN5:LN;"IF AN$<>";Q$;"x";Q$;"THEN";SL8LN5;"IF SS=1OR AN$=";Q$;"d";Q$;568NG0ĺ" OR AN$=";Q$;"v";Q$;Q6L") AND SS=0 THEN 1000"6`LNLN10:LN;"IF AN$=";Q$;"e";Q$;"THEN 1000"6tLNLN10:LN;"IF AN$=";Q$;"l";Q$;"THEN 10000"6LNLN10:LN;"IF AN$=";Q$;"s";Q$;"THEN 35000"7LNLN10:LN;"IF AN$=CHR$(15); ";Q$;"Ctrl-E";Q$;";CHR$(14); ";Q$;".";Q$;";"5LNLN10:LN;"Y%=PEEK(37)+1:X%=PEEK(1403)+2:L%=1:GOSUB 10:GOSUB 25:AN$=IN$"5":AN$=IN$:FF$=IN$"6$LN4;"IF (AN$=";Q$;"e";Q$;" OR AN$=";Q$;"l";Q$;" OR AN$=";Q$;"s";Q$;" OR AN$=";Q$;"u";Q$;" 4LN5;"VTAB 21:POKE 36,0"]4LNLN10:LN;"?";Q$;"Please press the letter corresponding";4" to your choice. Then press ";Q$;";CHR$(15); ";Q$;"RETURN";Q$;";CHR$(14); ";Q$;".";Q$4LNLN10:LN;"?:?";Q$;"To return to this menu, press ";Q$;75"; ITEMSSp! DATA IS IN FI%();S! LAST LINE USED IS EL.cS!NUL%:K10: 10 NUMBERS ON A LINE.qS!N18800~S!NKKNS!OL;" DATA";S!OLOL2S!JK1KS"FI%(JKUL%N);:JKKĺ",";:JKS$"""S8"NNKSL"8620S`"ELOLSt"9T"___OM OF PC DEFINITION ROUTINE. LINES BRANCH TO HEREHR (4);"WRITE ";PN$\R "28050 RETURN"pR "28100 RETURN"R "28500 RETURN"R !(4)R !R4!__________ CREATE DATA STATEMENTS __________ RH! OL IS FIRST LINE NUMBERS\! UL%=NUMBER OF DATA;"RETURN"Q I1NC*Q D%(I)2859010I1Q0 ITQD OL28510:OS$"PZ":UL%NC:9940eQX EL;"RETURN"Ql "80 DIM CS%(NC):FOR I=1 TO NC:READ CS%(I):NEXT I"Q I1NC:FI%(I)SF%(I):IQ OL82:UL%NC:8600: IMBED FI%() AS DATA STATEMENTS1R : BOTT75 GK(IJ)=GL(IJ)+CD(II)-CE(II)"4PT"28080 NEXT II"HPh"28085 RETURN"TP|I1NCiPD%(I)2819010IpPIP"28095 REM CALCULATE CD(PZ) *******"P"28097 REM ASSUMING CD(1)THRU CD(PZ-1) IS CALCULATED"POL28100:OS$"PZ":UL%NC:9940 QEL"28499 REM *** PUT OLD VALUES IN CE()***"ZO"28500 REM *** BASED ON F$(),GL(),CE() ***"O"28505 IF CS%(PZ)=1 THEN RETURN"O"28050 FOR II=1 TO NC"O"28060 PZ=II:GOSUB 28100"O"28065 IJ=GS%(II+NF)"O,"28070 IF IJ=0 THEN 28080"P@"280SU17780(N(4);"WRITE ";P$;".PCF">NEX$:B$A$:12620UN((4);"WRITE ";PN$~N<SF%(I)0:2859010I;"CE(";I;")=";B$NP2859510I;"RETURN":7820Nd(4);"WRITE ";P$;".PCF"NxSF%(I)1:NSNS1:EX$N(4):IN)O(4);"WRITE ";PN$:rentheses"MMtEF6ĺ:"Global total must not reference undefined pc fields"M::"Press ";(15);"RETURN";(14);" to continue ";MAA$:AA$(13)7580M7140M(13);(4);"WRITE ";PN$:2819010I;" CD(";I;")=";A$M2819510I;"RETURN" N20,LEF1ĺ::"You must enter something"cL$EF2ĺ:"Invalid or missing ";SR$;" field number"L8EF3ĺ:"All referenced ke fields must be dollar or numeric"LLEF4ĺ:"Referenced pc fields must be previously defined" M`EF5ĺ:"Mismatched paFKpYY%7:XX%(1403)1:L%60:140:580:C$IN$:IN$""IN$(27)7280aKC$"LIST"İ9240:7140K(0):10:36,0:"Is this correct (y/n) ? ";KYY%10:XX%25:L%1:140:460KIN$"n"7140KIN$"y"ĺ(7);:7320KEX$C$:11260LEF0763)7080JSF%(NC):NS03JI1NC:SI$((I),1)UJ(12);:"Computed field #";IcJC$CP$(I)J (C$,1)" "(C$)1C$(C$,(C$)1):7180J CP$C$J4:"Calculation for '";CP$;"'"JH:"Type 'list' for field numbers."K\:"pc";SI$;" = ";rations."NIX:"You may use parentheses as necessary. All referenced fields"rIl:"must be numeric or dollar."I::"A typical expression might be 'pc2=(ke3+pc1)/gt2'"I24:36,0:"Press ";(15);"RETURN";(14);" to continue ";JAA$:AA$(1h update, use 'pc1=pc1+1'."fH:"Self updating fields are stored on disk, decreasing the number of"H0:"records possible. You are therefore, asked to confirm these definitions." ID::"You may use the operators +,-,*,/ for the four arithmetic opeo define self-referencing fields, i.e. fields that"G:"use their previous value to calculate their new value. You refer to"G:"the field in the usual manner. For example, to make the first program"H:"calculated field increment itself at eac:"the second grand total field is referred to by 'gt2'. Also, a"F|:"complete list of fields is available by entering 'list'."F24:36,0:"Press ";(15);"RETURN";(14);" to continue ";FA$:A$(13)6820F(12);3G:"You are allowed tfield may be used if it is the total of a keyboard entered field"E,:"or of a previously defined program-calculated field. You refer to a"E@:"grand total field with 'gt' followed by the field number. For example,"ET *** COMPUTED DATA ***BFhu may also refer"_D:"to a previously defined program-calculated field as 'pc' followed by"D:"the field number. For example, calculated field #6 may be made to "D:"depend on calculated field #5 by referring to 'pc5'. A grand total"AE:"2400 c-Jc(-P10EF5!c<-1cP- SR$="("=cd-P1P11Hcx-11360Xc- SR$=")"dc-P1P11sc-P10EF5~c-11360c-c- SR$="KE"c-SB%((A$,J2))c.SB%1SB%NFEF2:11360c.T$(SB%)"D"T$(SB%)"A"EF3:11360d,.ND((SB%" IF PCJ IS SELF-REFERENCING 6b8, "GTK" => "GK(K)"`bL,SU0:P10:EF0:J0:A$EX$:A$""EF1mb`,EF0ı~bt,JJ1(A$)b,SR$(A$,J,1)b,SR$"("11620b,SR$")"11660b,SR$(A$,J,2)b,SR$"KE"11740b,SR$"PC"11980c-SR$"GT"1)11180#a+TP$(I)TP$(I)A$:111406a+TX%(I),TY%(I)=a+IQa+(4);"CLOSE":a+__________ EXPRESSION PROCESSOR __________ a+ CHECK SYNTAX AND EXPAND IDENTIFIERS INTO EXPRESSIONSa, "KEI" => "VAL(G$(I))"b$, "PCJ" => "CD(J)" OR "CE(J)(NG)`*I1NG`*GP$(I)""6`*A$:A$(13)10980R`*GP$(I)GP$(I)A$:10940v`*GX%(I):GY%(I):GL%(I):GT$(I)`*GT$(I)"$"DXDX1` +I` +NT:NT011220`4+FG%11100`H+TP$(NT),TX%(NT),TY%(NT)`\+I1NT`p+TP$(I)""a+A$:A$(13C),CL%(NC),CT$(NC)_)I1NC,_)CP$(I)""D_)A$:A$(13)10760`_)CP$(I)CP$(I)A$:10720_*CX%(I):CY%(I):CL%(I):CT$(I)_*CT$(I)"$"DXDX1_0*I_D*NG:NG011040_X*ZFNGZFNG_l*FG%10900`*GP$(NG),GX%(NG),GY%(NG),GL%(NG),GT$A$(13)10520*^)PR$(I)PR$(I)A$:10480J^)X%(I):Y%(I):L%(I):T$(I)^,)SD$(I)(DT$,L%(I)):T$(I)"D"SD$(I)"""../../..":DZ1^@)T$(I)"$"DXDX1^T)RSRSL%(I):I^h)NC:NC010820^|)ZFNCZFNC^)FG%10680_)CP$(NC),CX%(NC),CY%(N((4);"CLOSE"+]((4);"OPEN ";SF$;",D";D7]((12820M]<((4);"READ ";SF$^]P(EL33010:NFh]d(ZFNF]x(ER5ER6ER0:216,0:980](216,0](FG%10430](PR$(NF),X%(NF),Y%(NF),L%(NF),T$(NF),SD$(NF)](RS5](I1NF](PR$(I)""^(A$:OSUB";\8'IJ1L'\L'(D%(IIKIJ));7\`'IJLĺ",";?\t'IJG\'""O\'II^\'ELOLII2\'EL;"REM ***": DEFAULT END LINE OF SECTION\'\'__________ READ SCREEN FILE __________ \'(12):11:28);"Reading Screen File ..."\'(0)]E THE END LINE TO THE CODEA[& GENERATED. LINE EL IS "REM ***"m[&K6:NL%(UL%1)K: K LINE #'S / GOSUB{[&II0NL%[&LK:IINL%LUL%IIK['OLII2;"IF ";OS$;"<=";IIK;"OR";OS$;">";IIKL;"THEN";OLII22\$'OLII21;"ON";OS$;"-";IIK;"G$(13)9780ZH&NZ\&_____ CREATE MULTI-LINE FIELD TRANSFER ROUTINE _____ Zp& IE ALL THOSE LINES READING "ON UF - 8 GOSUB ETC."Z& OL=STARTING LINE NUMBERZ& OS$=VARIABLE INDICATING FIELD, EG "UF"[& LINE #'S ARE 2 APART. EL IS SET TO B%.Y%__________ LIST KE FIELDS __________ aY%(12);(15);"Keyboard-entered fields:";(14);oY%J1NF2Y%:J;"-";PR$(J);Y%JNFĹ36,38:J1;"-";PR$(J1);Y &JY &(0):24:36,0:"Press ";(15);"RETURN";(14);" to continue."; Z4&AA$:AAX$JX$NG09580@X%::(15);"Grand total fields:";(14)NX%J1NG2kX0%:"gt";(J);"=";GP$(J);XD%JNGĹ36,38:"gt";(J1);"= ";GP$(J1);XX%JXl%(0):24:36,0:"Press ";(15);"RETURN";(14);" to continue ";X%AA$:AA$(13)9600Y(14);W,$J1NF21W@$:"ke";(J);"=";PR$(J);^WT$JNFĹ36,38:"ke";(J1);"= ";PR$(J1);eWh$JtW|$NC09460W$::(15);"Program calculated fields:";(14);W$J1NC2W$:"pc";(J);"=";CP$(J);W$JNCĹ36,38:"pc";(J1);"= ";CP$(J1);FIND VALID NUMBER IN BK$ __________ MV#OK1:DC0:J1(BK$):M$(BK$,J,1)V#(M$"0"M$"9")(M$".")(M$"-"J1)OK0V#M$"."DCDC1V#J:DC1OK0V#V$__________ LIST FIELDS __________ W$(12);(15);"Keyboard-entered fields:";#OK1:J1(BK$):(BK$,J,1)"0"(BK$,J,1)"9"OK0?U#J:U(#_____ CHECK FOR QUOTES AT ENDS OF BK$, BUT NOT INSIDE _____ U<#OK1:(BK$)3OK0:UP#J2(BK$)1:(BK$,J,1)Q$OK0Ud#J:(BK$,1)Q$(BK$,1)Q$OK0Ux#$V#__________ __ LOOK FOR COMPARISION OPERATORS AT START OF BJ$ _____ NT"OK0:(BJ$)2ıT"L$(BJ$,1):L$"<"L$">"L$"="BK$(BJ$,2):OK1T"L$"<"(BJ$,2,1)">"(BJ$)2BK$(BJ$,3):OK1T"T"__________ CHECK FOR ALL DIGITS IN BK$ __________ 6U