' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]LF L}BBL] X  ` 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` ``>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠHIHHHHhHH݌hHhHh݌H6 VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   LDcpq` [` ~  LӜu`".Q`pNФbptťܥm2<(-Py0\|e<6e<g< JJJJj귍hI  aUL@ kU8  L  Q^R(jQ0l^l\  wUuW ԧ H h@ [_ /QSIRb_L`LLLL`ª`LQLYLeLXLeLee ўQH\(h0L& Ꝥ$`( R \ZLl8 ўR HH\`\Z[YS6`LxQɿu3'RͲʎRʎ]]]ɍuL͟ɍ}RLRɍg^H8 ^hZLɍR LͲɊRR% QLܤͲ Z@ -^ ş\[Z QY\[Z8`l6Lş_Ȍb_Ͳ] )Y h( ֭ͲLɍ [LLĦ__ ^ 9 LҦ3 9 a   0LjLY u< (_9 ˭ɠuɠK_9 ?LˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^Lõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!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- ( 1   Ϡ-@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈ۭm浍浭m䵍䵩m嵍`"L ŵ8ŵH ~(` d ֠z# u`N$"F"10&!}AN$"F"33000C&#}"THIS WILL TAKE A LITTLE WHILE."]&%}60900: CREATE INDEXo&(}41150:41100z&)}AZ$""&*}I1255:AZ$AZ$(127):I&2}I0XX(1)&3}D$;"WRITE ";FI$;",R";I&4}RL0&5}JI1XX(3)'7}RLXX(JI3)245ĺ(AZ$,RL):RL THE HASHED FILE*****s% }:"INITIALIZE FILE :";::"*** WARNING ***":::"THIS WILL ERASE ALL PREVIOUS ENTRIES!"%}:"C - CONTINUE INITIALIZATION":"F - FIX INDEX BASED ON DATA FILE"%}:"CHOOSE ONE (C,F, ANY FOR MENU) "; &}AN$:AN$:AN$"C"A:I2I9:I10I20E1:b$XuB$CD$:A$".":41000:I1I9:B$(B$,I11):41000:I2I9:I10I20E1:h$bu$y****ALPHA FIELD EDIT CHECK SUBROUTINE****$yZZ1(CD$)$"y((CD$,ZZ,1)"9"(CD$,ZZ,1)"0")E1:$,yZZ$6y%}***********INITIALIZEOUTINE***G#0uB$CD$:A$(32):41000:CDI9:CD1CD$(CD$,CD1):30000e#2uCD1CD$(CD$,2):30000v#5uZZ1(CD$)#:u(CD$,ZZ,1)"0"(CD$,ZZ,1)"9"ĭ(CD$,ZZ,1)"."(CD$,ZZ,1)"-"E1:#DuZZ$NuB$CD$:A$"-":41000:I1I9:B$(B$,I11):41000ES,P=PRINT) ";:AN$:AN$3"qAN$"P"İ16000:29070V"qAN$"Y"İ27040:28000:29000\"qg"qX0ır"qI1X~"qR$,R,C"qCVR:HVC:RLRLRR"qD1R$G$(I)"qD2R$(CD(I))"qCV:HV:R$"qI: #/u******NUMERIC FIELD EDIT CHECK SUBR,(ZZ$))ZZ$ı*!i"RECORD NOT FOUND":10R!_m*******UNPACK FIELDS IN RECORD****r!`mQZ1XX(3):G$(QZ)F$(QZ):x!Fq!Gq*******DISPLAY FOUND RECORD******!Hq!qX0:!qAN$"S"ı!qAN$"A"UP0ı!qUP0ı"q23::23:"IS THIS IT ? (Y=Y):1002:KF$G$(XX(0))% iEM027010U iZZ$KF$:KY$ZZ$:62200:(FD1)27057:27053 i******WE HAVE NOW INPUT THE KEY FIELD***** iZZ$KF$:26000:GO TO HASHING ROUTINE, GET POSITION i62960:IPIN(FL,0)IN(FL,2)27057 i40000!i(F$(XX(0))NUMBER IS ";ERR:D$;"CLOSE":He****HASHING ALGORITHM SUBROUTINE****]eX0:ZZ1(ZZ$)weXXZZ((ZZ$,ZZ,1))eZZeX(X):X$(X):RP((X$,5,4)):X0eRP(XX(1)RP9999):xi******LOOK FOR RECORD SUBROUTINE**** iRT1:EM0:FCXX(0CR);::/a********BEGIN ERROR ROUTINE******IaERL(218)(219)256ka(222)5ĺ"END OF DATA.":10a"ERROR ENCOUNTERED IN LINE";ERLaERL256ERL15ĺ"YOU HAVE PROBABLY MADE A SYNTAX ERROR IN EDIT SPECIFICATIONS"aERR(222)a"ERROR :: MASS UPDATE #10":P> ****** DISPLAY RECORD ON PRINTER ******>1::D$;"PR#1"::"**** ";SL$;" ****":SD1024110440:SL07:SMSL128SD:16050::SL,SD>D$;"PR#0":255:>200:SPSMSM39:CR(SP)128:CR32CR32>(0,15000:7 MASS UPDATE #1%w7;x7 MASS UPDATE #2A7W7 MASS UPDATE #3]?8s@8 MASS UPDATE #4y88 MASS UPDATE #599 MASS UPDATE #6k9l9 MASS UPDATE #799 MASS UPDATE #83:4: MASS UPDATE #9!6 *** MASS UPDATE TITLES ***K614050:UX1UC:TB:UX;" ";UP$(UX):W6UC0ı6:"ENTER YOUR SELECTION :";UP$:UP(UP$):UPUC14045:UP114045:6 *** UPDATE TITLES ***6 7UP14100,14200,14300,14400,14500,14600,14700,14800,149041460014699:$41470014799:741480014899:J41490014999:]41500015099:5::"UPDATE FILE":::14040:UP0ı535000:613130:"SAVE ";(F$,(F$)4):"RUN":D$:D$;"CLOSE"6D$;"CLOSE":6 *** MASS UPDATE CODE ***::"LIST UPDATE FORMAT":::14040g4UP13521,13522,13523,13524,13525,13526,13527,13528,13529,13530y4UC1UC10ı4:"-HIT ANY KEY-";::UP$:1300041410014199:41420014299:41430014399:41440014499:41450014599:D$;"CLOSE"3D$;"CLOSE"3::"DO YOU WANT TO ADD THIS UPDATE FORMAT"::"TO THIS PROGRAM? (Y/N) ";:UP$:UP$:UP$"N"13000:UP$"Y"13210:132003D$;"EXEC AUTO/EXEC":130003"-NOT AVAILABLE-":"HIT ANY KEY";:AN$:4 *** LIST ***#4;"UP$(";UC;")=";Q$;UD$;Q$:"13003 UC=";UC^^3D$::"LET'S BEGIN NOW. ENTER 999 TO END.":CL1_3:"CALCULATION #";CL;" :";:CL$c3CL$"999"13198e313130:14000UC100CL;CL$:D$h3CLCL1::13151 313130:"SAVE ";(F$,(F$)4):"RUN":D$:1:IN(FL,2)062190'6XBTIN(FL,2)Y6IPIN(FL,0)X1:63100:KP:IPIP1:63150:KP_6p663400:D$:6 === SEARCH RECORD ===6*KY((KY$,1))31:635006IN(FL,2)0FD1:BT1:6TPIN(FL,2):BT16BTTPMD(BTTP)27$BTTPFMDIN(FL,2)62050,5XIN(FL,2)1MD1I56IPIN(FL,0)X:63100:KP`5IPIP1:63150:KPf55b63400:IPIN(FL,0)MD:63150:NR:D$:5 === DELETE INDEXED RECORD ===5KY$ZZ$: KEY PASSED FROM P/W562200:FD1ı6IN(FL,2)IN(FL,2):IPX32!463150:200XASAS84BIPIP1:63150:ASN4tIPIP1:63150:0f4D$::D$;"CLOSE":4 === CREATE INDEXED RECORD ===4KY$ZZ$: KEY PASSED FROM P/W4 622004(G$(SF))(SM$)(G$(SF))(LR$)35420T+H29000d+MUP035416+R23:"TO EXIT DEPRESS X,ANY OTHER TO CONTINUE";:SS$:SS$+WSS$"X"35450+XXX+\K+z41120+}UP0ı+10,@ *** INPUT FIELD ASSIGN63500:IN(FL,2)035420A*XX1IN(FL,2):IPIN(FL,0)XX:63100`*K$:RP(K$):40000:35330p*RPK:40000*F$(XX(0))(121)35420* 28000*UP0İ14099:I1XX(3):40050::41300:42000*ST$"A"35400* SN$"N"35390+*G$(SF)LR$IS THE SMALLEST ITEM TO SCAN ";SM$Q):"WHAT IS THE LARGEST ITEM TO SCAN ";LR$)SM$(SM$,XX(SF3)):(SM$)XX(SF3)āI(SM$)1XX(SF3):SM$SM$" ":)LR$(LR$,XX(SF3)):(LR$)XX(SF3)āI(LR$)1XX(SF3):LR$LR$" ":*K164:KYK:FL1:AN ALL OR SELECTED RECORDS (A/S) ";:ST$:ST$J(ˆST$"A"ST$"S"35000](LjST$"A"35310c(̈(ֈ:"WHAT FIELD NUMBER DO YOU WISH TO SCAN BY ";SF$:SF(SF$)(:"NUMERIC OR ALPHA SCAN (N/A) ";:SN$:SN$(ꈭSN$"N"SN$"A"35040"):"WHAT 0$'<}RLRLXX(JI3):JI:(AZ$,RL)5'F}I:41120:1m'耰60900:41100:63050:QZ1XX(1):NRQZ:RPQZ:40000'A$(127):LL(IN$):16:IN$B$33030'ZZ$F$(XX(0)):KY$ZZ$:61400':1'*********BEGIN THE RECORD SCANNING FEATURE**-(::"SCGER,STORED IN TWO SPACES"D#R"C=CHARACTERS, STORED IN ASCII FORM."J#\P#f#p"TO THE 'PROMPT' QUESTION, TYPE IN THE":"MESSAGE THE OPERATOR WILL ANSWER."#z##"HIT ANY KEY TO CONTINUE....";:A$: $:"TYPE 'HELP' TO REPEAT THESE DIROR EACH":"FIELD. TO DO THIS, WE WILL ASK A SERIES"Y""OF QUESTIONS ABOUT EACH FIELD."_"e" "" TO THE QUESTION 'KIND OF DATA' THE":"POSSIBLE RESPONSES ARE:"" "*"N=NUMERIC DATA, STORED AS CHARACTERS.""4#>PRINT"PI=PACKED INTE!D$!2025:23801!:NA$""ĺNA$;", ";w!P$"HELP"EM$"HELP"BI$"HELP"K$"HELP"ĺ"THIS SHOULD HELP..."!(27)0ĺ3""NOW WE MUST DESCRIBE THE INPUT PROMPTS":"THE OPERATOR WILL SEE, THE EDITS TO BE":"PERFORMED ,AND THE KIND DATA F": REM XX(0)=FIELD NUMBER, DR$=DRIVE NUMBER, FI$=DATA FILE NAME"F L R X ^ d j &p 0v :| D X b l v         LN1000:PRINTLN;"HOME:REM*********BEGIN ENTRY*******"" ,6@J*^D%(200)0h6r<|BHNT\D$fXA:"KEY FIELD IS FIELD NUMBER ";KFKF1KFXĺ"THIS FIELD DOES NOT EXIST.":173060@ "26 XX(0)=";KF;":DR$=";Q$;DR$;Q$;":FI$=";Q$;DF$;Q$;"/2):";"INVERSE:";"PRINT "Q$;TI$;Q$;":NORMAL"39?EKQW]jLN230:OO$"Y"LNLN10:LN;"PRINT:PRINT";Q$;"TO RETURN TO THE MENU TYPE '";OT$;"'";Q$;":PRINT";Q$;"FOR AN ENTRY INTO ANY FIELD.";Q$I1x:LNLN10:LN;"GOSUB 41100:REM OPEN FILE"LNLN10:SLLN:LN;"FOR I=1 TO XX(3) :G$(I)=";Q$;Q$;":NEXT I:FC=0:HOME:UF=0:G$=";Q$;Q$LNLN10:LN;"PRINTSPC(4)";Q$;"PRODUCED BY THE PROGRAM WRITER";Q$;":PRINT"-LNLN10:LN;"HTAB (20-";(TI$);S XX(2)=REC LEN XX(3)=#OF FIELDS XX(I)=FIELD LEN 1 TO ";A|2LNLN10:LN;" XX(1)=";MS;":";" XX(2)=";RS;":";" XX(3)= ";A<LNLN10:LN;FI1APAIF(F$(I))1:F$(I)(F)Z" XX(";I3;")=";F$(I);":";d(I10)I10ĺ:(I10)LN;n"999"1300Q"IS THIS FIELD SIZE OK(Y/N)";EX$:EX$"N"EXEX(F$(A))::1180dEX$"Y"1240RSEX1AA1::1300"OK, YOU HAVE ";RSEX;" SPACES LEFT." AA1:1180LN70:60<(AA1:LNLN10:LN;"REM XX(1)=#OF RECD'";A;" USES: ";:LL3:CV(37):HP15:CVCV1:6170:F$(A)B$(F$(A))1((F$(A))255(F$(A))999)ĺ"YOU MUST ENTER A VALID FIELD LENGTH.":1180EXEX(F$(A)):EXRSF$(A)"999"ĺ"EXCEEDS RECORD LENGTH. TRY AGAIN.":EXEX(F$(A)):1180 F$(A)RROR MESSAGES TO":"REMAIN ON THE SCREEN":"PERMANENTLY? (Y/N) ";ER$:ER$"Y"ER$"N"1174bER$"N"ĺ"HOW MANY SECONDS DO YOU WANT":"ERRORS TO BE DISPLAYED";:"? (1-20) ";SC$:SC(SC$):SC0SC201176(37)15ė9"FIELD #:"YOU HAVE ";RS;" SPACES IN EACH RECORD.";:::"TYPE IN 999 TO LEAVE SPACE UNALLOCATED"`~::"HIT ANY KEY TO CONTINUE";::A$A1:"DO YOU WANT ERROR MESSAGES":"TO BEEP ? (Y/N) ";BL$:BL$"Y"BL$"N"1172\"DO YOU WANT EN BE STORED IN TWO SPACES ON DISK AS PACKED INTEGERS (PI)."BBHLV"PLEASE TAKE CARE TO ALLOCATE THE RIGHT NUMBER OF SPACES. NOW, YOU MUST TELL ME HOW MUCH SPACE TO ALLOW FOR EACH FIELD."`jZt"YOU MUST PROCEED FROM LEFT TO RIGHT.": FILE I/O CALLS ===99JD$;"OPEN ";N$(FL);"INDEX,L";LN:_9|D$;"READ ";N$(FL);"INDEX,R";IP:9D$;"WRITE ";N$(FL);"INDEX,R";IP:9D$;"CLOSE ";N$(FL);"INDEX":D$:9 **** WRITE INDEX ****9IPKY32:63150:IN(FL,0):IPIP1:63150:IN(F)1ıF8IPIP1:BTBT1:63100:NR:RPNR:40000:KY$F$(XX(0))62915t8IPIP1:BTBT1:63100:NR:RPNR:40000:8 ==== NEXT RECORD ====8IPIN(FL,0)IN(FL,2)BTBT1:629808IPIN(FL,2)IN(FL,0)1:8IPIP1:63100:RP:40000:9 ===D1:7VMD(MD)47IPMDIN(FL,0):63100:KP:D$r7RPKP:40000:KK$F$(XX(0)): READ HASHED RECORD FROM P/W 7PKK$KY$FD3:(AN$"F"AN$"E")62910:7KK$KY$TPMD1:624507KK$KY$BTMD1:624507 ==== REWIND ====8IPIN(FL,0TE":6330:I903015"3 D$:319043 CA$"N"30153 LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB 30100:IF E=1 THEN VTAB ";RR$;":HTAB ";CC$;":EM$= ";Q$;EM$;Q$;":GOTO ";BL:28804 LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB 30100:IF E=1 THEN EM$= ";Q$;EM$;Q$;":29302| 24302 60C2 B$BI$:A$"NOT NUMERIC":6330:I903020n2 B$BI$:A$"NOT ALPHA":6330:I9030502 B$BI$:A$"NO ENTRY":6330:I9030802 B$BI$:A$"CONTAINS":6330:I9031102 B$BI$:A$"LENGTH":6330:I9031603 B$BI$:A$"NOT DALN;"IF LEN(G$(";I$;"))>XX(";(I$)3;") THEN EM$= ";Q$;"MAX LENGTH EXCEEDED";Q$;":GOTO ";BL1c LNLN10:LN;"IF LEN(G$(";I$;"))VAL(G$(";I$;")) THEN PRINT";Q$;"MUST BE WHOLE NUMBER. ";Q$;":GOTO";BLx06 0@ D$0J CV(37):CV15ė0O BL500000T BI$"":"BAD INPUT IF:";:BI$0W BI$""İ60:33200Y BI$""ī2920[1^ 60:LNLN10:K: / / K$"PI"LNLN10:LN;"IF VAL (G$(";I$;")) > 4559 OR VAL (G$(";I$;")) < - 4559 THEN PRINT ";Q$;"NUMBER OUT OF RANGE MUST BE FROM -4559 TO 4559.";Q$;": GOTO ";BL/" K$"PI"LNLN10:LN;"IF G$(";I$;")=";Q$;"0";Q$;"THEN";LN20r0, K$LID ROW":"MUST BE BETWEEN 1 AND 23":2460;. G$RR$:2800. (CC$)1(CC$)40ĺ"INVALID COLUMN ADDRESS":"MUST BE BETWEEN 1 AND 40":2460. G$CC$:2800. . K1(G$). (G$,K,1)(47)(G$,K,1)(58)ĺ"ILLEGAL SCREEN ADDRESS":2460/ ;I$;"):A$=";Q$;"LESS";Q$;":HP=4:GOSUB 41000:G1=I9:IF G1>0 THEN G%=INT(VAL(G$)-VAL(G$(";I$;"))):G$(";I$;")=STR$(G%)"}- 2830- RR$"":CC$""- J15- (CP$,J,1)"-"2740- J- RR$(CP$,J1):CC$(CP$,(CP$)J)*. (RR$)23(RR$)1ĺ"INVANT":IF G$(";I$;")=";Q$;OT$;Q$;"THEN";SL9,Z K$"PI"2670,n K$"PI"ĺLN1;"IF UF<>0 THEN B$=G$(";I$;"):A$=";Q$;"MORE";Q$;":HP=4:GOSUB 41000:G1=I9:IF G1>0 THEN G%=INT(VAL(G$(";I$;"))+VAL(G$)):G$(";I$;")=STR$(G%)"s-x K$"PI"ĺLN2;"IF UF<>0 THEN B$=G$(" THEN PRINT BL + 1;"IF UF<>0 AND G$=";Q$ ;Q$;"THEN G$=G$(";I$;")"+F LN=LN + 10: PRINT LN;"INPUT";Q$;" ";Q$;";G$(";I$;")";: D%(I) = LN: IF OO$ = "N" THEN PRINT : GOTO 2650 +K D%(I)LN10:**TEST**',P PRI2)(K$"PS"L4)ĺ"INCORRECT FIELD LENGTH FOR VARIABLE TYPE.":2550X* CA$"N"2610* LNLN10:60:LN;"VT=";RR$;":HT=";CC$;":PP$=";Q$;P$;Q$;":GOSUB 51000":BLLN*( 2620*2 LNLN10:60:LN;"PP$= ";Q$;P$;Q$;":GOSUB 51010":BLLNY+< IFK$ < > "C"LEGAL ENTRY.":25000) SLP$"Y"SLP$";":2550<) SLP$"") K$"":"KIND OF DATA :";:LL4:CV(37):HP13:CVCV1:6170:K$B$:K$"HELP"İ2025:2550) K$"N"K$"PI"K$"C"ĺ"INVALID DATA TYPE:PLEASE ENTER N, PI, OR C ONLY.":2550F* (K$"PI"LCV1:"APPEAR WHERE ON THE SCREEN? (R-C)";CP$^( (CP$)5(CP$)3ĺ"INVALID ADDRESS":2460j( 2700:( CV(37):CV19ė( CVCV1:"DO YOU WANT THE ANSWER TO APPEAR ON THE SAME LINE AS THE PROMPT? (Y/N) ";( SLP$) SLP$"Y"SLP$"N"ĺ"ILL(F$(I)):Lb'` P$"":"PROMPT:";:LL31:CV(37):CVCV1:HP7:6170:P$B$:P$"HELP"İ2025:2400l'j 2430v't 2500'~ CA$"":"DO YOU WANT TO USE CURSOR":"ADDRESSING? (Y/N) ";CA$' CA$"Y"CA$"N"2430' CA$"N"ı' CV(37):CV19ė.( CVOR WILL SEE IF THAT":"ERROR MESSAGE IS MADE."4&. &8 "YOU MAY SIGNAL COMPLETION OF THE EDITS":"BY JUST HITTING THE ENTER KEY WITHOUT":"ENTERING ANY EDIT."::"HIT ANY KEY FOR MORE";::&B PZ$:&L :I1A:I$(I) 'V :"FIELD #";I;" LENGTH=";:NOT NUMERIC NO ENTRY LENGTH >"+%a%"NOT DATE NOT DO LLAR LENGTH <"g%% "NOT ALPHA CONTAINS";Q$;"Z";Q$% % "PRESS ANY KEY TO CONTINUE";:TT$:.&$ "TO THE QUESTION 'ERROR MESSAGE', TYPE":"MESSAGE THE OPERATECTIONS";::s$"TO THE QUESTION 'BAD INPUT IF',YOU MAY":"ENTER AS MANY STATEMENTS AS YOU LIKE OF":"THE FORM:"y$$">999":$$"<";Q$;"A";Q$;::"NOTE THE QUOTES AROUND ALPHA EDITS";::$$"=1000 <=4 >=5 <>6"$%%""FIELDS. REMEMBER THAT ALL FIELDS"::"USED IN THE CALCULATION ARE IN":C"STRING FORM. BESURE TO TAKE THE VALUE"::"(VAL) OF THAT FIELD. TYPE 999 TO END":C:"HIT ANY KEY TO CONTINUE";:WW$C:CI1300FD"DISPLAY OR STORE CALCULATIO:"NOW YOU MUST TELL ME THE TITLE THAT"::"WILL EXPLAIN THE COMPUTED DATA. YOU":B"WILL BE ASKED WHAT CALCULATION"::"YOU WANT PREFORMED FOR THAT TITLE.":B"YOU MUST HAVE CD(I) ON THE LEFT SIDE"::"OF THE EQUALS SIGN. USE G$(I) FOR THE"IC:?Aj"DO YOU WANT ANY TITLES FOR DISPLAYED":"DATA? (Y/N) ";TD$[AtTD$"Y"TD$"N"3690nA~TD$"Y"İ7120xA7220A::"DO YOU WANT TO DISPLAY ANY COMPUTED"::"DATA? (Y/N)";DC$:DC$"Y"DC$"N"ĺ"INVALID ENTRY":3730ADC$"N"4010RB: @ @ @ @ @&@.@$D$:@.H$(50)@@8u@B"DO YOU WANT ANY HEADERS DISPLAYED? (Y/N) ";DS$@LDS$"Y"DS$"N"3650@QDS$"Y"ĺ:"DO YOU WANT HEADERS DISPLAYED":"ON THE INPUT SCREEN? (Y/N) ";PE$@VDS$"Y"İ6960@`:",";::D%(120)10`?r "1005ON(FC>120)*(FC-120) GOSUB";:I121159:D%(I)10;",";::D%(160)10?t "1007ON(FC>160)*(FC-160) GOSUB";:I161199:D%(I)10;",";::D%(200)10?z "1009 GOTO ";LN10? ? ? ? ? ? ? ? ? @>4 >> >H 0>R I1200:D%(I)0D%(I)106>S T>W "1002 EM=0:ON FC GOSUB";|>\ I139:D%(I)10;",";::D%(40)10>f "1003 ON (FC>40)*(FC-40) GOSUB";:I4179:D%(I)10;",";::D%(80)10?p "1004ON(FC>80)*(FC-80) GOSUB";:I81119:D%(I)10;B 47000:G$(";I$;") = A$"^= K$"PI"ĺRL28000;"A$=F$(";I$;"):GOSUB 47050:G$(";I$;")=STR$(A)"d= j= p= = IFK$ = "N" OR K$ = "C" THENPRINT RL + 28000;"G$(";I$;")=F$(";I$;")" = RL=RL+10= LNLN10:LN;"RETURN"= D$= I= 60=* LNLN10:LN;"IF VAL(G$(";I$;"))";BI$;"THEN EM$= ";Q$;EM$;Q$;":GOTO";BL:2880< LNLN10:K$"PI"ĺLN;"IF AN$ = ";Q$;"E";Q$;"THEN A = VAL(G$(";I$;")): GOSUB 47000: G$(";I$;") = A$"= K$"PI"ĺ"11900+I IF UF < > ";I$;" THEN A =VAL(G$(";I$;")):GOSU;":EM$= ";Q$;EM$;Q$;":GOTO";BL:2880; LNLN10:LN;"IF VAL(G$(";I$;"))";BI$;"THEN VTAB ";RR$;":HTAB";CC$;":EM$= ";Q$;EM$;Q$":GOTO ";BL:2880; B$BI$:A$(34):6330:CI9:C0LNLN10:LN;"IF G$(";I$;")";BI$;"THEN EM$= ";Q$;EM$;Q$;":GOTO";BL:2880O<:v B$BI$:A$">":6330:I1I9:B$BI$:A$"<":6330:I2I9:A$"=":6330:I11I21I91ĺ"SYNTAX ERROR. REPEAT COMMAND, PLEASE.":2880: 60: CA$"N"3240$; B$BI$:A$(34):6330:CI9:C0LNLN10:LN;"IF G$ (";I$;")";BI$;"THEN VTAB ";RR$;":HTAB";CC$330:FHI9:LNLN10:LN;"IF LEN(G$(";I$;"))";(BI$,FH6);"THEN VTAB ";RR$;":HTAB";CC$;":EM$= ";Q$;EM$;Q$;": GOTO ";BL:FH0:28809l B$BI$:A$"LENGTH":6330:FHI9:LNLN10:LN;"IF LEN(G$(";I$;"))";(BI$,FH6);" THEN EM$= ";Q$;EM$;Q$;":GOTO";BL:FH0:28800:28808D FH1FH$(BI$,FH1):LNLN10:LN;"B$=G$(";I$;"):A$=";Q$;FH$;":GOSUB 41000:IF I9>0 THEN EM$= "Q$;EM$;Q$;":GOTO";BL:FH0:28808N D$:"SYNTAX ERROR. CONTAINS SHOULD NOT BE SET OFF BY QUOTES.":28808X CA$"N"31809b B$BI$:A$"LENGTH":6BI$,FH1)" "(BI$,FH1):B$BI$:6330:I91ĺ"YOU FORGOT THE SECOND QUOTE!":FH0:2880i70 CA$"N"31408: FH1FH$(BI$,FH1):LNLN10:LN;"B$=G$(";I$;"):A$=";Q$;FH$;":GOSUB 41000:IFI9> 0 THEN VTAB ";RR$;":HTAB";CC$;":EM$= ";Q$;EM$;Q$;":GOTO ";BL:FHLN10:LN;"IF LEN(G$(";I$;"))=0 THEN VTAB ";RR$;":HTAB";CC$;":EM$= ";Q$;EM$;Q$;":GOTO ";BL:28806 LNLN10:LN;"IF LEN(G$(";I$;"))=0 THEN EM$= "Q$;EM$;Q$;":GOTO";BL:28806& B$BI$:A$Q$:6330:FHI9:I91ĺ"YOU FORGOT THE QUOTES":FH0:2880W7+ BI$(CA$"N"30705 LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB 31000:IF E=1 THEN VTAB ";RR$;":HTAB";CC$;":EM$= ";Q$;EM$;Q$;":GOTO ";BL:28805 LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB 31000:IF E=1 THEN EM$= ";Q$;EM$;Q$;":GOTO";BL:28805 CA$"N"ī3100a6 LNGOTO";BL:2880 4 CA$"N"30404 LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB 30000:IF E=1 THEN VTAB ";RR$;":HTAB ";CC$;":EM$= ";Q$;EM$;Q$;":GOTO ";BL:28804 LNLN10:LN;"CD$=G$(";I$;"):E=0:GOSUB 30000:IF E=1 THEN EM$= ";Q$;EM$;Q$;":GOTO";BL:2880 5 :"FILE YOU WANT TO TRANSFER TO ";:S(ZF$:ZF$" "5190VS2ZF$;:FI$FI$ZF$:5160cS<">";FI$vSF(FI$)15150~SP:SZ"WHAT DRIVE IS THE DATA FILE ";FI$;"":Sd"ON? (USE D1,D2....D6) ";DT$Tn(DT$,1)"D"((DT$,2,1))1((DT$,2,1))ORY. AFTER"TR"IT IS DONE LOADING YOUR PROGRAM,":"IT WILL THEN SAVE IT FOR YOU."R"WHEN THE PROMPT APPEARS AT THE":"TOP OF THE SCREEN IT IS DONE. YOU"R"CAN THEN TYPE RUN TO RUN YOUR PROGRAM."R#S::"YOU MUST TELL ME THE NAME OF THE":"HOME"QD$;"CLOSE"\Q:"YOUR PROGRAM HAS BEEN CREATED. IT":"IS IN TEXT FILE FORM.":Q"TO RUN YOUR PROGRAM TYPE IN PR#";AN$;""Q"THEN TYPE NEW"Q"THEN TYPE IN EXEC ";PN$;"": R"YOU WILL THEN SEE YOUR PROGRAM":"BEING LOADED INTO MEMNLN10:LN;"G$=";Q$;Q$;":FC=0:HOME:UF=0:GOTO 1000"=P6370EPD$PCA$"Y"İ60:LNLN40:LN;"VTAB ";RR$;":HTAB ";CC$;":PRINT";Q$;TM$;Q$;";:GET TM$:PRINT TM$":D$PII$"Y"İ60:D;"GOSUB 43000":D$P60:"NOMON C,I,O"P"SAVE ";NP$;""QINT TM$":BLLNcOLNLN10:LN;"REM*****IF DONE, END:IF NOT RETURN TO MENU:IF WRONG INPUT, REPEAT"OLNLN10:LN;"IF TM$=";Q$;ID$;Q$;" THEN 10"OLNLN10:LN;"IF TM$<>";Q$;ND$;Q$;" THEN PRINT";Q$;"PLEASE ANSWER ";ND$;" OR ";ID$;Q$;": GOTO ";BL3PLS ";::"NOT";::" DONE,":"WHAT SHOULD THE REPLY BE";:ND$BNLSNVND$""4930N`"IF THE OPERATOR ";::"IS";::" DONE,":"WHAT SHOULD THE REPLY BE";:ID$NjID$""4960NtDLN5N~D$N60OLNLN10:LN;"PRINT";Q$;TM$;Q$;";:GET TM$:PRU WISH: THE OPERATOR'S":"RESPONSE WILL BE LIMITED TO"M"A SINGLE KEY DEPRESSION. I WOULD":"SUGGEST SOMETHING OF THE FORM:":"'ARE YOU DONE WITH DATA ENTRY (Y/N)?'"::"ENTER YOUR MESSAGE BELOW:";:::M$TM$M.2430M8XX(1) THEN RP=1" JLNLN10:LN;"GOSUB 40000:LL=LEN(IN$):A$=CHR$(122):GOSUB 16:IF IN$HHHRH\LNLN10:LN;"ZZ$=G$(XX(0)):GOSUB 26000"IfG, G6G@GJGT#G|8G"10860 GOTO";SL>GDGJGPGVG\G|GPRINT"11860 ON UF GOSUB"; GFORTZ = 1 TO A - 1: PRINT D%(TZ) - 10;",";: NEXT TZ: PRINT D%(A) - 10 G"11860 RT=1:FC=UF:GOSUB 1002"GGGH60F"85 DIM CD(";N;")";F"29040 X=";N;":GOSUB 29100"CFD$MF7290F::"DO YOU WANT TO MAKE THIS FILE"::"INTERACTIVE? (Y/N)";II$FII$"Y"II$"N"4010FII$"Y"İ5150F60FFFFFFFFF"ATION FOR ";TC$;"":DD$:10000cE(DD$,2)"G$"ST$"D"ĺ"ERROR! STORING DISPLAYED DATA?"::3825E(DD$,2)"G$"İ60:3920E(TC$TC$","RR$","CC$E2DLDL1E<60EF22000DL;" DATA ";TC$EP28000A10I;DD$EZD$EdIEnNI1FxN":"( D,S OR 999 ) ";ST$:ST$"999"3950:ST$"S"3850:ST$"D"3825mD:"TITLE FOR COMPUTED DATA? ";TC$DTC$"999"3950D"WHERE DO YOU WANT YOUR TITLE TO"D"APPEAR ON THE SCREEN? (R-C) ";CP$:2470DST$"S"TC$"-STORAGE-"E "CALCULRMAT FILE NAME : ";F$5l:"READING FORMAT FILE...";qUvD$;"OPEN";F$;"/FORM"oD$;"READ";F$;"/FORM"X130:IN$(X):FLX1FL:FL$(X):RW(X):CL(X):LN(X):TY$(X):D$;"CLOSE":"WRITING EXEC FILE...":D$;"OPEN ";F$;"/b| bbbb%b+b1b7b=bCbIbObUbabgb!b#"25 DIM XX(200),F$(200),G$(200) :BL$ = ";Q$;BL$;Q$;":ER$ = ";Q$;ER$;Q$;":SC = ";SCb&b0:b:I1300cD:"TITLE OF HEADER? TYPE 999 TO JI,(A$))A$I9JI:6360%aJI:I90+a1a7a=aCaIa OaUa[a#ba( ha2na<taFzaPaZ ad anaxaaa aaaaaaa"a,a6a@aJaTa^ahbr(8)İ6280:6200%``A$(13)ĺA$;:7`jA$;:B$B$A$?`tJIh`~CV:HP2:JI1LL2:" ";:JI:6170`JIJI1:(HPJI1)2`JI0JI1:CV:HP2:`JI1B$"":6320`B$(B$,JI1)`".";:(HPJI1)2:`JI1(B$)1(A$)a(B$,"):GOSUB 43500"_D$_J&_60?_"43180 GOSUB 43400"W_"96 DIM FT(";K;")"k_"43190 RETURN"s_D$y__CV:HP2:A$"":B$""_$JI1LL:".";:JI::CV:HP2_.JI1LL1_8A$_BA$(27)Ģ23:1:_LA$(21)6200`VA$ IN FILE2. THIS":O^f"WILL KEEP A RUNNING TOTAL IN FIELD 3"::"OF FILE2.":z^p"FF$(3)=STR$(VAL(FF$(3))+VAL(G$(4)))"^z:^"HIT ANY KEY TO CONTINUE";:LL$^^:"NOW LETS BEGIN"^:J1K^TS$^60_43010J;TS$;":I=FT(";J;RE IN STRING FORM. BE SURE TO"::"TAKE THE VAL OF EACH FIELD USED. YOU":]>"MUST USE FF$(I) ON THE LEFT SIDE OF"::"THE EQUALS SIGN.":]H:"HIT ANY KEY TO CONTINUE";:P$]R:^\"EXAMPLE WANT FIELD 4 IN FILE1 TO BE"::"TRANSFERED TO FIELD 3;")=";H$(I);":";:I:"FT(";K;")=";H$(K)/\D$7\ D$=\\ "NOW YOU MUST DESCRIBE THE STATEMENTS"::"WHICH WILL EXPLAIN THE FIELDS, AND THE":\*"OPERATIONS TO BE PREFORMED ON THE FIELD"::"TO BE TRANSFERED. REMEMBER THAT ALL":J]4"FIELDS A YOU MUST DESCRIBE THE FIELD #"::"THAT YOU WANT TO TRANSFER TO."::"TYPE 999 TO END."d[J147[:"FIELD # TO TRANSFER TO ";H$(J)[H$(J)"999"5830[J[KJ1[60[97;[I1K1[K1ĺ"FT(";K;")=";H$(K):5890'\"FT(";I)-LEN(FF$(I)))"ZD"43510 RETURN"=ZN"43420 FOR JI=1 TO";NZX"43430 IF RL+TF(JI)>245 THEN PRINT OP$:RL=0:OP$=";Q$;"";Q$;""Zb"43440 RL=RL+TF(JI):OP$=OP$+FF$(JI):NEXT JI"Zl"43450 PRINT OP$"Zv"43460 PRINT D$:RETURN"ZD$Z:X["NOWTHEN P=1"Y"43310 NEXT I"MY"43350 PRINT D$;";Q$;"CLOSE ";FI$;"";Q$;""_Y"43360 NM=1"sY"43370 RETURN"Y&"43400 PRINT D$;";Q$;"WRITE ";FI$;Q$;";";Q$;",R";Q$;";";"P"Y0"43410 RL=0:OP$=";Q$;"";Q$;""Z:"43500 FF$(I)=FF$(I)+LEFT$(SP$,TF(I=1 TO";N?X"43260 IF RL+TF(JI)>245 THEN INPUT FZ$:RL=0:I9=1"uX"43270 RL=RL+TF(JI):FF$(JI)=MID$(FZ$,I9,TF(JI))"X"43280 I9=I9+TF(JI)"X"43290 NEXT JI"X"43300 IF LEFT$(FF$(";KT;"),LEN(KK$))=KK$ THEN RETURN" Y"43305 P=P+1:IF P> ";NN;" W|"87 DIM TF(";N;")"VW"43220 PRINT D$;";Q$;"READ ";FI$;Q$;";";Q$;",R";Q$;";";"P"mW"43230 INPUT FZ$"W"43000 KK$=G$(";KN;"):ZZ$=G$(";KN;"):GOSUB 26000:P=RP:GOSUB 43200"W"43005 IF NM=1 THEN RETURN"W"43240 I9=1:RL=0"X"43250 FOR JI1ĺ"INVALID FIELD LENGTH":5320-VH$(I)TF$@VTLTL(H$(I))GVIQV"NI1YV,60bV695;mV@I1NVJ"TF(";I;")=";H$(I);":";VTIV^Vh"43200 PRINT D$;";Q$;"OPEN ";FI$;Q$;";";Q$;",";DT$;",L";Q$;";";TL;"+1"Vr"43210 FOR I=1 TO";NN YOU MUST DESCRIBE THE FIELDS IN THE"::"FILEYOU ARE TRANSFERING TO. TYPE 999"::"TO END."hUI147xU(37)18ėU:"FIELD ";I;"=";:TF$UTF$"999"5410U"IS THIS CORRECT (Y/N)";C$UC$"Y"C$"N"5320UC$"N"5320V(TF$)6ĺ"INVALID DRIVE NUMBER":5210QTx::"NUMBER OF RECORDS IN TRANSFER FILE ";NNT::"KEY FIELD OF THE TRANSFER FILE? ";KTT:T"WHERE IS THE KEY FIELD OF THE TRANSFER ":"FILE IN THE FILE YOU ARE GENERATING? ";KNTKN15270\U::"NOWΠӠʍō ƠŬĺƠԠΠϠպƠǠԬԍƠͤ٢ΠƠͤ΢ΠԢŠҠΠҠ٢ϠǤýźƽϠ͠بƤǤ̤΢Ҥ΢àΠìɬύŠŪ ϠнЫƠоبΠн ̽ΨΤҤ ƠΤ¤Π΍͠Ԡō ԠĤŢčԢŢԠͤԠͤͪϠƱƲƳƴƵƶؽĽ ĽϱԽýƺ ڤǤب ͪˠҠĠ?:"LOAD PROGRAM WRITER INTO DRIVE 2"G@"-HIT RETURN TO EXEC- ";A$bJD$;"EXEC ";F$;"/EXEC"hTC/EXEC"xT$(10):IN$(11)(X1FL:LN(X):"Y":;IN$(12):::v X1FL:FL$(X):"Y":CL(X);"-";RW(X):"Y":TY$(X)::"N": ANY HEADERS?  "Y":X1FL:FL$(X):CL(X);"-";RW(X)::"999"*X1FL:CL(X);"-";RW(X)1(FL$(X)):6D$;"CLOSE"'EXEC"!D$;"WRITE ";F$;"/EXEC"?"LOAD PROGRAM WRITER,D2"P"TEXT:HOME"b"CATALOG,D1"m"RUN"IN$(1)::IN$(2):IN$(3)IN$(4)TL0:LN(FL)LN(FL)4:X1FL:TLTLLN(X)::TLIN$(5):IN$(6):IN$(7):IN$(8):IN$(9):INΨþí°Ψþí°Πþí°Ψþí° ΍Ф ΍Ф ΍Ф ΍Ф ΍Ф ΍ͽΠà±60$KX1IN(FL,2):IPKXIN(FL,0)R63100:KP:IPIPSF(SNOK):63150:KP:IN(FL,1)IN(FL,1)SF:IN(FL,0)IN(FL,0)SF(SNOK):63400:KYOK:63500::SF0::"WAIT... RE-ORGANIZING INDEX":mzKY164:63500:IN(FL,1)IN(FL,2)SFSFIN(FL,1)IN(FL,2):SNKY:SF10SF15:SN64SF(SF.75) === MOVE POINTERS ===KYSN(1(SNOK))OK(1(SNOK))(OKSN):63500IN(FL,2)0636L,0)!IPIP1:63150:IN(FL,1)>IPIP1:63150:IN(FL,2)HD$:c **** READ INDEX **** IPKY32:63100:IN(FL,0)IPIP1:63100:IN(FL,1) IPIP1:63100:IN(FL,2)*D$:o === SHUFFLE INDEX FOR FREE SPACE ===(pOKKY:SN0KY$BTMD1:624500 === FILE I/O CALLS ===VJD$;"OPEN ";N$(FL);"INDEX,L";LN:||D$;"READ ";N$(FL);"INDEX,R";IP:D$;"WRITE ";N$(FL);"INDEX,R";IP:D$;"CLOSE ";N$(FL);"INDEX":D$: **** WRITE INDEX ****IPKY32:63150:IN(F00 IN(FL,2)0FD1:BT1:3 TPIN(FL,2):BT1L BTTPMD(BTTP)2^ $BTTPFD1:k VMD(MD) IPMDIN(FL,0):63100:KP:D$ RPKP:40000:KK$F$(1):READ HASHED RECORD FROM P/W PKK$KY$FD3: KK$KY$TPMD1:62450KK$NG INDEX":P;zKY164:63500:IN(FL,1)IN(FL,2)SFSFIN(FL,1)IN(FL,2):SNKYi;:SF10SF15:SN64z;SF(SF.75); === MOVE POINTERS ===;KYSN(1(SNOK))OK(1(SNOK))(OKSN):63500;IN(FL,2)063660 nIN(FL,1)IN(FL,2)FD2:63600V IN(FL,2)IN(FL,2)1m MDIN(FL,2)62050 XIN(FL,2)1MD1 6IPIN(FL,0)X:63100:KP IPIP1:63150:KP b63400:IPIN(FL,0)MD:63150:NR:D$: === DELETE INDE)))2 ILN4LN5: zAS(XX(1)64)1:XX(1)960AS15E 63050Z X164:IPX32r 63150:200XASAS BIPIP1:63150:AS tIPIP1:63150:0 D$::D$;"CLOSE": === CREATE INDEXED RECORD === KY$ZZ$: KEY PASSED FROM P/W Ңԍ źԠԢ̍ԺԢϠΠϠŠՠŠŧԢҠΠ٠Ϡ٠ĮبҤıɤʯԺ͠بĠҬҤŠҬɤŠōФƠӠبɩĠΠϠببببببببب ͠ΠōҠɽϠبǤɩԠɺýźƽǤèĠ٠Š͠ĠԍҺƤʯԢϠΠìɬύͪ͠źʯӪͪŠźʯԺͪŠӠΠŠͪҠƠӽ͠بƠħӠبàΠب    ŠŠꍍӠ̠Š̠ӠӡàŠ΍ƠؠؠĠΠōŠŠìƬ٠Ҡթ 030,2090,2150,2210,2270,2330,2390,2450,2510,2570,2630,2690,2750,2810,2870,2930,2990,3050,3110.Y."UPDATE ANOTHER FIELD? (Y/N) ";:S$:S$.\.S$"Y"11810.^.KUXX(0)11998.c.ZZ$G$(XX(0)):OPRP:26000:RPRP1.h.OPRP11998/m.40000:F$(XX(0))***-.290006-"."WHAT LINE NUMBER DO YOU WANT TO "K-$."UPDATE? ";UF$Y-,.UF(UF$)-@.UFXX(3)UF1ĺ"INVALID FIELD":11810-J.UFXX(0)KUXX(0)-O.].T.UF1010,1070,1130,1190,1250,1310,1370,1430,1490,1550,1610,1670,1730,1790,1850,1910,1970,2CORD IF MATCH ON KEY,0*29000(,l*120Z,**********BEGIN THE FILE UPDATE ROUTINE******q,*:"UPDATE WHICH:",+27000: TRY TO FIND THE RECORD,+******UNPACK THE FIELDS IN THE FILE FOR DISPLAY,+28000-.*******DISPLAY RECORD IF MATCH ON KEYN"ĺ"PLEASE ANSWERN OR Y":3250;+ G$"":FC0::UF0:1000m+'*********BEGIN THE FILE LOOK UP ROUTINE*****+':"LOOK UP WHICH:"+'27000: TRY TO FIND THE RECORD+'******UNPACK THE FIELDS IN THE FILE FOR DISPLAY+'28000,/********DISPLAY RE RPRP1:RPXX(1)RP1G* 40000:LL(IN$):A$(122):16:IN$B$3200M* b* OUTPUT ROUTINEm* 42000* "CLASS RECORD ENTRY DONE (Y/N) ?";:TM$:TM$* *****IF DONE, END:IF NOT RETURN TO MENU:IF WRONG INPUT, REPEAT* TM$"Y"110+ TM$") )& 22:30:"%";3)' UF0G$""G$G$(36)U)0 " ";G$(36):G$(36)"END"120): (G$(36))XX(39)EM$"MAX LENGTH EXCEEDED":50000)D (G$(36))XX(39)I36:40050)X )b ZZ$G$(XX(0)):26000)l **LOOK FOR RECORD SPACE**)v 3200:3230*37)EM$"MAX LENGTH EXCEEDED":50000F( (G$(34))XX(37)I34:40050L( j( 22:10:"TOTAL POINTS";( UF0G$""G$G$(35)( " ";G$(35):G$(35)"END"120( (G$(35))XX(38)EM$"MAX LENGTH EXCEEDED":50000) (G$(35))XX(38)I35:40050";'s UF0G$""G$G$(33)?'| " ";G$(33):G$(33)"END"120v' (G$(33))XX(36)EM$"MAX LENGTH EXCEEDED":50000' (G$(33))XX(36)I33:40050' ' 20:33:"F";' UF0G$""G$G$(34)' " ";G$(34):G$(34)"END"120$( (G$(34))XX(X LENGTH EXCEEDED":50000;& (G$(31))XX(34)I31:40050A&, S&6 20:19:"W";n&7 UF0G$""G$G$(32)&@ " ";G$(32):G$(32)"END"120&J (G$(32))XX(35)EM$"MAX LENGTH EXCEEDED":50000&T (G$(32))XX(35)I32:40050&h 'r 20:26:"TH0G$""G$G$(30)4% " ";G$(30):G$(30)"END"120k% (G$(30))XX(33)EM$"MAX LENGTH EXCEEDED":50000% (G$(30))XX(33)I30:40050% % 20:12:"T";% UF0G$""G$G$(31)% " ";G$(31):G$(31)"END"120& (G$(31))XX(34)EM$"MAEEDED":50000/$d (G$(28))XX(31)I28:400505$x G$ 19:33:"F";b$ UF0G$""G$G$(29)$ " ";G$(29):G$(29)"END"120$ (G$(29))XX(32)EM$"MAX LENGTH EXCEEDED":50000$ (G$(29))XX(32)I29:40050$ $ 20:1:"5) M";% UF$(27)'# " ";G$(27):G$(27)"END"120^# (G$(27))XX(30)EM$"MAX LENGTH EXCEEDED":50000#( (G$(27))XX(30)I27:40050#< #F 19:26:"TH";#G UF0G$""G$G$(28)#P " ";G$(28):G$(28)"END"120 $Z (G$(28))XX(31)EM$"MAX LENGTH EXC00$" (G$(25))XX(28)I25:40050*" <" 19:12:"T";W" UF0G$""G$G$(26)y" " ";G$(26):G$(26)"END"120" (G$(26))XX(29)EM$"MAX LENGTH EXCEEDED":50000" (G$(26))XX(29)I26:40050" " 19:19:"W";# UF0G$""G$G ";G$(24):G$(24)"END"120R!j (G$(24))XX(27)EM$"MAX LENGTH EXCEEDED":50000t!t (G$(24))XX(27)I24:40050z! ! 19:1:"4) M";! UF0G$""G$G$(25)! " ";G$(25):G$(25)"END"120" (G$(25))XX(28)EM$"MAX LENGTH EXCEEDED":50022))XX(25)I22:40050  0  18:26:"TH";K  UF0G$""G$G$(23)m $ " ";G$(23):G$(23)"END"120 . (G$(23))XX(26)EM$"MAX LENGTH EXCEEDED":50000 8 (G$(23))XX(26)I23:40050 L V 18:33:"F"; W UF0G$""G$G$(24)!` "G$(21)"END"120G(G$(21))XX(24)EM$"MAX LENGTH EXCEEDED":50000i(G$(21))XX(24)I21:40050o18:19:"W";UF0G$""G$G$(22)" ";G$(22):G$(22)"END"120(G$(22))XX(25)EM$"MAX LENGTH EXCEEDED":50000 (G$(I19:40050\%f18:1:"3) M";@gUF0G$""G$G$(20)bp" ";G$(20):G$(20)"END"120z(G$(20))XX(23)EM$"MAX LENGTH EXCEEDED":50000(G$(20))XX(23)I20:4005018:12:"T";UF0G$""G$G$(21)" ";G$(21):120;(G$(18))XX(21)EM$"MAX LENGTH EXCEEDED":50000] (G$(18))XX(21)I18:40050c u*17:33:"F";+UF0G$""G$G$(19)4" ";G$(19):G$(19)"END"120>(G$(19))XX(22)EM$"MAX LENGTH EXCEEDED":50000 H(G$(19))XX(22)17:19:"W";3UF0G$""G$G$(17)U" ";G$(17):G$(17)"END"120(G$(17))XX(20)EM$"MAX LENGTH EXCEEDED":50000(G$(17))XX(20)I17:4005017:26:"TH";UF0G$""G$G$(18)" ";G$(18):G$(18)"END"(G$(15))XX(18)EM$"MAX LENGTH EXCEEDED":50000RX(G$(15))XX(18)I15:40050Xljv17:12:"T";wUF0G$""G$G$(16)" ";G$(16):G$(16)"END"120(G$(16))XX(19)EM$"MAX LENGTH EXCEEDED":50000(G$(16))XX(19)I16:4005016:33:"F";'UF0G$""G$G$(14)I" ";G$(14):G$(14)"END"120(G$(14))XX(17)EM$"MAX LENGTH EXCEEDED":50000(G$(14))XX(17)I14:400500:17:1:"2) M";;UF0G$""G$G$(15)D" ";G$(15):G$(15)"END"1200N5)EM$"MAX LENGTH EXCEEDED":50000E(G$(12))XX(15)I12:40050K^16:26:"TH";yUF0G$""G$G$(13)" ";G$(13):G$(13)"END"120(G$(13))XX(16)EM$"MAX LENGTH EXCEEDED":50000(G$(13))XX(16)I13:40050 ;KUF0G$""G$G$(11)>T" ";G$(11):G$(11)"END"120u^(G$(11))XX(14)EM$"MAX LENGTH EXCEEDED":50000h(G$(11))XX(14)I11:40050|16:19:"W";UF0G$""G$G$(12)" ";G$(12):G$(12)"END"120#(G$(12))XX(1X LENGTH EXCEEDED":500009(G$(9))XX(12)I9:40050?S16:1:"1) M";nUF0G$""G$G$(10)" ";G$(10):G$(10)"END"120"(G$(10))XX(13)EM$"MAX LENGTH EXCEEDED":50000,(G$(10))XX(13)I10:40050@J16:12:"T" 'KY:60500:255:20000A _ ********** BINARY SORT **********Z ` === OPEN INDEX ===e 63050~ KY15:63500::D$ , T ==== CLOSE INDEX === D$;"CLOSE ";F$;"INDEX": === INIT INDEX === :"CREATING INDEX": HLN((XX(1 '*** REPORT WRITER WITH SORT *** R.IN(64,2):LN((XX(1)))2:LN4LN54N$(1)F$:FL1:60000: OPEN F ILE & INDEX }131KY164:FL1:63500:IN(FL,2)09999KX1IN(FL,2):IPIN(FL,0)KX:63100:RP:40000'KX      XX(10)I7:40050/12:1:"COMMENTS";O" ";G$(8):G$(8)"END"120(G$(8))XX(11)EM$"MAX LENGTH EXCEEDED":50000(G$(8))XX(11)I8:4005013:1:"COMMENTS";" ";G$(9):G$(9)"END"120(G$(9))XX(12)EM$"MAG$G$(6))(" ";G$(6):G$(6)"END"120^2(G$(6))XX(9)EM$"MAX LENGTH EXCEEDED":50000}<(G$(6))XX(9)I6:40050PZ11:1:"COMMENTS";d" ";G$(7):G$(7)"END"120n(G$(7))XX(10)EM$"MAX LENGTH EXCEEDED":50000x(G$(7))":50000'(G$(4))XX(7)I4:40050-C9:1:"TARDIES";]UF0G$""G$G$(5)}" ";G$(5):G$(5)"END"120(G$(5))XX(8)EM$"MAX LENGTH EXCEEDED":50000(G$(5))XX(8)I5:4005010:1:"ABSENCES"; UF0G$""I2:40050`$j7:1:"TIME";Dt" ";G$(3):G$(3)"END"120y~(G$(3))XX(6)EM$"MAX LENGTH EXCEEDED":50000(G$(3))XX(6)I3:400508:1:"PERIOD";" ";G$(4):G$(4)"END"120(G$(4))XX(7)EM$"MAX LENGTH EXCEEDEDNT NAME";)" ";G$(1):G$(1)"END"120^(G$(1))XX(4)EM$"MAX LENGTH EXCEEDED":50000}(G$(1))XX(4)I1:40050$.6:1:"CLASS";8" ";G$(2):G$(2)"END"120B(G$(2))XX(5)EM$"MAX LENGTH EXCEEDED":50000 L(G$(2))XX(5)EM0:FC1010,1070,1130,1190,1250,1310,1370,1430,1490,1550,1610,1670,1730,1790,1850,1910,1970,2030,2090,2150,2210,2270,2330,2390,2450,2510,2570,2630,2690,2750,2810,2870,2930,2990,3050,3110:EM01004FCXX(3)10023170 5:1:"STUDE35000'"AN$"U"SL$"UPDATE":11000H,AN$"D"SL$"DELETE":12000m6AN$"I"SL$"INITIALIZE":32000;AN$"F"SL$"MASS UPDATE":13000@AN$"X"12060500: CLOSE INDEXD$;"CLOSE"::*********BEGIN ENTRY*******FCFC1TYPE 'END'":"FOR AN ENTRY INTO ANY FIELD."9AN$:255MAN$"P"İ16000AN$:AN$"E"AN$"L"AN$"U"AN$"D"AN$"I"AN$"X"AN$"S"120FF$AN$AN$"E"SL$"ENTRY":1000AN$"L"SL$"LOOK UP":10000AN$"S"SL$"SCAN":"DELETE RECORD .................... D"0\"PROGRAM EXIT ..................... X""INITIALIZE FILE .................. I":"PLEASE DEPRESS THE LETTER CORRESPONDING TO YOUR CHOICE. NO ENTER KEY IS NEEDED."+:"TO RETURN TO THE MENU CLASS RECORDS": B "DATA ENTRY ....................... E"n "LOOK UP/PRINT RECORD.............. L"t "SCAN/PRINT RECORDS................ S" "UPDATE RECORD .................... U" "UPDATE FILE ...................... F"*N$(1)F$:FLXX(0):41100:60000:OPEN FILE & INDEX h mN$(1)F$:FL1:41100:60000: OPEN FILE & INDEX n41100: OPEN FILE s25000 xI150:G$(I)"":I:FC0::UF0:G$"" 4)"PRODUCED BY THE PROGRAM WRITER": (20252)::"MID-QUARTER 3:XX(19)3:XX(20)3:XX(21)3:XX(22)3:XX(23)3: fXX(24)3:XX(25)3:XX(26)3:XX(27)3:XX(28)3:XX(29)3:XX(30)3:XX(31)3:XX(32)3:XX(33)3: gXX(34)3:XX(35)3:XX(36)3:XX(37)3:XX(38)5:XX(39)8: kIN(64,2),N$(16):LN((XX(1)))2:LN4LN54 lQ P XX(1)=#OF RECD'S XX(2)=REC LEN XX(3)=#OF FIELDS XX(I)=FIELD LEN 1 TO 36q ZXX(1)15:XX(2)254:XX(3)36 dXX(4)25:XX(5)20:XX(6)10:XX(7)10:XX(8)5:XX(9)5:XX(10)30:XX(11)30:XX(12)30:XX(13)3:0 eXX(14)3:XX(15)3:XX(16)3:XX(17)3:XX(18)B$"" JI1LL:B$B$A$:JI% B D$(4): DOS CONTR0L(D)q XX(50),F$(50),G$(50):BL$"Y":ER$"N":SC5 XX(0)1:DR$"D1":FI$"CLASSRECORD/DAT:6" SP$"":I1200:SP$SP$(32):I (25000 F******** SET UP FIELDS IN THE DATA FILE****LX **** P/W WITH SORT ****N**********PROGRAM NAME:CLASSRECORD/BAS***********DATA FILE NAME:CLASSRECORD/DAT:6***********DATA FILE IS ON DRIVE 6**********NUMBER OF RECORDS=15***** :F$"CLASSRECORD/DAT":20 110                                                                !!! z"#x}  ̯Ժؠ įӠR ˯à ԯàԠ ˯ؠ̯Ժ"̯ؠ ԠԠ  ΠР ʯԺ4 ʯؠ! ̯Ӡ ˯ؠ à  ԯӠ ůӠӯӠ Ӡ<ӯԺ ӯؠʯӠ ʠ=ϠԠ6נҠdΠĠƠ Š Š1):6330:I90ĺ"ERROR! USE ONLY ONE EQUALS!"::3850t B'(DD$)0ĺ"ERROR! USE LETTERS BEFORE THE EQUALS!"::3850 L'B$DD$:A$"FL#":6330:FII9:I903855 V'I9EQ10090 `'DD$"STR$("(DD$,EQ1)")":DD$"G$("(((B$,I93)))")="DD$:10060. j'-----" )LXX9:PM$(L),LN(L):H::"HIT ANY KEY";::AN$QX:A;AN$"F"SL$"MASS UPDATE":130006@AN$"X"120O60500: CLOSE INDEXaD$;"CLOSE":} ==== BEGIN DATA ENTRYFCFC1EM0:FC1010,1030,1050,1070,1090,1110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0cDONE'":"FOR AN ENTRY INTO ANY FIELD."7AN$:FF$AN$VAN$"E"SL$"ENTRY":1000xAN$"L"SL$"LOOK UP":10000AN$"S"SL$"SCAN":35000"AN$"U"SL$"UPDATE":11000,AN$"D"SL$"DELETE":120006AN$"I"SL$"INITIALIZE":32000$ELETE RECORD .................... D"* V "PROGRAM EXIT ..................... X" "INITIALIZE FILE .................. I" :"PLEASE DEPRESS THE LETTER CORRESPONDING TO YOUR CHOICE. NO ENTER KEY IS NEEDED."&:"TO RETURN TO THE MENU TYPE ':"TEST": < "DATA ENTRY ....................... E"h "LOOK UP/PRINT RECORD.............. L"n "SCAN/PRINT RECORDS................ S" "UPDATE RECORD .................... U" "UPDATE FILE ...................... F"$ "D OPEN FILE: pIN(5,2),N$(5):LN((XX(1)))2:LN4LN5s qN$(1)F$:FLXX(0):41100:60000: OPEN FILE & INDEX r41100: OPEN FILE s25000 xI1XX(3):G$(I)"":I:FC0::UF0:G$"" 4)"PRODUCED BY THE PROGRAM WRITER": (2042):$:A$".":16:PE$B$ (25000P F******** SET UP FIELDS IN THE DATA FILE**** P XX(1)=#OF RECD'S XX(2)=REC LEN XX(3)=#OF FIELDS XX(I)=FIELD LEN 1 TO 6 ZXX(1)500:XX(2)25:XX(3)6 dXX(4)5:XX(5)2:XX(6)2:XX(7)6:XX(8)3:XX(9)6: n41100:N'B$DD$:A$"=":6330:EQI9:I90ĺ"ERROR! NO EQUALS IN EQUATION!"::3850\'PO0:PC0$'JI1(DD$):A9$(DD$,JI,1):POPO(A9$"("):PCPC(A9$")"):.'POPCĺ"ERROR! THE OPENING AND CLOSING":"BRACKETS DO NOT EQUAL!"::38505 8'B$(DD$,I9B$A$:JI:: B$=STRING$(LL,A$)= D$(4): DOS CONTR0L(D)o XX(200),F$(200),G$(200):BL$"N":ER$"N":SC5 XX(0)1:DR$"D1":FI$"JJJJJ/DAT:6": XX(0)=FIELD NUMBER, DR$=DRIVE NUMBER, FI$=DATA FILE NAME LL200:A$" ":16:SP$B$:A$(8):16:BP$BN; **** P/W WITH SORT ****H**********PROGRAM NAME:JJJJJ/BAS***s********DATA FILE NAME:JJJJJ/DAT:6***********DATA FILE IS ON DRIVE 6**********NUMBER OF RECORDS=500***** :F$"JJJJJ/DAT":20 114 B$"":JI1LL:B$                   L,1)!:IPIP1:63150:IN(FL,2)+:D$:F: **** READ INDEX ****e: IPKY32:63100:IN(FL,0):IPIP1:63100:IN(FL,1): IPIP1:63100:IN(FL,2):*D$::o === SHUFFLE INDEX FOR FREE SPACE === ;pOKKY:SN0:SF0::"WAIT... RE-ORGANIZIHE PROGRAMS ARE...":) P(4);"CATALOG"/ Z :1 ::255:+"VITAL INFORMATION'S"1Z"PROGRAM WRITER/REPORTER SORT DISK"`!h#:(:"NOTE : ALL PROGRAMS ";::"MUST";::" BE WRITTEN"2:"WITH THESE SORT PROGRAMS ON THE"7<"DISKETTE YOU ARE WRITING TO." F:"T E -> G$(1)=STR$(CD(3)+VAL(G$(4)))":j93D$;"OPEN AUTO/EXEC":D$;"CLOSE AUTO/EXEC":D$;"DELETE AUTO/EXEC"@3D$;"OPEN AUTO/EXEC":13140J3D$;"WRITE AUTO/EXEC":T313130:"E":"X":D$Y3"ENTER THE UPDATE TITLE :";UD$)[313130:UCUC1:14050UCTES CAN BE ADDED! ***"::"10 MASS UPDATES ALREADY EXIST."::"-HIT ANY KEY-";:UP$:63"PLEASE ENTER THE FORMULAS THAT YOU WISH"::"TO UPDATE YOUR FILE WITH.":73"CD(X) HAS CALCULATED DATA."::"G$(X) CONTAINS THE STORED FILE DATA."$83:"EXAMPLFORMAT"/2:TB:"(U)SE A MASS UPDATE FORMAT"S2:TB:"(E)XIT TO PROGRAM MENU"[2182"ENTER YOUR CHOICE (A,D,L,U,E)? ";:UP$:UP$3UP$"E"10:UP$"A"13100:UP$"D"13300:UP$"L"13500:UP$"U"13700:13000U,3:UC10ĺ"*** NO MORE UPDA(127):I;x2J1XX(3):G$(J)(BR$,XX(J3)):J:42000:10W2 *** MASS UPDATES ***|2:::"MASS UPDATES"::Q$(34)2TB5:6:TB:UP02"(A)DD A MASS UPDATE FORMAT"2:TB:"(D)ELETE A MASS UPDATE FORMAT"2:TB:"(L)IST A MASS UPDATE 000: TRY TO FIND THE RECORDR/*******UNPACK THE FIELDS IN THE FILE FOR DISPLAY]/280001*******DISPLAY RECORD IF MATCH ON KEY***229000d2******DELETE CODE WRITTEN INTO ALL FIELDS****i2BTIPIN(FL,0):62170 n2BR$"":I1200:BR$BR$$"":I1200:BR$BR$(127):IW|.J1XX(3):G$(J)(BR$,XX(J3)):J:RPOP:42000:10.*****INSERT CHANGED FIELDS INTO RECORD AND SEND OUT TO FILE..41300:42000:10.*********BEGIN THE RECORD DELETE ROUTINE****.:"DELETE WHICH:".27)KUXX(0)O.>Y."UPDATE ANOTHER FIELD? (Y/N) ";:S$:S$P\.S$"Y"11810e^.KUXX(0)11998c.ZZ$G$(XX(0)):OPRP:26000:RPRP1h.OPRP11998m.40000:F$(XX(0))(121)ī11894r.RPRP1:RPXX(1)RP1t.11885v.41300:42000y.BRCORD9+******UNPACK THE FIELDS IN THE FILE FOR DISPLAYD+28000r.*******DISPLAY RECORD IF MATCH ON KEY***}.29000"."WHAT LINE NUMBER DO YOU WANT TO "$."UPDATE? ";UF$,.UF(UF$)@.UFXX(3)UF1ĺ"INVALID FIELD":11810 J.UFXX(0 TRY TO FIND THE RECORDM'******UNPACK THE FIELDS IN THE FILE FOR DISPLAYX'28000/********DISPLAY RECORD IF MATCH ON KEY0*29000l*120**********BEGIN THE FILE UPDATE ROUTINE*******:"UPDATE WHICH:"+27000: TRY TO FIND THE REAN$"X"120& 60500: CLOSE INDEX8 D$;"CLOSE":T  ==== BEGIN DATA ENTRYZ f FCFC1 IFC:40050::(EM0)1002:(RT0)(FCXX(3))1001:RT1RT0: '*********BEGIN THE FILE LOOK UP ROUTINE***** ':"LOOK UP WHICH:"'27000:AN$:FF$AN$- AN$"E"SL$"ENTRY":1000O AN$"L"SL$"LOOK UP":10000n AN$"S"SL$"SCAN":35000 "AN$"U"SL$"UPDATE":11000 ,AN$"D"SL$"DELETE":12000 6AN$"I"SL$"INITIALIZE":32000 ;AN$"F"SL$"MASS UPDATE":13000 @. "PROGRAM EXIT ..................... X"Z "INITIALIZE FILE .................. I" :"PLEASE DEPRESS THE LETTER CORRESPONDING TO YOUR CHOICE. NO ENTER KEY IS NEEDED." :"TO RETURN TO THE MENU TYPE 'END'":"FOR AN ENTRY INTO ANY FIELD." ................. E"@ "LOOK UP/PRINT RECORD.............. L"F r "SCAN/PRINT RECORDS................ S" "UPDATE RECORD .................... U" "UPDATE FILE ...................... F" "DELETE RECORD .................... D" / pIN(5,2),N$(5):LN((XX(1)))2:LN4LN5h qN$(1)F$:FLXX(0):41100:60000: OPEN FILE & INDEX r41100: OPEN FILE s25000 xI150:G$(I)"":I:FC0::UF0:G$"" 4)"PRODUCED BY THE PROGRAM WRITER":  "DATA ENTRY ......4 **** P/W WITH SORT ****%. 114dB$"":JI1LL:B$B$A$:JI:: B$=STRING$(LL,A$)D$(4): DOS CONTR0L(D)LL200:A$" ":16:SP$B$:A$(8):16:BP$B$:A$".":16:PE$B$(25000 F******** SET UP FIELDS IN THE DATA FILE****                 E THE POSITIONS OF THE FIELDS IN YOUR DATA FILE."$"THE FIELDS MAY BE SMALLER THAN YOU THINK NECESSARY. NUMBERS CAN BE PACKED INTO LESS SPACE IN THE FILE THAN THEY TAKE TO PRINT ON THE SCREEN.".<8:"WHOLE NUMBERS FROM -4559 TO 4559 CANA$""ĺNA$;",":"DO YOU WISH TO USE AN EXIT CODE OR"b"MESSAGE IN YOUR PROGRAM (Y/N) ";OO$:OO$"Y"OO$"N"1000OO$"Y"ĺ"WHAT IS YOUR MESSAGE OR CODE? ";:LL10:HP29:CV(37):CVCV1:6170:OT$B$2:"NOW, WE MUST DESCRIBOF ANY FIELD ENTRY.""IF THE OPERATOR MAKES THIS ENTRY, THE":"PROGRAM WILL LEAVE ENTRY OR UPDATE AND":"WILL RETURN TO THE MENU WITHOUT ADDING":"TO THE FILE OR ALTERING ANY MORE DATA""ON THE DISK (PREVIOUS CHANGES REMAIN).": %+17=CIOU [a g*m4s>yHRD$F$(200):"YOU MAY NOW CHOOSE,IF YOU WISH, AN EXIT CODE OR MESSAGE: A MESSAGE THE OPERATOR MAY ENTER IN PLACE D$:u&"WHAT DRIVE WILL YOUR DATA FILE BE ON":"WHEN YOUR PROGRAM IS RUN? PLEASE":"ENTER D1,D2,...,D6"0DR$:(DR$,1)"D"((DR$,2,1))1((DR$,2,1))6ĺ"ILLEGAL DRIVE.":550:60DI216,0NXblv):RS3000RS1ĺ"ILLEGAL RECORD SIZE.":460d60:"4 REM**********NUMBER OF RECORDS=";MS;"*****"lD$yQ$(34)"PLEASE TYPE IN THE TITLE YOU WANT":"DISPLAYED FOR YOUR PROGRAM WHEN RUN.":LL38:CV(37):HP1:CVCV1:6170:TI$B$:NA$""ĺNA$;" ,"_"WHAT IS THE MAXIMUM NUMBER OF RECORDS":"YOU WANT IN THE DATA FILE ";rMS$:MS(MS$)MS1ĺ"INVALID NUMBER OF RECORDS":410,"WHAT IS THE RECORD SIZE (LENGTH FROM 1":"TO 3000 IS PERMITTED)";:MS$:RS(MS$D$;"WRITE ";PN$"_"LOAD SORT"V`"9 CLEAR:F$=";Q$;(DF$,(DF$)2);Q$;":GOTO 20"ge"MON C,I,O"h"1 REM**********PROGRAM NAME:";PN$;"***"r"2 REM********DATA FILE NAME:";DF$;"***"|"3 REM********DATA FILE IS ON DRIVE ";AN$D$HAT SLOT IS YOUR ";:NA$""ĺ[-"DISK CONTROLLER IN ";NA$;".":"(USUALLY IN SLOT 6) ";6AN$:AN$"1"AN$"7"ĺ"INCORRECT DRIVE ASSIGNMENT:RETRY.":300@NP$PN$JDF$PN$"/DAT:"AN$:PN$PN$"/BAS"OQ$(34)TD$;"OPEN ";PN$;",S";AN$^2I9:A$" ":6330:I3I9t I1I2I3ĺ"PLEASE USE ALPHABETIC CHARACTERS ONLY--NO PERIODS, SLASHES, OR BLANKS.":240 (PN$)24ĺ"TOO LONG. 24 CHARACTERS IS MAXIMUM.":240 16368,0:(PN$,1)"A"ĺ"NAME MUST BEGIN WITH A LETTER.":240 ","WINTERACTIVE DATA BASE FILE.":l "FIRST, YOU HAVE TO TELL ME WHAT NAME":"YOU WANT TO GIVE YOUR PROGRAM." "YOU ARE LIMITED TO 24 CHARACTERS." "PROGRAM NAME=":LL24:CV(37):CVCV1:HP1:6170:PN$B$ B$PN$:A$"/":6330:I1I9:A$".":6330:I(222)4ĺ"YOU CAN NOT WRITE PROGRAMS":"ON A WRITE PROTECTED DISK!"::">HIT RETURN TO CONTINUE.<";X9$:150 (222)8150 :"THIS IS THE PROGRAM WRITER":"IT WILL ALLOW YOU TO WRITE A PROGRAM" "THAT WILL CREATE,ACCESS,AND UPDATE" "AN T AN INITIALIZED DISK THAT YOU":H "WANT YOUR PROGRAM WRITTEN ON.":d 12:NA$""ĺNA$;", "; "HIT ";::"RETURN";::" TO CONTINUE";:" ";R$ 186 D$;"RENAME PROGRAM WRITER,PROGRAM WRITER":150 (222)4ĺ:NA$""ĺNA$;", ";n bD$(4):: DOS CONTROL(D)$ d9H n8:"** COPYRIGHT 1981 BY **":k x9:"VITAL INFORMATION INC.": 10:"ALL RIGHTS RESERVED" 20::"ENTER YOUR NAME";(7);::" : ";NA$ :4:"REMOVE PROGRAM WRITER DISK FROM DRIVE 1":! "AND INSERb **************= THE PROGRAM WRITER FOR APPLESOFTR **************e( REV 5/23/82m290<D$;"WRITE ";PN$:Z:6^P$"PROGRAM WRITER V2.0 "_Z11(P$):8Z1`Z22361:Z2:(P$,Z1,1);:Z21:8Z1:" ";a::                                  !!      z"ENTER FORMAT FILE NAME : ";F$4F$F$"/FORM"GD$;"OPEN ";F$[D$;"READ ";F$qX130:IN$(X):yFLX1FL:FL$(X):RW(X):CL(X):LN(X):TY$(X):D$;"CLOSE ";F$:100X::"MAKE PROGRAM WRITER EXEC FILE."b:"ENTER FOSAVE PROGRAM FORMAT"::"ENTER FORMAT FILE NAME : ";F$LF$F$"/FORM"_D$;"OPEN ";F$sD$;"WRITE ";F$X130:IN$(X):FLX1FL:FL$(X):RW(X):CL(X):LN(X):TY$(X):D$;"CLOSE ";F$:100p::"LOAD PROGRAM FORMAT":"P$"PROGRAM WRITER V2.0":20$:JP$"FILE/SCREEN DEFINITION":20:^ X140:"-";:g :9q 34,8 X112:A$:A$;:20:IN$(X):: 9X112:A$:1:A$;:20""";R$:R$""4150,IN$(X)R$6:@100::"":"/QUIT"= ***** FILE/SCREEN DEFINTION ENTRY ****y OPERATOR NAME,PROGRAM NAME,DISK SLOT #,NO. OF RECORDS TITLE FOR PROGRAM,DATA DRIVE,EXIT CODE Y/N,EXIT MESSAGE BEEP Y/N,ERRORS STAY Y/N,SPEED 1-20 KEY FIELD:: TO DELETE (1-";FL;") :";$"";DL1XDL49oLN(X)LN(X1):FL$(X)FL$(X1):RW(X)RW(X1):CL(X)CL(X1)u $LN(50)0:CL(50)0:RW(50)0:TY$(50)"C":FL$(50)"".t:"COMMANDS AVAILABLE ARE ..." ~:"/DELETE":"/EDIT":"/HELP":"/LISTR$"/EDIT"İ2000:FLOL:7 R$"/QUIT"FLFL1::100T R$"/LIST"İ3500::OL0v R$"/DELETE"İ3600::FLFL2 R$"/HELP"İ3700::3100 OL0ı OL0:2000 :OLFL1:23:1:VT23:FL1OL:1000:::FLOL:8:1:SP$;:1:"FIELD23:1010:: 8:1010:> 10:1:SP$:10:1::PR$:t VT1:SP$:VT1:CL::"?"::VT:1010:VT:CL: ***** COMMAND PROCESSOR ***** R$""ı R$"/EDIT"OLFL:8:SP$:8:"ENTER THE NUMBER TO EDIT (1-50) :";FL 8:SP$ \PR$"C=CHARACTER, N=NUMERIC, PI=PACK INTEGER"AfCL37:2510:JpVT8hz"";R$:R$""TY$(FL)R$r2500TY$(FL)"C"TY$(FL)"N"TY$(FL)"PI"ĺ"":2150TL0:X1FL:TLTLLN(X):1:35:"TOTAL":2:35:"LENGTH"3:35:TLVT8:CL28:2510:7 "";R$:R$""CL(FL)(R$)A2500_ PR$"COLUMN BETWEEN 0-39"q*:CL31:2510z4VT8>"";R$:R$""RW(FL)(R$)H2500MVT8:CL34:PR$"LENGTH 1-255":2510O"";R$:R$""LN(FL)(R$)Q2500R8/31:RW(FL);# 34::LN(FL);:7 37:TY$(FL);:G $(36)30ıO .:x  ***** INPUT FILE FORMAT LINE ***** VT8:CL4:PR$"":2510 SK1SK0:2023 "";R$ OL0İ3000 R$""FL$(FL)R$ 2500PR$"ROW BETWEEN 0-23"X140:"-";: "34,11! ,12D 1FL0FLFL1:R$"/LIST":SK1S 6FL0FL1h @FL51100:2010y JFLFL1:320  ***** DISPLAY FILE FORMAT LINE ***** VT:1:SP$;:1 :1:SP$;:1 :FL;: 4:FL$(FL); 28::CL(FL);: 00:X$"S"5000 185: ***** FILE DEFINITION *****_ ::P$"PROGRAM WRITER V2.0":20g : P$"FILE/SCREEN DEFINITION":20 X140:"-";: :"FLD";::"FIELD NAME"; 28 :"ROW";::"COL";::"LEN";::"TYPE "; ROGRAM FORMAT" 7 "S - SAVE NEW PROGRAM FORMAT"X :"A - MAKE AUTO EXEC FILE" X13:16298,0:16302,0:16304,0:(7);:: 21 :"ENTER CHOICE (C,D,R,S,A,X) :";X$ 34,7 X$"A"7000 X$"C"4000:X$"D"200:X$"R"60ITER V2.0":20 n:> xP$"PROGRAM CREATION MAIN MENU":20D X X140:"-";:_ 8~ "": "C - SCREEN/FILE CHARACTERISTICS" :"D - DEFINE FILE LAYOUT" :"" :"R - READ OLD Pi) ***** PROGRAM FORMAT EDITOR *****6 255:30Q((40(P$))2):P$:c:::D$(4)}(X139:SP$SP$" ":2FL$(50),CL(50),RW(50),TY$(50)7IN$(30),LN(50)<X150:TY$(X)"C":c ***** MAIN MENU ***** d::P$"PROGRAM WR        H.":Q73"CD(X) HAS CALCULATED DATA."::"G$(X) CONTAINS THE STORED FILE DATA."83:"EXAMPLE -> G$(1)=STR$(CD(3)+VAL(G$(4)))":93D$;"OPEN AUTO/EXEC":D$;"CLOSE AUTO/EXEC":D$;"DELETE AUTO/EXEC"@3D$;"OPEN AUTO/EXEC":13140J3D$;"WRITE AUTO/EP$"A"13100:UP$"D"13300:UP$"L"13500:UP$"U"13700:13000,3:UC10ĺ"*** NO MORE UPDATES CAN BE ADDED! ***"::"10 MASS UPDATES ALREADY EXIST."::"-HIT ANY KEY-";:UP$:63"PLEASE ENTER THE FORMULAS THAT YOU WISH"::"TO UPDATE YOUR FILE WITMASS UPDATE FORMAT">2:TB:"(D)ELETE A MASS UPDATE FORMAT"g2:TB:"(L)IST A MASS UPDATE FORMAT"2:TB:"(U)SE A MASS UPDATE FORMAT"2:TB:"(E)XIT TO PROGRAM MENU"2182"ENTER YOUR CHOICE (A,D,L,U,E)? ";:UP$:UP$@3UP$"E"10:U**DELETE CODE WRITTEN INTO ALL FIELDS****Ci2BTIPIN(FL,0):62170in2BR$"":I1200:BR$BR$(127):Ix2J1XX(3):G$(J)(BR$,XX(J3)):J:42000:102 *** MASS UPDATES ***2:::"MASS UPDATES"::Q$(34)2TB5:6:TB:UP02"(A)DD A 1300:42000:10A.*********BEGIN THE RECORD DELETE ROUTINE****X.:"DELETE WHICH:"|.27000: TRY TO FIND THE RECORD/*******UNPACK THE FIELDS IN THE FILE FOR DISPLAY/280001*******DISPLAY RECORD IF MATCH ON KEY***229000)d2****m.40000:F$(XX(0))(121)ī11894<r.RPRP1:RPXX(1)RP1Gt.11885Yv.41300:42000y.BR$"":I1200:BR$BR$(127):I|.J1XX(3):G$(J)(BR$,XX(J3)):J:RPOP:42000:10.*****INSERT CHANGED FIELDS INTO RECORD AND SEND OUT TO FILE..4";UF$,.UF(UF$)>@.UFXX(3)UF1ĺ"INVALID FIELD":11810UJ.UFXX(0)KUXX(0)[O.pT.RT1:FCUF:1002Y."UPDATE ANOTHER FIELD? (Y/N) ";:S$:S$\.S$"Y"11810^.KUXX(0)11998c.ZZ$G$(XX(0)):OPRP:26000:RPRP1h.OPRP11998!UPDATE ROUTINE******+*:"UPDATE WHICH:"O+27000: TRY TO FIND THE RECORD+******UNPACK THE FIELDS IN THE FILE FOR DISPLAY+28000.*******DISPLAY RECORD IF MATCH ON KEY***.29000"."WHAT LINE NUMBER DO YOU WANT TO "$."UPDATE? ****BEGIN THE FILE LOOK UP ROUTINE*****?':"LOOK UP WHICH:"c'27000: TRY TO FIND THE RECORD'******UNPACK THE FIELDS IN THE FILE FOR DISPLAY'28000/********DISPLAY RECORD IF MATCH ON KEY0*29000l*120**********BEGIN THE FILE ):A$(122):16:IN$B$1160"7 OUTPUT ROUTINEB42000Y"DONE";:TM$:TM$*****IF DONE, END:IF NOT RETURN TO MENU:IF WRONG INPUT, REPEATTM$"Y"10TM$"N"ĺ"PLEASE ANSWER N OR Y":1210G$"":FC0::UF0:1000''*****PP$">>":51010,PP$">>>":510102$H.PP$">>>>":51010N8eBPP$">>>>>":51010kLVPP$">>>>>>":51010`jZZ$G$(XX(0)):26000t**LOOK FOR RECORD SPACE**~1160:1190RPRP1:RPXX(1)RP140000:LL(IN$0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0(FC160)(FC160)0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0IFC:40050::(EM0)1002:(RT0)(FCXX(3))1001:RT1RT0:1130PP$">":51010(FC40)(FC40)0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0(FC80)(FC80)0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/(FC120)(FC120)0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FL((B$,I93)):B$(DD$,FI3):A$(FL):6330` t'I90ĺ"ERROR! FIELD NUMBER MISSING!"::3859 ~'DD$(DD$,1,FI1)"VAL(G$("A$"))"(DD$,FI2I9(A$)):10060u ==== DATE EDIT CHECK9u(CD$)6(CD$)8E1:Wu(CD$)1(CD$)12E1:uCC0:XX(CD$)11:(CD$,XX,1)"/"CCCC1:DD(CC)XXu:CC2E1:uCDDD(CC)1u((CD$,DD(CC)1))1((CD$,DD(CC)1))31E1: u((CD$,DD(1))CD1):30000**2uCD1CD$(CD$,2):30000;*5uZZ1(CD$)*:u(CD$,ZZ,1)"0"(CD$,ZZ,1)"9"ĭ(CD$,ZZ,1)"."(CD$,ZZ,1)"-"E1:*DuZZ*NuB$CD$:A$"-":41000:I1I9:B$(B$,I11):41000:I2I9:I10I20E1:'+XuB$CD$:A$".":41000:I1I9:B$$"Y"İ27040:28000:29000!)q,)qX0ı7)qI1XC)qR$,R,C\)qCVR:HVC:RLRLRRn)qD1R$G$(I))qD2R$(CD(I)))qCV:HV:R$)qI:)/u******NUMERIC FIELD EDIT CHECK SUBROUTINE*** *0uB$CD$:A$(32):41000:CDI9:CD1CD$(CD$, (`mQZ1XX(3):G$(QZ)F$(QZ):&(FqM(Gq*******DISPLAY FOUND RECORD******S(Hqj(fqX6:D1:29100:D0t(qX0:(qAN$"S"ı(qAN$"A"UP0ı(qUP0ı(q23::23:"IS THIS IT ? (Y=YES,P=PRINT) ";:AN$:AN$(qAN$"P"İ16000:29070)qAN0533'i******WE HAVE NOW INPUT THE KEY FIELD*****k'iZZ$KF$:26000:GO TO HASHING ROUTINE, GET POSITION'i62960:IPIN(FL,0)IN(FL,2)27057'i40000'i(F$(XX(0)),(ZZ$))ZZ$ı'i"RECORD NOT FOUND":10(_m*******UNPACK FIELDS IN RECORD****ZZ1(ZZ$)%&eXXZZ((ZZ$,ZZ,1))-&eZZT&eX(X):X$(X):RP((X$,5,4)):X0n&eRP(XX(1)RP9999):&xi******LOOK FOR RECORD SUBROUTINE****&iRT1:EM0:FCXX(0):1002:KF$G$(XX(0))&iEM027010'iZZ$KF$:KY$ZZ$:62200:(FD1)27057:2722)5ĺ"END OF DATA.":10>%a"ERROR ENCOUNTERED IN LINE";ERL%aERL256ERL15ĺ"YOU HAVE PROBABLY MADE A SYNTAX ERROR IN EDIT SPECIFICATIONS"%aERR(222)%a"ERROR NUMBER IS ";ERR:D$;"CLOSE":%e****HASHING ALGORITHM SUBROUTINE**** &eX0:D:16050::SL,SD'$>D$;"PR#0":255:X$>200:SPSMSM39:CR(SP)128:CR32CR32h$>(CR);::u$U F1,1,1$U F2,2,2$U F3,3,3$U F4,4,4$U F5,5,5$U F6,6,6$a********BEGIN ERROR ROUTINE******$aERL(218)(219)256%a(2S UPDATE #6#k9'#l9 MASS UPDATE #7-#9C#9 MASS UPDATE #8I#3:_#4: MASS UPDATE #9e#:|#: MASS UPDATE #10#:#> ****** DISPLAY RECORD ON PRINTER ******$>1::D$;"PR#1"::"**** ";SL$;" ****":SD1024110440:SL07:SMSL128S"6 *** UPDATE TITLES ***#"6i"7UP14100,14200,14300,14400,14500,14600,14700,14800,14900,15000:"7 MASS UPDATE #1"w7"x7 MASS UPDATE #2"7"7 MASS UPDATE #3"?8"@8 MASS UPDATE #4"8"8 MASS UPDATE #5"9 #9 MAS#eTP$""ĺ"INVALID TITLE":7150je "WHERE DO YOU WANT THE TITLE TO APPEAR ON THE SCREEN? (R-C) ";CP$e2470:DLDL1:TT$TP$","RR$","CC$e 7100:Ie*CI1:60:"29020 X=";C;":GOSUB 29100":D$:e4:e>I1A%fH"FIELD ";I;" TO APPEA"SAVE ";(F$,(F$)4):"RUN":D$:D$;"CLOSE"?!6D$;"CLOSE":_!6 *** MASS UPDATE CODE ***!6 *** MASS UPDATE TITLES ***!614050:UX1UC:TB:UX;" ";UP$(UX):!6UC0ı"6:"ENTER YOUR SELECTION :";UP$:UP(UP$):UPUC14045:UP114045: 41410014199:% 41420014299:8 41430014399:K 41440014499:^ 41450014599:q 41460014699: 41470014799: 41480014899: 41490014999: 41500015099: 5::"UPDATE FILE":::14040:UP0ı 535000:-!613130:;"EXEC AUTO/EXEC":13000F3"-NOT AVAILABLE-":"HIT ANY KEY";:AN$:Z4 *** LIST ***4::"LIST UPDATE FORMAT":::140404UP13521,13522,13523,13524,13525,13526,13527,13528,13529,135304UC1UC10ı4:"-HIT ANY KEY-";::UP$:13000130:14000UC100CL;CL$:D$1h3CLCL1::13151j313130:"SAVE ";(F$,(F$)4):"RUN":D$:D$;"CLOSE"z3D$;"CLOSE"3::"DO YOU WANT TO ADD THIS UPDATE FORMAT"::"TO THIS PROGRAM? (Y/N) ";:UP$:UP$:UP$"N"13000:UP$"Y"13210:132003D$XEC":T313130:"E":"X":D$CY3"ENTER THE UPDATE TITLE :";UD$[313130:UCUC1:14050UC;"UP$(";UC;")=";Q$;UD$;Q$:"13003 UC=";UC^3D$::"LET'S BEGIN NOW. ENTER 999 TO END.":CL1_3:"CALCULATION #";CL;" :";:CL$c3CL$"999"13198e313)3E1: uE0: uX LENGTH EXCEEDED"::50000!9DZK9ǡ:IFCXX(3):40050::FCXX(3):1008s9_ ********** BINARY SORT **********9` === OPEN INDEX ===9eꥫ320009:"OPENING INDEX"::630509KY15:63500:9"쥫320009,9T ==== CLOSE INDEX ===:;(8);::!87Dz ==== INPUT FIELD:88ǢVT:HT:PP$;:51100K8BǺPP$;:51100c8LǢVT:HT:PP$:51100l8VǺPP$8Ǻ" ";:(PE$,XX(FC3));(BP$,XX(FC3));:RT2RT1:8DŽ"";G$(FC):G$(FC)""ĭ(G$(FC))19511508Dz -EXIT-9ǭ(G$(FC))XX(FC3)EM$"MA0:A1(A95)32:A$(A1):BA(95(A132))32:B$(B)G7A0A$(126)T7A$A$B$Z7t7ʷB$(A$,1):A$(A$,1)7ϷA(A$)32:B(B$)327޷A95AB45607跱7PíBL$"Y"ĺ(7);7ZEM(EM$):EM$;:ER$"N"ı 8dÁLP1SC500::LP1EM:(8);" "-6 *** OUTPUT FIELD RECORD ASSIGNMENT ***J6D$;"WRITE ";FI$;",R";RPS6RL0^6OP$""n6JI1XX(3)6RLXX(JI3)245ĺOP$:RL0:OP$""6RLRLXX(JI3):OP$OP$G$(JI):JI6OP$6AN$"E"ĺD$:NRRP:61400: INDEX6D$:47AA456;FI$;",R";RP:&5D$;"DELETE ";FI$:D5 LEFT JUSTIFY FIELDS ***h5(B$)HPB$(B$,1,HP):412305B$B$(SP$,1,HP(B$))55TJI1XX(3)5^IFXX(JI + 3) = 2 THEN A = VAL (G$(JI)): GOSUB 47000:G$(JI) = A$ 5hF$(JI)G$(JI)5JI6(4wG$(I)G$(I)(SP$,XX(I3)(G$(I))).4|F4(JI1(B$)1(A$)j42(B$,JI,(A$))A$I9JI:41040r4(G$(SF))(SM$)(G$(SF)EST ITEM TO SCAN ";LR$b0SM$(SM$,XX(SF3)):(SM$)XX(SF3)āI(SM$)1XX(SF3):SM$SM$" ":0LR$(LR$,XX(SF3)):(LR$)XX(SF3)āI(LR$)1XX(SF3):LR$LR$" ":0K164:KYK:FL1:63500:IN(FL,2)0354201XX1IN(FL,2):IPIN(FL,0)XX:ST$"S"35000"/LjST$"A"35310(/̈i/ֈ:"WHAT FIELD NUMBER DO YOU WISH TO SCAN BY ";SF$:SF(SF$)/:"NUMERIC OR ALPHA SCAN (N/A) ";:SN$:SN$/ꈭSN$"N"SN$"A"35040/:"WHAT IS THE SMALLEST ITEM TO SCAN ";SM$0:"WHAT IS THE LARG60900:41100:63050:QZ1XX(1):NRQZ:RPQZ:40000\.A$(127):LL(IN$):16:IN$B$33030}.ZZ$F$(XX(0)):KY$ZZ$:61400.:1.*********BEGIN THE RECORD SCANNING FEATURE**.::"SCAN ALL OR SELECTED RECORDS (A/S) ";:ST$:ST$/ˆST$"A" WHILE.""-%}60900: CREATE INDEX4-(}41150:41100?-)}AZ$""^-*}I1255:AZ$AZ$(127):Im-2}I0XX(1)-3}D$;"WRITE ";FI$;",R";I-4}RL0-5}JI1XX(3)-7}RLXX(JI3)245ĺ(AZ$,RL):RL0-<}RLRLXX(JI3):JI:(AZ$,RL)-F}I:41120:12.耰ARNING ***":::"THIS WILL ERASE ALL PREVIOUS ENTRIES!",}:"C - CONTINUE INITIALIZATION":"F - FIX INDEX BASED ON DATA FILE",}:"CHOOSE ONE (C,F, ANY FOR MENU) ";,}AN$:AN$:AN$"C"AN$"F"10,!}AN$"F"33000-#}"THIS WILL TAKE A LITTLE(B$,I11):41000:I2I9:I10I20E1:-+bu\+y****ALPHA FIELD EDIT CHECK SUBROUTINE****m+yZZ1(CD$)+"y((CD$,ZZ,1)"9"(CD$,ZZ,1)"0")E1:+,yZZ+6y+}***********INITIALIZE THE HASHED FILE*****8, }:"INITIALIZE FILE :";::"*** W N(FL,1)IN(FL,1)SF:IN(FL,0)IN(FL,0)SF(SNOK):63400MC:KYOK:63500:S(FL,1)IN(FL,2):SNKY.B:SF10SF15:SN64?BSF(SF.75)[B === MOVE POINTERS ===BKYSN(1(SNOK))OK(1(SNOK))(OKSN):63500BIN(FL,2)063660BKX1IN(FL,2):IPKXIN(FL,0)B63100:KP:IPIPSF(SNOK):63150:KP:8CI INDEX *****A IPKY32:63100:IN(FL,0)GAIPIP1:63100:IN(FL,1)dA IPIP1:63100:IN(FL,2)nA*D$:Ao === SHUFFLE INDEX FOR FREE SPACE ===ApOKKY:SN0:SF0::"WAIT... RE-ORGANIZING INDEX":BzKY164:63500:IN(FL,1)IN(FL,2)SFSFIN@|D$;"READ ";N$(FL);"INDEX,R";IP:K@D$;"WRITE ";N$(FL);"INDEX,R";IP:q@D$;"CLOSE ";N$(FL);"INDEX":D$:@ **** WRITE INDEX ****@IPKY32:63150:IN(FL,0)@IPIP1:63150:IN(FL,1)@IPIP1:63150:IN(FL,2)@D$: A **** READX(0))629159?IPIP1:BTBT1:63100:NR:RPNR:40000:U? ==== NEXT RECORD ====~?IPIN(FL,0)IN(FL,2)BTBT1:62980?IPIN(FL,2)IN(FL,0)1:?IPIP1:63100:RP:40000:? === FILE I/O CALLS ===?JD$;"OPEN ";N$(FL);"INDEX,L";LN:$KP:40000:KK$F$(XX(0)): READ HASHED RECORD FROM P/W f>PKK$KY$FD3:(AN$"F"AN$"E")62910:>KK$KY$TPMD1:62450>KK$KY$BTMD1:62450> ==== REWIND ====>IPIN(FL,0)1ı ?IPIP1:BTBT1:63100:NR:RPNR:40000:KY$F$(X:63100:KP:IPIP1:63150:KP$=5=63400:D$:Q= === SEARCH RECORD ===n=*KY((KY$,1))31:63500=IN(FL,2)0FD1:BT1:=TPIN(FL,2):BT1=BTTPMD(BTTP)2=$BTTPFD1:=VMD(MD)=IPMDIN(FL,0):63100:KP:D$7>RP)X:63100:KP%99"|"ERROR MESSAGE :TOO LARGE! RANGE 9-99."R WHERE ON THE":"SCREEN? (R-C) ";CP$/fR2470^f\R$"F"(I):DLDL1:TT$R$","RR$","CC$kff7100:Ifp60:"29030 X=";A;":D=1:GOSUB 29100:D=0"fuD$:fz:fI1Ng:"WHERE DO YOU WANT CD(";I;") TO APPEAR":" ON THE SCREEN? (R-C) ";C"E"SL$"ENTRY":10007AN$"L"SL$"LOOK UP":10000VAN$"S"SL$"SCAN":35000w"AN$"U"SL$"UPDATE":11000,AN$"D"SL$"DELETE":120006AN$"I"SL$"INITIALIZE":32000;AN$"F"SL$"MASS UPDATE":13000@AN$"X"12060500................... X"B "INITIALIZE FILE .................. I" :"PLEASE DEPRESS THE LETTER CORRESPONDING TO YOUR CHOICE. NO ENTER KEY IS NEEDED." :"TO RETURN TO THE MENU TYPE 'END'":"FOR AN ENTRY INTO ANY FIELD." AN$:FF$AN$AN$"LOOK UP/PRINT RECORD.............. L". Z "SCAN/PRINT RECORDS................ S" "UPDATE RECORD .................... U" "UPDATE FILE ...................... F" "DELETE RECORD .................... D"  "PROGRAM EXIT ..qN$(1)F$:FLXX(0):41100:60000: OPEN FILE & INDEX O r41100: OPEN FILE [ s25000 xI1XX(3):G$(I)"":I:FC0::UF0:G$"" 4)"PRODUCED BY THE PROGRAM WRITER": (2012)::"2": "DATA ENTRY ....................... E"( $ (25000> F******** SET UP FIELDS IN THE DATA FILE**** P XX(1)=#OF RECD'S XX(2)=REC LEN XX(3)=#OF FIELDS XX(I)=FIELD LEN 1 TO 1 ZXX(1)1:XX(2)1:XX(3)1 dXX(4)0: n41100: OPEN FILE pIN(5,2),N$(5):LN((XX(1)))2:LN4LN56 B$=STRING$(LL,A$)/ D$(4): DOS CONTR0L(D)a XX(200),F$(200),G$(200):BL$"N":ER$"N":SC1 XX(0)1:DR$"D1":FI$"S/DAT:6": XX(0)=FIELD NUMBER, DR$=DRIVE NUMBER, FI$=DATA FILE NAME LL200:A$" ":16:SP$B$:A$(8):16:BP$B$:A$".":16:PE$B: **** P/W WITH SORT ****D**********PROGRAM NAME:S/BAS***k********DATA FILE NAME:S/DAT:6***********DATA FILE IS ON DRIVE 6**********NUMBER OF RECORDS=1***** :F$"S/DAT":20 114 B$"":JI1LL:B$B$A$:JI::                     !! ! I3x2J1XX(3):G$(J)(BR$,XX(J3)):J:42000:10O2 *** MASS UPDATES ***t2:::"MASS UPDATES"::Q$(34)2TB5:6:TB:UP02"(A)DD A MASS UPDATE FORMAT"2:TB:"(D)ELETE A MASS UPDATE FORMAT"2:TB:"(L)IST A MASS UPDATE FORMAT"Y TO FIND THE RECORDJ/*******UNPACK THE FIELDS IN THE FILE FOR DISPLAYU/280001*******DISPLAY RECORD IF MATCH ON KEY***229000d2******DELETE CODE WRITTEN INTO ALL FIELDS****i2BTIPIN(FL,0):62170n2BR$"":I1200:BR$BR$(127):1200:BR$BR$(127):IO|.J1XX(3):G$(J)(BR$,XX(J3)):J:RPOP:42000:10.*****INSERT CHANGED FIELDS INTO RECORD AND SEND OUT TO FILE..41300:42000:10.*********BEGIN THE RECORD DELETE ROUTINE****.:"DELETE WHICH:".27000: TRUF:10026Y."UPDATE ANOTHER FIELD? (Y/N) ";:S$:S$H\.S$"Y"11810]^.KUXX(0)11998c.ZZ$G$(XX(0)):OPRP:26000:RPRP1h.OPRP11998m.40000:F$(XX(0))(121)ī11894r.RPRP1:RPXX(1)RP1t.11885v.41300:42000y.BR$"":I8Ģ1:1 AN$+ (AN$)27FLG1:1020a FLG1AN$"X"ĺ(7);(7);(7):AN$:AN$"X"2000 FLG1AN$"I"AN$"J"AN$"K"AN$"M"FLG0 $FLG01120 .AN$"I"(37)0Ģ((37)):1020 8AN$"M"(37)23Ģ((37)2):1020 BAN$"K"EEN"- (:"HIT ESCAPE THEN I,J,K,M TO MOVE"Q 2:"HIT ESCAPE THEN X TO EXIT."x <"THE COMPUTER WILL BEEP 3 TIMES." F"HIT X AGAIN OR ANY OTHER KEY TO STOP." 24::"HIT ANY KEY";::AN$  **** VIDEO ENTRY **** : (37)23(36)3R :GSC$(24),VT(200),HT(200),PM$(200),LN(200),VF(200),HF(200)n :"PROGRAM WRITER SCREEN SETUP"::"THIS PROGRAM IS USED TO DEFINE THE"::"ENTRY AND OUTPUT SCREEN FOR THE"::"PROGRAM WRITER." :"USE THE ESC KEYS TO MOVE AROUND SCR  ! "ELDS IN THE FILE FOR DISPLAY'+28000U.*******DISPLAY RECORD IF MATCH ON KEY***`.29000"."WHAT LINE NUMBER DO YOU WANT TO "$."UPDATE? ";UF$,.UF(UF$)@.UFXX(3)UF1ĺ"INVALID FIELD":11810J.UFXX(0)KUXX(0)O.T.RT1:FCв******UNPACK THE FIELDS IN THE FILE FOR DISPLAY;'28000f/********DISPLAY RECORD IF MATCH ON KEYq0*29000zl*120**********BEGIN THE FILE UPDATE ROUTINE*******:"UPDATE WHICH:"+27000: TRY TO FIND THE RECORD+******UNPACK THE FI"THE DOLLAR FORMAT REQUIRES ALL NUMBERS":"AND TWO DECIMAL PLACES."k :"GOOD ENTRIES - 1.10 90.3 35" "BAD ENTRIES - 1..0 3.004 $35" ; :"CONTAINS";Q$;"Z";Q$::"CONTAINS MAY BE USED TO SEE IF THE":"DATA ENTERED HAD A SPECIFIC LETTERBLE ENTRY REQUIRES 2 SLASHES":"AND THE PROPER MONTH AND DATE."g :"GOOD ENTRIES - 1/1/82 10/11/83" "BAD ENTRIES - 1/1 13/1/82 1/0/81" :24:"HIT ANY KEY TO CONTINUE";::AN$ :"BAD IF ENGLISH COMMANDS ...":D :"NOT DOLLAR"::RIC"::"ENTRY OF NUMBERS -.0123456789 ONLY."3 n :"NOT ALPHA"::"PERMITS ONLY ENTRY OF LETTERS A-Z."t :"NO ENTRY"::"DOES NOT ALLOW THE FIELD TO BE EMPTY." ? :"NOT DATE"::"THE DATE MUST BE ENTERED AS MM/DD/YY":"THE ALLOWAA") P10:"ERROR MESSAGE : NO NUMBERS!"G Z:" IF YOU ENTER....":^ d10:"NAME : BOB1" n:" THE COMPUTER RESPONDS...": x10:"NO NUMBERS!" :24:"HIT ANY KEY TO CONTINUE";::AN$ :"BAD IF ENGLISH COMMANDS ...":- :"NOT NUME :Q$(34)& :"BAD IF'S -":P"BAD IF'S SET ERROR CONDITIONS THAT"}:"WILL CAUSE YOUR ERROR MESSAGE TO BE"(:"DISPLAYED WHEN THE CONDITION THAT YOU"2:"SPECIFY BECOMES TRUE."<:" EXAMPLE...": F10:"BAD IF : NOT ALPH    : MASS UPDATE #10#:H#> ****** DISPLAY RECORD ON PRINTER ******#>1::D$;"PR#1"::"**** ";SL$;" ****":SD1024110440:SL07:SMSL128SD:16050::SL,SD#>D$;"PR#0":255:#>200:SPSMSM39:CR(SP)128:CR32CR32$>(CR);::"7 MASS UPDATE #1"w73"x7 MASS UPDATE #29"7O"7 MASS UPDATE #3U"?8k"@8 MASS UPDATE #4q"8"8 MASS UPDATE #5"9"9 MASS UPDATE #6"k9"l9 MASS UPDATE #7"9"9 MASS UPDATE #8"3:"4: MASS UPDATE #9":#** MASS UPDATE TITLES ***C!614050:UX1UC:TB:UX;" ";UP$(UX):O!6UC0ı!6:"ENTER YOUR SELECTION :";UP$:UP(UP$):UPUC14045:UP114045:!6 *** UPDATE TITLES ***!6"7UP14100,14200,14300,14400,14500,14600,14700,14800,14900,15000:014699: 41470014799:/ 41480014899:B 41490014999:U 41500015099: 5::"UPDATE FILE":::14040:UP0ı 535000: 613130:"SAVE ";(F$,(F$)4):"RUN":D$:D$;"CLOSE" 6D$;"CLOSE": 6 *** MASS UPDATE CODE ***!6 *T UPDATE FORMAT":::14040_4UP13521,13522,13523,13524,13525,13526,13527,13528,13529,13530q4UC1UC10ı4:"-HIT ANY KEY-";::UP$:1300041410014199:41420014299:41430014399:41440014499:41450014599: 41460E"3D$;"CLOSE"3::"DO YOU WANT TO ADD THIS UPDATE FORMAT"::"TO THIS PROGRAM? (Y/N) ";:UP$:UP$:UP$"N"13000:UP$"Y"13210:132003D$;"EXEC AUTO/EXEC":130003"-NOT AVAILABLE-":"HIT ANY KEY";:AN$:4 *** LIST ***4::"LISUC;")=";Q$;UD$;Q$:"13003 UC=";UCV^3D$::"LET'S BEGIN NOW. ENTER 999 TO END.":CL1{_3:"CALCULATION #";CL;" :";:CL$c3CL$"999"13198e313130:14000UC100CL;CL$:D$h3CLCL1::13151313130:"SAVE ";(F$,(F$)4):"RUN":D$:D$;"CLOS1)=STR$(CD(3)+VAL(G$(4)))":b93D$;"OPEN AUTO/EXEC":D$;"CLOSE AUTO/EXEC":D$;"DELETE AUTO/EXEC"@3D$;"OPEN AUTO/EXEC":13140J3D$;"WRITE AUTO/EXEC":T313130:"E":"X":D$Y3"ENTER THE UPDATE TITLE :";UD$![313130:UCUC1:14050UC;"UP$(";BE ADDED! ***"::"10 MASS UPDATES ALREADY EXIST."::"-HIT ANY KEY-";:UP$:63"PLEASE ENTER THE FORMULAS THAT YOU WISH"::"TO UPDATE YOUR FILE WITH.":73"CD(X) HAS CALCULATED DATA."::"G$(X) CONTAINS THE STORED FILE DATA."83:"EXAMPLE -> G$(2I9(A$)):10060I9:I903855iV'I9EQ10090ji`'DD$"STR$("(DD$,EQ1)")":DD$"G$("(((B$,I93)))")="DD$:10060ij'FL((B$,I93)):B$(DD$,FI3):A$(FL):6330it'I90ĺ"ERROR! FIELD NUMBER MISSING!"::3859j~'DD$(DD$,1,FI1)"VAL(G$("A$"))"(DD$,FIPC(A9$")"):^h.'POPCĺ"ERROR! THE OPENING AND CLOSING":"BRACKETS DO NOT EQUAL!"::3850h8'B$(DD$,I91):6330:I90ĺ"ERROR! USE ONLY ONE EQUALS!"::3850hB'(DD$)0ĺ"ERROR! USE LETTERS BEFORE THE EQUALS!"::3850iL'B$DD$:A$"FL#":6330:FIP$(g2470:TT$"CD(I)"","RR$","CC$=gDLDL1:7100:Ipg60:"29050 X=";N;":D=2:GOSUB 29100:D=0":D$:g'B$DD$:A$"=":6330:EQI9:I90ĺ"ERROR! NO EQUALS IN EQUATION!"::3850g'PO0:PC0h$'JI1(DD$):A9$(DD$,JI,1):POPO(A9$"("):PC(36)39Ĺ36,(36)1:1020@ LAN$"J"(36)0Ĺ36,(36)1:1020J V1020e `(AN$)13(37)23Ģ1u iAN$;:1020 j ****** READ VIDEO DISPLAY ******" tSX0:SD1024110440:SL07:SMSL128SD:SXSX1:1160:SL,SD ~ SC$(SX)"":SPSMS OR":"WORD IN IT. IF A MATCH IS MADE AN":"ERROR RESULTS." :"FOR EXAMPLE - A CONTAINS";Q$;"BOB";Q$;"WOULD":"DO THE FOLLOWING..." :10:"NAME : MISTER BOB" :10:"DO NOT ENTER A BOB!" :24:"HIT ANY KEY TO CONTINUE";::AN$:"BA'2:TB:"(U)SE A MASS UPDATE FORMAT"K2:TB:"(E)XIT TO PROGRAM MENU"S2182"ENTER YOUR CHOICE (A,D,L,U,E)? ";:UP$:UP$3UP$"E"10:UP$"A"13100:UP$"D"13300:UP$"L"13500:UP$"U"13700:13000M,3:UC10ĺ"*** NO MORE UPDATES CAN " ":40K164:KYK:FL1:63500:IN(FL,2)035420]0XX1IN(FL,2):IPIN(FL,0)XX:63100|0K$:RP(K$):40000:353300RPK:400000F$(XX(0))(121)354200 280000UP0İ14099:I1XX(3):40050::41300:420000ST$"A"35400 1 SSN$"A"35040>/:"WHAT IS THE SMALLEST ITEM TO SCAN ";SM$m/:"WHAT IS THE LARGEST ITEM TO SCAN ";LR$/SM$(SM$,XX(SF3)):(SM$)XX(SF3)āI(SM$)1XX(SF3):SM$SM$" ":0LR$(LR$,XX(SF3)):(LR$)XX(SF3)āI(LR$)1XX(SF3):LR$LR$NNING FEATURE**I.::"SCAN ALL OR SELECTED RECORDS (A/S) ";:ST$:ST$f.ˆST$"A"ST$"S"35000y.LjST$"A"35310.̈.ֈ:"WHAT FIELD NUMBER DO YOU WISH TO SCAN BY ";SF$:SF(SF$).:"NUMERIC OR ALPHA SCAN (N/A) ";:SN$:SN$/ꈭSN$"N"LXX(JI3)245ĺ(AZ$,RL):RL0@-<}RLRLXX(JI3):JI:(AZ$,RL)Q-F}I:41120:1-耰60900:41100:63050:QZ1XX(1):NRQZ:RPQZ:40000-A$(127):LL(IN$):16:IN$B$33030-ZZ$F$(XX(0)):KY$ZZ$:61400-:1.*********BEGIN THE RECORD SCA";&,}AN$:AN$:AN$"C"AN$"F"109,!}AN$"F"33000_,#}"THIS WILL TAKE A LITTLE WHILE."y,%}60900: CREATE INDEX,(}41150:41100,)}AZ$"",*}I1255:AZ$AZ$(127):I,2}I0XX(1),3}D$;"WRITE ";FI$;",R";I,4}RL0,5}JI1XX(3)-7}R1+}***********INITIALIZE THE HASHED FILE*****+ }:"INITIALIZE FILE :";::"*** WARNING ***":::"THIS WILL ERASE ALL PREVIOUS ENTRIES!"+}:"C - CONTINUE INITIALIZATION":"F - FIX INDEX BASED ON DATA FILE",}:"CHOOSE ONE (C,F, ANY FOR MENU) 0:I1I9:B$(B$,I11):41000:I2I9:I10I20E1:~*XuB$CD$:A$".":41000:I1I9:B$(B$,I11):41000:I2I9:I10I20E1:*bu*y****ALPHA FIELD EDIT CHECK SUBROUTINE*****yZZ1(CD$)*"y((CD$,ZZ,1)"9"(CD$,ZZ,1)"0")E1:*,yZZ+6yUMERIC FIELD EDIT CHECK SUBROUTINE***c)0uB$CD$:A$(32):41000:CDI9:CD1CD$(CD$,CD1):30000)2uCD1CD$(CD$,2):30000)5uZZ1(CD$)):u(CD$,ZZ,1)"0"(CD$,ZZ,1)"9"ĭ(CD$,ZZ,1)"."(CD$,ZZ,1)"-"E1:)DuZZ3*NuB$CD$:A$"-":410023::23:"IS THIS IT ? (Y=YES,P=PRINT) ";:AN$:AN$O(qAN$"P"İ16000:29070r(qAN$"Y"İ27040:28000:29000x(q(qX0ı(qI1X(qR$,R,C(qCVR:HVC:RLRLRR(qD1R$G$(I)(qD2R$(CD(I))(qCV:HV:R$(qI:%)/u******NX(0)),(ZZ$))ZZ$ı/'i"RECORD NOT FOUND":10W'_m*******UNPACK FIELDS IN RECORD****w'`mQZ1XX(3):G$(QZ)F$(QZ):}'Fq'Gq*******DISPLAY FOUND RECORD******'Hq'fqX1:D1:29100:D0'qX0:'qAN$"S"ı'qAN$"A"UP0ı'qUP0ı4(qXX(0):1002:KF$G$(XX(0))*&iEM027010Z&iZZ$KF$:KY$ZZ$:62200:(FD1)27057:27053&i******WE HAVE NOW INPUT THE KEY FIELD*****&iZZ$KF$:26000:GO TO HASHING ROUTINE, GET POSITION&i62960:IPIN(FL,0)IN(FL,2)27057&i40000'i(F$(XRROR NUMBER IS ";ERR:D$;"CLOSE":M%e****HASHING ALGORITHM SUBROUTINE****b%eX0:ZZ1(ZZ$)|%eXXZZ((ZZ$,ZZ,1))%eZZ%eX(X):X$(X):RP((X$,5,4)):X0%eRP(XX(1)RP9999):%xi******LOOK FOR RECORD SUBROUTINE****&iRT1:EM0:FC $U F1,3,34$a********BEGIN ERROR ROUTINE******N$aERL(218)(219)256p$a(222)5ĺ"END OF DATA.":10$a"ERROR ENCOUNTERED IN LINE";ERL$aERL256ERL15ĺ"YOU HAVE PROBABLY MADE A SYNTAX ERROR IN EDIT SPECIFICATIONS"$aERR(222)#%a"EM39:CR(SP)128:CR32CR32= SC$(SX)SC$(SX)(CR)::~ X1200:VT(X)0:HT(X)0:PM$(X)"":LN(X)0:VF(X)0:HF(X)0: PM0:1140: "STEP 1 : SCREEN READ"  "STEP 1 : -COMPLETE-"  "STEP 2 : DECODE SCREEN LAYOUT"  S"f"TO BE ENTERED THEN ..."::5:"BAD IF : LENGTH<10":5:"ERROR MESSAGE : PLEASE ENTER ALL 10!"":24:"HIT ANY KEY TO CONTINUE";::AN$6:"BAD IF LOGICAL OPERATORS..."@::">9 <100 =";Q$;"JUNK";Q$;" <>657":^J:"THE LOGICAL OPED IF ENGLISH COMMANDS ..."::"LENGTH<10"::"THE LENGTH STATEMENT PERMITS YOU TO ":"CONTROL THE NUMBER OF CHARACTERS THAT":"ARE ACTUALLY ENTERED INTO A FIELD.":"FOR INSTANCE YOUR FIELD LENGTH IS 10.":"IF YOU WISH TO FORCE ALL 10 CHARACTER63100:RP:40000:/? === FILE I/O CALLS ===U?JD$;"OPEN ";N$(FL);"INDEX,L";LN:{?|D$;"READ ";N$(FL);"INDEX,R";IP:?D$;"WRITE ";N$(FL);"INDEX,R";IP:?D$;"CLOSE ";N$(FL);"INDEX":D$:? **** WRITE INDEX ****@IPKY32:63150:IN(FL REWIND ====!>IPIN(FL,0)1ıb>IPIP1:BTBT1:63100:NR:RPNR:40000:KY$F$(XX(0))62915>IPIP1:BTBT1:63100:NR:RPNR:40000:> ==== NEXT RECORD ====>IPIN(FL,0)IN(FL,2)BTBT1:62980>IPIN(FL,2)IN(FL,0)1:?IPIP1:TPMD(BTTP)2!=$BTTPFD1:.=VMD(MD)P=IPMDIN(FL,0):63100:KP:D$=RPKP:40000:KK$F$(XX(0)): READ HASHED RECORD FROM P/W =PKK$KY$FD3:(AN$"F"AN$"E")62910:=KK$KY$TPMD1:62450=KK$KY$BTMD1:62450 > ====FD1ı0SC$(C)SP$2900D HL140Y RM$(SC$(C),L,1)z \M$" "PM$""LN(PM)02890 _M$" "LN(PM)0PM0PMPM1:LN(1)LN(0) aM$" "LN(PM)0PM$"":PMPM1:2890fM$"-"PM$""PMPM1:VT(PM)C:HT(PM)L$2@ *** INPUT FIELD ASSIGNMENT ***@2BD$;"READ ";FI$;",R";RPI2DIN$W2FI91:RL0g2HJI1XX(3)2IRLXX(JI3)245ĄIN$:RL0:I912JRLRLXX(JI3):F$(JI)(IN$,I9,XX(JI3))3KIFXX(JI + 3) = 2 THEN A$ = F$(JI): GOSUB 47050:F$(JI) =N$"N"35390-1*G$(SF)LR$G$(SF)SM$3542081435400e1>(G$(SF))(SM$)(G$(SF))(LR$)35420p1H290001MUP0354161R23:"TO EXIT DEPRESS X,ANY OTHER TO CONTINUE";:SS$:SS$1WSS$"X"354501XXX1\K1z411201}UP0ı110٢ϠϠԠĤàϯâϠԠԠŭԠԠ٠٢ԠΤΠ͠ԠŠŠԠԠŠԢ̠Ԡ ԤƤΠƤԠ΢ԠĤԠĤŢԠĤŢŠԠԠϠՠԠϠĠӠŠԢԠԠϠӠͿٯΩԠФԠФΠФ΢ϠΠФ׮ҠϠĮ̠ԠԠΠ̻Ԡ̤Ơ̤Π Ԡà̻̤ԠĤ̠̠ԠϠ ԠŠϯâΠ ԠŢԠآԠĤԠҠŠŠŠĤ ààԠûФûѤĤѤԠýÍԠĤԠԠԧӠΠSNOK))OK(1(SNOK))(OKSN):63500=IN(FL,2)063660_KX1IN(FL,2):IPKXIN(FL,0)63100:KP:IPIPSF(SNOK):63150:KP:IN(FL,1)IN(FL,1)SF:IN(FL,0)IN(FL,0)SF(SNOK):63400:KYOK:63500:+o === SHUFFLE INDEX FOR FREE SPACE ===bpOKKY:SN0:SF0::"WAIT... RE-ORGANIZING INDEX":zKY164:63500:IN(FL,1)IN(FL,2)SFSFIN(FL,1)IN(FL,2):SNKY:SF10SF15:SN64SF(SF.75) === MOVE POINTERS ==='KYSN(1("" " " " " :PM$PM$M$:2890/pM$"-"PM$PM$M$:2890VuM$"-"LN(PM)0VF(PM)C:HF(PM)L~zM$"-"LN(PM)LN(PM)1:PM$(PM)PM$J LM (PM$)0ĭ(SP$,(PM$))PM$2900O (PM$)0LN(PM)0PM$(PM)PM$:PMPM1:PM$""T C^ "STEP 2 : -COMPLETE-"0#BKX1IN(FL,2):IPKXIN(FL,0)QB63100:KP:IPIPSF(SNOK):63150:KP:BIN(FL,1)IN(FL,1)SF:IN(FL,0)IN(FL,0)SF(SNOK):63400B:KYOK:63500:SF0::"WAIT... RE-ORGANIZING INDEX":lAzKY164:63500:IN(FL,1)IN(FL,2)SFSFIN(FL,1)IN(FL,2):SNKYA:SF10SF15:SN64ASF(SF.75)A === MOVE POINTERS ===AKYSN(1(SNOK))OK(1(SNOK))(OKSN):63500BIN(FL,2)06366STORE:X=";C;":GOSUB29100"SdPE$"Y"ĺ"1000 HOME:D=0:X=";C;":RESTORE:GOSUB 29100"]dD$:dKL22000DL:60:KL;" DATA ";TT$dD$:d:dI1300d(37)18ėd:"TITLE FOR DISPLAYED DATA. TYPE 999":"TO END ";TP$eTP$"999"7210END "cN" ";TH$"cX(37)17ė6cbTH$"999"7070ZclTH$""ĺ"INVALID HEADER":6980cv"WHERE DO YOU WANT THE HEADER TO APPEAR":"ON THE SCREEN? (R-C) ";CP$c2470cTT$TH$","RR$","CC$cDLDL1:7100ccCI1:60d"29010 RE,0) @IPIP1:63150:IN(FL,1)=@IPIP1:63150:IN(FL,2)G@D$:b@ **** READ INDEX ****@ IPKY32:63100:IN(FL,0)@IPIP1:63100:IN(FL,1)@ IPIP1:63100:IN(FL,2)@*D$:@o === SHUFFLE INDEX FOR FREE SPACE ==='ApOKKY:SN0:Π͠٠ĠĪŠؠŠƠΤӢΠΠƠΤĠРΠΠƠРΠΠ Ԡ ԠӠӠԾΨ̬Ψ̬Π ƠԤƤبΠڤڤΠΠԠԠĠԠĢϠ͠ˠӠΠĪҠڠϠبǤکƤکԠƠ͠ΠڤƤ٤ڤ ΠĠϠϠ͠ŠŠנԠŠ٠ĪڤƤ ͠ϠϠǠŬԠ΍ ƠРàĤڤڬԠڍؠǠةؤҤةР̠ĤؤؠРԠبРΠ͠ˠҠĠŪԠ͠àب ƤǤبԠՠŠ٠ŠؠҠΠԠӢҠˠԠҠҠӠҺԠĤŢР͠Ǡ͠ŪؠҠڠϠΠڤؠؠڠԠΠ͠ΠҠŪ̠ˠˠƠˠΠԠĠƠϠԠҠĠΠŢ̍Ơ̠Ġ̠ΠҠĠϠРҠ̠Ϡ̠͠ĺ ԠԠ̬čԠĤңĽΠĽҠР͠Ϡ͠ҠˠЩƠҠΠҠԠҤҩ͠ӠŠΠ͠ӠŠΠ͠ӠŠΠ͠٠ĠΠҠ ԠԠĤңԠԠ̤Ϡ͠ӠŠΠ͠ӠŠΠ͠ӠŠΠ͠ӠŠΠ͠ӠŠΠ͠ӠŠΠ)h ::"HIT ANY KEY FOR REVIEW";::AN$3r 4000A :X1PM[ VT(X)0HT(X)03014z VT(X):HT(X):PM$(X);" "; VF(X)0HF(X)03030 VF(X):HF(X) XX1LN(X):"-";:  1020X1PM10:"PROMPT","WIDTH":"-----","