LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)<DO=0:60000 RT=0:XX=:œ12 :11 :root(FL)>041150 :2104B$=A$:JI=17:B$=B$+B$:JI::B$=B$+B$,1,80): œ32000 43000:A$=" ":16:SP$=B$:A$=8):16:BP$=B$:A$=".":16:PE$=B$( ON ERR GOTO 25000 F Data?TEST.FRM5P73)(MAIL.DATW73)MAIL.NDXMAIL.DATMAIL.FRM2dTEST.BAK3TEST *uPQEu' &QECODE.XXX  <d)SALES.FRM(ddMAIL.FRM+d(MAIL.BAS-D 3#3&$MAIL 3#CM3'MAIL.NDXU >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L File Field Sizes /IN(5,2),N$(5):LN=XX(1)))+2:LN=4LN=51N$(2)=F$:FL=2:FF=1:41130: OPEN FILE & INDEX Main Selection Menu +I=1XX(3):G$(I)="":I:FC=0:UF=0:G$="" :RT=04=(22):"PRODUCED BY Quick & Easy Data Master":  !"#$%&FL#"+WD(0)+1)'DCHD$(WD(0)+1)<>""PN$=HD$(WD(0)+1)zbC"Enter data to print #";wd(0)+1;" (999 to END default=";pn$;") ";:"";hd$(wd(0)+1):hd$(wd(0)+1)=""hd$(wd(0)+1)=pn$FeCHD$(WD(0)+1)="":"YOU MUST ENTER SOMETHING TO PRINT!"::17290xgCvl=HB INPUT"Page Subtotals (Y/N default=N) ";pn$:IF pn$="" THEN pn$="N" Bpn(3)=0:pn$="Y"pn(3)=1GB INPUT"Report Totals (Y/N default=N) ";pn$:IF pn$="" THEN pn$="N"Bpn(4)=0:pn$="Y"pn(4)=10C::"WHAT TO PRINT"::*:CHD$(WD(0)+1)=""PN$="00:HD$(X)="":$B"MAKE A NEW REPORT":::wd(0)=06B INPUT"Enter a TITLE for your Report ";hd$(0) ""pt$=in$:1,180,24:!> Copy Record to Printer ?15000:#8,pt$:#8: ?"RECORD FOR ->";G$(XX(0)):2?SD=1XX(3):"FIELD #";SD;": ";F$(SD):::#0 ?hB Define a Report B:::X=12$;:=1:3CO$="X"RT=0:"3CO$<>"Y"co$<>"N"13040'31002::CO$;:(3UU$,FC,1)=CO$,363:"UPDATE ";:35030@3P=0G=0 J311070:335300:13120: Select Output Device ,:1,2480,24::PT$=""PT$=".SILENTYPE",:"OUTPUTHICH TO DELETE :";:"/27000:28000:29000:P1=-1&/DO=6:60060:2 Update File Routine 2::UU$=SP$2FC=1XX(3):rt=2:1002:2=24:=1::"Update this Field (Y/N X=EXIT) ?";::CO$3CO$>"Z"CO$=CO$)-32)!3"NXY",CO$)<>0CO)\+3f+=24:=1:"IS THIS CORRECT (Y/N X=EXIT) ";:CO$i+CO$>"Z"CO$=CO$)-32)!k+"NXY",CO$)<>0CO$;:=1:p+CO$="X"z+CO$<>"Y"11070+RT=1:FC=UF:1002+RP=G:28100:42000+ . Delete Record Routine *.:=24::"ENTER WP1=-1>+::FC=1XX(3)?K+FC=XX(0)UU$,FC,1)="N"RT=2:1002:G$(FC);:RT=1:11100AL+UU$,FC,1)="Y"=24:=1::"CURRENT -> ";G$(FC),1,50);:M+RT=1:1002N+=24:=1:SP$,1,70);=R+G$(FC)=SP$,XX(FC+3))RT=2:1002:F$(FC):G$(FC)=F$(FC Y OR N";:9950 'G$="":FC=0::UF=0:XX=:1000' File Look Up Routine *.':=24::"ENTER WHICH TO LOOKUP :";:8'27000:28000:29000:"* Update a Record Routine *+:=24::"ENTER WHICH TO UPDATE :";:* +27000:UU$=SP$:28000:29000::(RT=0)(FC"Z"TM$=TM$)-32)&TM$="N"100&TM$<>"Y"" PLEASE ANSWER"ELSUDIFXCMP",AN$)=0310V@"ELSUDIFXCMP",AN$)1000,10000,35025,11000,12000,330,13000,340,56000,17000,17500E235 J32000T41150::"*** Done ***":  Data Entry For Fields :D=0:X=2::20000 FC=FC+1EI=FC:40140::(EM>0)1002ecords"&=1:"F - Update Any/All Records"&=1:"S - Scan/Modify All Records""=1:"X - Exit Program"''=1:"I - Initialize/Fix Data File")>3:"Please press the letter corresponding to your choice."#6AN$:AN$>"Z"AN$=AN$)-32) ;=5::"DATA ENTRY";:=44::"REPORTING"::%=40:"M - Make a Report Format";=1:"E - Enter Data"=40:"P - Print a Report";% =1:"L - Look Up Single Records"%=1:"U - Update Single Records"%=1:"D - Delete Single Rhd$(wd(0)+1),4)):HD$(WD(0)+1),3)="FL#"VL>XX(3)VL<=0:HD$(WD(0)+1);" *** OUT OF RANGE ***"::17290iCHD$(WD(0)+1),3)="FL#"HD$(WD(0)+1),3)="CD(""Enter the print width (default=";xx(vl+3);") ";:"";PN$:PN$=""PN$=XX(VL+3))jCWD(WD(0)+1)=PN$)lChd$(wd(0)+1)="999"174008vC"Enter print location on page (R-C) ";rc$(wd(0)+1)HwCRC=RC$(WD(0)+1),"-"):RC=0:"YOU MUST ENTER THE DASH!"::172701yCRR=RC$(WD(0)+1)):CC=RC$(WD(0)+1),RC+1))8{CCC<=0CC>=PN(1):"COLUMN OU-}NN$<>"C"AN$<>"F"102}NN$="F"32180+<}"This will take a little while . . . "A}FL=2:N$(FL)=F$:F}do=1:60060(K}#FF,FI$+".DAT",XX(2)+XX(2)/245)+3$P}XX(2)<100XX(1)=100/XX(2))+2S}XX(2)>=100XX(1)=3.Z}#FF,1;0:#FF;XX(1):#FF;0:#ING ***":::"THIS WILL ERASE ALL PREVIOUS ENTRIES!"H}:"C - CONTINUE INITIALIZATION":"F - FIX INDEX BASED ON DATA FILE"3}::"REFER TO THE MANUAL FOR INFORMATION."::'}"CHOOSE ONE (C,F, ANY FOR MENU) ";((}NN$:NN$:NN$>"Z"NN$=NN$)-32)vCD=DD(1):30220:CD$=CD$+B$:E=0: vB$="00"+CD),2):y Alpha Edit Check #6yCD$=""CD$=SP$,1,CD$))@yZZ=1CD$).Jy(CD$,ZZ,1)<="9"CD$,ZZ,1)>="0")E=1Ty:} Initialize File ] }:"INITIALIZE FILE :";::"*** WARNC=CC+1:DD(CC)=XXu:CC<>2E=1:uCD=DD(CC)+17uCD$,DD(CC)+1))<1CD$,DD(CC)+1))>31E=1:uCD$,DD(1)))>3E=1:=uCD=CD$):DD(1)=CD$,DD(1)+1)):DD(2)=CD$,DD(2)+1));uCD$="":30220:CD$=B$+"/":CD=DD(2):30220:CD$=CD$+B$+"/"$CD$,I9+1):CD$=CD$,1,I9)uI9=0CD$=CD$+".":B$="00" uB$=B$+"00",2):CD$=CD$+B$:u Date Edit Check #uCD$=""CD$=SP$,1,CD$))uCD$)<6CD$)>8E=1:uCD$)<1CD$)>12E=1:>uCC=0:XX=CD$)1-1:CD$,XX,1)="/"C,ZZ,1)<"0"CD$,ZZ,1)>"9"CD$,ZZ,1)<>"."CD$,ZZ,1)<>"-"E=1:Xu@]uI1=CD$,"-"):B$=CD$,I1+1):I2=B$,"-"):I1>0I2>0E=1:@buI1=CD$,"."):B$=CD$,I1+1):I2=B$,"."):I1>0I2>0E=1:gu vu30000:I9=CD$,"."):E=1){uI9>0B$=";:AN$:AN$>"Z"AN$=AN$)-32)qAN$="P"16000:29080qAN$<>"Y":q0u Numeric Edit Check '?uE=0:CD$=""CD$=SP$,1,CD$))/DuCD=CD$," "):CD>1CD$=CD$,CD-1):30015IuCD=1CD$=CD$,2):30015NuZZ=1CD$)QSuCD$ >q Hq Display Found Record fqP1=-1pq:22000:20000 qAN$="S"(AN$="A"UP>0)?qF>0=24:=1:"NOT FOUND - THIS IS NEAREST";:=1::29100,q=24:"-PRESS ANY KEY FOR NEXT RECORD-";Qq=23::=23:"IS THIS IT ? (Y=YES,P=PRINT) (0):1002:S$=G$(XX(0)):RT=1:EM>027030iDO=4:60060:P1=-1iRP=S(P1):40000:F=0Gi=24:=1:"NOT FOUND - THIS IS NEAREST";7);:XX=11500::=1::%`m Move F$(x) to G$(x) Array ~mQZ=1XX(3):G$(QZ)=F$(QZ):m Computed Data o use as /VOLUME/FILE ";RP$F#8,RP$:X=09:#8;PN(X): F#8;WD(0):X=0WD(0)'F#8;RC$(X):#8;HD$(X):#8;WD(X)::& N Headers/Titles/Calculations U=23:=1::U:a=23:=1::&xi Look For Record Subroutine ;iRT=1:EM=0:FC=XXD("PN$=CD(VL)),1,WD(WD))DPN$;::LC=PN(2):DZL=LCPN(2)::: E>19'E"Save Report as /VOLUME/FILE ";RP$E#8,RP$:X=09:#8;PN(X):E#8;WD(0):X=0WD(0)'E#8;RC$(X):#8;HD$(X):#8;WD(X):: E>19.E"Report name tG=0#0:D#8,pt$:#8:17600:#0D35300:17560!DLC=1:WD=1WD(0):PN$=HD$(WD)DRC$(WD))=LC17620D:LC=LC+1:17610'DRC$(WD),RC$(WD),"-")+1)));BDvl=hd$(wd),4)):HD$(WD),3)="FL#"PN$=G$(VL),1,WD(WD))2DHD$(WD),3)="CRC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z) DRC$(X))=RC$(X+Z))RC$(X),RC$(X),"-")+1))>RC$(X+Z),RC$(X+Z),"-")+1))RC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z)*DX,Z::17800\D17900:15000D:"PRINT ";:35030DP=0T OF RANGE"::172705}CRR<=0RR>=PN(1):"ROW OUT OF RANGE"::17270Cwd(0)=wd(0)+1C:>19 C17210-C ********** Sort Line Numbers **********6DZ=WD(0)/2)1-1:13);"Sorting ";z;" "; DX=1WD(0)-ZLDRC$(X))>RC$(X+Z))FF;XX(0):#FFd}AN$<>"I"AN$<>""n}} *** REBUILD INDEX ***8}60960:41130:61120:QZ=1XX(1):NR=QZ:RP=QZ:40000 }ZZ$=F$(XX(0)):KY$=ZZ$:61100}:1" Record Scanning Routine ш::"SCAN ";Nֈ"All or Selected records (A/S default=A) ";:ST$:ST$:st$=13)st$="A"ۈST$>"Z"ST$=ST$)-32)ST$<>"A"ST$<>"S"35030ꈻST$="A"35140 36000:DDO=7:60000:ROOT(FL)=0 v28030{ST$="S">20Cst$="S"36500:e=0"SEARCHING --> ";::G$(XX(0))::353"<= ";::"7.";::" CONTAINS";&ȵ:=vp:=hp:"#";:=vp:=hp:sl$:Ȼsl$=13)SL(FC)=0:51250,(sl(fc)=sl$):SL(FC)<1SL(FC)>7512102ȵ:SL(FC);::51085 Copy Records to Files Dڮ:"Enter the file name to copy records to as /VolumXX(0)G$(XX(0))="":51100>ǭ:G$(FC)="":I=FCXX(3):G$(FC)="":40140::FC=XX(3):1008 VP=:HP=P Ț=24:=1:"THE SELECT FUNCTIONS ARE ";::"1.";::" = ";::"2.";::"<> ";)ȵ:"3.";::" > ";::"4.";::">= ";Bȵ:"5.";::" < ";::"6.";::G$(FC))=1951130WǻFC=XX(0)G$(XX(0))=""EM$="THE KEY FIELD MUST NOT BE BLANK!":E=1:=1:=24:50000FǻG$(FC))>XX(3+FC)EM$="MAX LENGTH EXCEEDED":E=1:=1:=24:50000#ǻsl(0)>0SL(FC)<6I=FC:40140"ǻSL(0)>0::SL$(FC)=G$(FC):ǿ"ǻFC=P:=HP:SP$,1,EM$));Ú=1:=1::8 Enter Field Data Vǚ=VT:=HT:PP$;:51070jǚ=VT:=HT:PP$~ǻRT=2" ";:::ǻSL(0)>051200 " ";%PE$,XX(FC+3));BP$,XX(FC+3));ǻSL(FC)=0SL(0)>051115/ǃ"";G$(FC):G$(FC)>""A$,".DAT")-1), 43140 #5::5"Enter the file name to use (DEFAULT=";fi$;") ";pe$:pe$<>""fi$=pe$ >15:$P Display Field Entry Error nûBL$="Y"7);*xVP=:HP=:EM=EM$):EM$;:ER$<>"N"/ÁLP=1SC*500::=V$<>"N" \œ431602f:"Enter the volume to use (DEFAULT=";;") ";ppe$:pe$<>""=pe$Au:"Here is a list of existing data files on this volume . ."z:#5,:ž#543160+#5;A$:A$,".DAT")<>0A$=A$,15,15)-A$,".DAT")>0A$,1,3)=>245#FF;OP$:RL=0:OP$=""!`RL=RL+XX(JI+3):OP$=OP$+G$(JI)j:#FF;OP$: select data files 2"PROGRAM NAME : ";F$::"Volume in use : "; "Data file : ";fi$,*:"Use this FILE ? (Y/N default=Y) ";Y$4Y$>"Z"Y$=Y$)-32)HY1,HP):41230B$=B$+SP$,1,HP-B$))JI=1XX(3)"F$(JI)=G$(JI),JI6  Output Record to File !.#FF,RP;G$(XX(0)):RL=0:OP$=""!LJI=1XX(3):JI=XX(0)420907QI=JI:40140:RL+XX(JI+3)=>245#FF;OP$:RL=0:OP$=""+VRL+XX(JI+:60000:#FF,FI$+".DAT",XX(2)+XX(2)/245)+37#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0): Close Main Data File HܠDO=3:60000:#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0):#FF: LEFT JUSTIFY FIELDS ***$B$)>=HPB$=B$,L=0.F$(JI)=IN$,RL+1,XX(JI+3)):RL=RL+XX(JI+3): Left Justify Field ̜XX(I+3)-G$(I))<=0)֜G$(I)=G$(I)+SP$,XX(I+3)-G$(I))):(JI=1B$)+1-A$)2B$,JI,A$))=A$I9=JI <:I9=0: Open Main Data File 4DO=2FC))>0): Wildcard Routine FC=1XX(3):E=0$E=SL$(FC),"?",E+1):E=037060F$(FC),E,1)="?":37040Đ:"@ Input Record from File ^#FF,RP;F$(XX(0)),IN$:RL=0!rJI=1XX(3):JI=XX(0)40080$|RL+XX(JI+3)=>245#FF;IN$:R:E=1:FC=1XX(3):E=0365505SL(FC)36560,36570,36580,36590,36600,36610,36620Ǝ:ЎE=(SL$(FC)=F$(FC)):ڎE=(SL$(FC)<>F$(FC)):E=(SL$(FC)F$(FC)):E=(SL$(FC)>=F$(FC)): E=(F$(FC),SL$(׉"UDPX",SS$)=035295ډSS$="X"*݉"UDP",SS$)11070,12070,16000:35280߉ST$="S"DO=8:60000:35190 Setup Record Select FC=0:sl(0)=1:*ȌFC=1XX(3):RT=1:1002::SL(0)=0:RT=0Ҍ Record Select Routine '3700000an$<>"S" 29030OЉ=24:=1::"X";::"=EXIT ";::"P";::"=PRINT ";::"U";::"=UPDATE ";5Ӊ:"L";::"=LOOKUP, PRESS ANY KEY TO CONTINUE ";)ՉSS$:SS$>"Z"SS$=SS$)-32):SS$;5։SS$="L"10000:XX=0P1:RT(XX)=1::P=P1:35280e/Filename "#FF(1)=1:FF(2)=2:FF(3)=3:FF(4)=4)ڃ"";fj$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$ځXX=010:XZ(XX)=0:2ځxx=03:xz(xx)=xx(xx)::XX(1)=0:32070:41130ځXX=03:XZ(XX),XX(XX):6FF=FF(1):FL=FF(2):FI$,FJ$:41130:"COPY ";:35030$ہXX=03:XZ(XX),XX(XX)::56073FF=FF(1):FL=FF(2):35300ۻST$="A">21U ۻP=0G=0FF=FF(3):FL=FF(4):41180:XX=13:XZ(XX),XX(XX)::FF=FF(1):FL=FF(2):% "COPYING --> ";::G$(XX(0)): QG=G:QL=L:QR=R:QP=P.FF=FF(3):FL=FF(4):DO=5:S$=G$(XX(0Daily Sales Record STOP 25 25 25 25 25 2 5 10 8 16 25 25 25 25 3 5 10 3 5 10 3 5 10 3 5 10 3 5 10 10 10 10 10 10 999 ATTENTION 3-1 NAME 4-1 ADDRESS 1 5-1 ADDRESS 2 6-1 CITY 7-1 STATE 8-1 NOT ST,L1;S$:62300"R1>0RQ=R1:#FF,R1;S$:62300 \S$=S$+RQ):DO=4:60000:G=LR(t#FF,G;N$:S$>N$R=RQ:60920:62620L=RQ:608603840:60900:R1=R:L1=L+F=0:L=DR(FF):R=0:60860:60920:DR(FF)=G(G=LR:60840:60900:RP=LL=0:60860RP=RR=0:60920+RP=ROOT(FL)L1>0ROOT(FL)=L1:62180&RP=ROOT(FL)R1>0ROOT(FL)=R1:RP=ROOT(FL)ROOT(FL)=0:"L1>0RQ=L1:#FF:G=R:RT(P)=2:60720lP=0G=0::,P=P-1:G=S(P):RT(P+1)60740,60780:60780 read/write L(G) #FL,(G+1)*2;L:#FL,(G+1)*2;L: read/write R(G) #FL,(G+1)*2+1;R:#FL,(G+1)*2+1;R:"0 delete a record from index G=RP:60R(FF):60840:DR(FF)=L%L=0:R=0:60860:60920:G=OG:62580RP=RQ:42000: rewind alpha index *G=ROOT(FL):P=0:CN=0:ROOT(FL)=0607801060840:L<>0S(P)=G:P=P+1:G=L:RT(P)=1:607205RP>0LR=RPDRP=G:40000:1X60900:R<>0S(P)=G:P=P+1to index hDO=4:60060:F=0F=2:rDR(FF)>060630=|F=0:xx(1)=xx(1)+1:OG=G:G=xx(1):L=0:R=0:60860:60920:G=OGG=0ROOT(FL)=xx(1):60620+#FF,G;N$:S$>N$R=xx(1):60920:60620L=xx(1):60860RP=xx(1):42000:/F=0:OG=G:G=DR(FF):RQ=D:%d#FL,1;root(FL):#FL;xx(1):#FL: search for a record G=ROOT(FL):G1=ROOT(FL):P1=0G=0F=1:G=G1:P1=P1-1:##FF,G;N$:S$=N$F=0:S(P1)=G:7LR=G:G1=G:S$0 AND(INT(E /2)=E /2) THEN E =E +1:GOTO 1110 1120IF E=0 THEN EM$="Enter 2 letter STATE ABBREVIATION only!":VPOS=23:HPOS=1:GOTO 50000 1130RETURN 1140VT=6:HT=1:PP$="Zip Code":GOSUB 51000 1150CD$=G$(6):E=0:GOSUB 30000:IF E=1 THEN EM$=ETURN 1070VT=4:HT=1:PP$="City":GOSUB 51000 1080RETURN 1090VT=5:HT=1:PP$="State":GOSUB 51000 1100 E=1:IF G$(FC)="" OR G$(FC)=" " THEN 1130 1110 E=INSTR("ALAKAZARCACOCTDEDCFLGAHIIDILINIAKSKYLAMEMDMAMIMNMSMOMTNENVNHNJNMNYNCNDOHOKORPARISCSDTNTXUTVTVAWAWVWIWfor an entry into any field." 26 XX(0)=1:FI$="MAIL": REM XX(0)=FIELD NUMBER, FI$=DATA FILE NAME 1010VT=1:HT=1:PP$="Name":GOSUB 51000 1020RETURN 1030VT=2:HT=1:PP$="Address Line #1":GOSUB 51000 1040RETURN 1050VT=3:HT=1:PP$="Address Line #2":GOSUB 51000 1060R,./01XX(2)=201: XX(3)= 9 100 XX(4)=25: XX(5)=25: XX(6)=25: XX(7)=25: XX(8)=2: XX(9)=9: XX(10)=15: XX(11)=15: XX(12)=60: 250HPOS= (80-46)/2:INVERSE:PRINT "This is a DEMO that creates a sample maillist.":NORMAL 305PRINT:PRINT"To return to the MENU type 'QUIT'";" LOAD QECODE 9 F$="MAIL":GOTO 20 1 REM******* PROGRAM NAME:MAIL.BAS*** 2 REM******* DATA FILE NAME:MAIL.DAT*** 1000 HOME 51110 IF G$(FC)="QUIT" THEN POP:POP:GOTO 10 80REM XX(1)=#OF RECD'S XX(2)=REC LEN XX(3)=#OF FIELDS XX(I)=FIELD LEN 1 TO 9 90 XX(1)=0: This is a DEMO that creates a sample maillist. 25 25 25 25 2 9 15 15 60 999 Name Address Line #1 Address Line #2 City State NOT STATE Zip Code N Phone #1 8-10 Phone #2 Memo (FL#31+FL#33) 999 NOT DOLLAR 23-1 Y Y BILL TO: 1-1 ======== 2-1 SHIP TO: 1-40 ======== 2-40 =================== 21-60 Y S FL#17=FL#16*FL#15 S FL#20=FL#19*FL#18 S FL#23=FL#22*FL#21 S FL#26=FL#25*FL#24 S FL#29=FL#28*FL#27 S FL#34=FL#17+FL#20+FL#23+FL#26+FL#29+FL#30+FL#32-R 23-1 OTHER #2 QNTY 18-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLAR 23-1 SHIPPING 17-60 N NOT DOLLAR 23-1 PREPAID 18-60 N NOT DOLLAR 23-1 C.O.D. 19-60 N NOT DOLLAR 23-1 PAYMENT 20-60 N NOT DOLLAR 23-1 TOTAL DUE 22-60 N R 23-1 EDUC. HANDBOOK QNTY 15-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLAR 23-1 QUICK AND EASY 16-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLAR 23-1 OTHER #1 QNTY 17-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLA"Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1160RETURN 1170VT=8:HT=10:PP$="Phone #1":GOSUB 51000 1180RETURN 1190VT=9:HT=10:PP$="Phone #2":GOSUB 51000 1200RETURN 1210VT=10:HT=10:PP$="Memo":GOSUB 51000 1220RETURN 1002 EM=0:ON (FC>0)*(FC-0) GOSUB 1010,1030,1050,1070,1090,1140,1170,1190,1210,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 22001VPOS=1:HPOS=1:PRINT "Name"; 23002VPOS=1:HPOS=6:PRINT G$(1); 22003VPOS=2:HPOS=1:PRINT "Address Line #1"; 23004VPOS=2:HPOS=17:PRINT G$(2); 22005VPOS=3:HPOS=1:Pne #1":51000*VT=3:HT=1:PP$="Address Line #2":51000$.VT=4:HT=1:PP$="City":510008 BVT=5:HT=1:PP$="State":51000%LE=1:G$(FC)=""G$(FC)=" "1130VE="ALAKAZARCACOCTDEDCFLGAHIIDILINIAKSKYLAMEMDMAMIMNMSMOMTNENVNHNJNMNYNCNDOHOKORP(FC-0)1010,1030,1050,1070,1090,1140,1170,1190,1210,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,0EI=FC:40140::(EM>0)1002:(RT=0)(FC"Z"AN$=AN$)-32) ;"ELSUDIFXCMP",AN$)=0310V@"ELSUDIFXCMP",AN$)1000,10000,35025,11000,12000,330,13000,340,56000,17000,17500E235 J32000T41150::"*** Done ***":  Data Entry For Fields  FC=FC+1EM=0:(FC>0)*"&=1:"S - Scan/Modify All Records""=1:"X - Exit Program"''=1:"I - Initialize/Fix Data File")J1:"To return to the MENU type 'QUIT'";" for an entry into any field.">3:"Please press the letter corresponding to your choice."#6AN$:"REPORTING"::%=40:"M - Make a Report Format";=1:"E - Enter Data"=40:"P - Print a Report";% =1:"L - Look Up Single Records"%=1:"U - Update Single Records"%=1:"D - Delete Single Records"&=1:"F - Update Any/All RecordsDEX Main Selection Menu +I=1XX(3):G$(I)="":I:FC=0:UF=0:G$="" :RT=04=(22):"PRODUCED BY Quick & Easy Data Master":E=(80-46)/2::"This is a DEMO that creates a sample maillist.":=5::"DATA ENTRY";:=44::EC LEN XX(3)=#OF FIELDS XX(I)=FIELD LEN 1 TO 9ZXX(1)=0:XX(2)=201:XX(3)=9VdXX(4)=25:XX(5)=25:XX(6)=25:XX(7)=25:XX(8)=2:XX(9)=9:XX(10)=15:XX(11)=15:XX(12)=60:/IN(5,2),N$(5):LN=XX(1)))+2:LN=4LN=51N$(2)=F$:FL=2:FF=1:41130: OPEN FILE & IN2456789:;<=>?@ABCDEFGHIJKLMNOPQRST$(200),G$(200):BL$="Y":ER$="N":SC=5?XX(0)=1:FI$="MAIL": XX(0)=FIELD NUMBER, FI$=DATA FILE NAME 43000:A$=" ":16:SP$=B$:A$=8):16:BP$=B$:A$=".":16:PE$=B$( ON ERR GOTO 25000 F Data File Field Sizes OP XX(1)=#OF RECD'S XX(2)=RC%******* PROGRAM NAME:MAIL.BAS***'******* DATA FILE NAME:MAIL.DAT***DO=0:60000 F$="MAIL":20 RT=0:XX=:œ12 :11 :root(FL)>041150 :2104B$=A$:JI=17:B$=B$+B$:JI::B$=B$+B$,1,80): œ320001XX(200),F :BL$ = "Y":ER$ = "N":SC = 5 SAVE "MAIL" HOME:TEXT:? "*** DONE ***" ; 22013VPOS=8:HPOS=10:PRINT "Phone #1"; 23014VPOS=8:HPOS=19:PRINT G$(7); 22015VPOS=9:HPOS=10:PRINT "Phone #2"; 23016VPOS=9:HPOS=19:PRINT G$(8); 22017VPOS=10:HPOS=10:PRINT "Memo"; 23018VPOS=10:HPOS=15:PRINT G$(9); 22019 NORMAL 25 DIM XX(200),F$(200),G$(200)RINT "Address Line #2"; 23006VPOS=3:HPOS=17:PRINT G$(3); 22007VPOS=4:HPOS=1:PRINT "City"; 23008VPOS=4:HPOS=6:PRINT G$(4); 22009VPOS=5:HPOS=1:PRINT "State"; 23010VPOS=5:HPOS=7:PRINT G$(5); 22011VPOS=6:HPOS=1:PRINT "Zip Code"; 23012VPOS=6:HPOS=10:PRINT G$(6)ARISCSDTNTXUTVTVAWAWVWIWY",G$(FC),E):E<>0(E/2)=E/2)E=E+1:1110G`E=0EM$="Enter 2 letter STATE ABBREVIATION only!":=23:=1:50000j#tVT=6:HT=1:PP$="Zip Code":51000B~CD$=G$(6):E=0:30000:E=1EM$="Numbers Only!":=23:=1:50000$VT=8:HT=10:PP$="Phone #1":51000$VT=9:HT=10:PP$="Phone #2":51000!VT=10:HT=10:PP$="Memo":51000& Store Entered Record .&28100:S$=G$(XX(0))+XX(1)+1):DO=5:600004&=24:=1:"Enter More Data (Y/N) ? ";:TM$:TM$;&TM$>"Z"*DX,Z::17800\D17900:15000D:"PRINT ";:35030DP=0G=0#0:D#8,pt$:#8:17600:#0D35300:17560!DLC=1:WD=1WD(0):PN$=HD$(WD)DRC$(WD))=LC17620D:LC=LC+1:17610'DRC$(WD),RC$(WD),"-")+1)));BDvl=hd$(wd),);"Sorting ";z;" "; DX=1WD(0)-ZLDRC$(X))>RC$(X+Z))RC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z) DRC$(X))=RC$(X+Z))RC$(X),RC$(X),"-")+1))>RC$(X+Z),RC$(X+Z),"-")+1))RC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z)+1)):CC=RC$(WD(0)+1),RC+1))8{CCC<=0CC>=PN(1):"COLUMN OUT OF RANGE"::172705}CRR<=0RR>=PN(1):"ROW OUT OF RANGE"::17270Cwd(0)=wd(0)+1C:>19 C17210-C ********** Sort Line Numbers **********6DZ=WD(0)/2)1-1:13(default=";xx(vl+3);") ";:"";PN$:PN$=""PN$=XX(VL+3))jCWD(WD(0)+1)=PN$)lChd$(wd(0)+1)="999"174008vC"Enter print location on page (R-C) ";rc$(wd(0)+1)HwCRC=RC$(WD(0)+1),"-"):RC=0:"YOU MUST ENTER THE DASH!"::172701yCRR=RC$(WD(0))+1)="":"YOU MUST ENTER SOMETHING TO PRINT!"::17290xgCvl=hd$(wd(0)+1),4)):HD$(WD(0)+1),3)="FL#"VL>XX(3)VL<=0:HD$(WD(0)+1);" *** OUT OF RANGE ***"::17290iCHD$(WD(0)+1),3)="FL#"HD$(WD(0)+1),3)="CD(""Enter the print width "Y"pn(4)=10C::"WHAT TO PRINT"::*:CHD$(WD(0)+1)=""PN$="FL#"+WD(0)+1)'DCHD$(WD(0)+1)<>""PN$=HD$(WD(0)+1)zbC"Enter data to print #";wd(0)+1;" (999 to END default=";pn$;") ";:"";hd$(wd(0)+1):hd$(wd(0)+1)=""hd$(wd(0)+1)=pn$FeCHD$(WD(0es Per Page (default=66) ";pn$:pn$=""pn$="66"Bpn(2)=pn$)HB INPUT"Page Subtotals (Y/N default=N) ";pn$:IF pn$="" THEN pn$="N" Bpn(3)=0:pn$="Y"pn(3)=1GB INPUT"Report Totals (Y/N default=N) ";pn$:IF pn$="" THEN pn$="N"Bpn(4)=0:pn$=": ";F$(SD):::#0 ?hB Define a Report B:::X=1200:HD$(X)="":$B"MAKE A NEW REPORT":::wd(0)=06B INPUT"Enter a TITLE for your Report ";hd$(0) ""pt$=in$:1,180,24:!> Copy Record to Printer ?15000:#8,pt$:#8: ?"RECORD FOR ->";G$(XX(0)):2?SD=1XX(3):"FIELD #";SD;) ?";::CO$3CO$>"Z"CO$=CO$)-32)!3"NXY",CO$)<>0CO$;:=1:3CO$="X"RT=0:"3CO$<>"Y"co$<>"N"13040'31002::CO$;:(3UU$,FC,1)=CO$,363:"UPDATE ";:35030@3P=0G=0 J311070:335300:13120: Select Outpu0:42000+ . Delete Record Routine *.:=24::"ENTER WHICH TO DELETE :";:"/27000:28000:29000:P1=-1&/DO=6:60060:2 Update File Routine 2::UU$=SP$2FC=1XX(3):rt=2:1002:2=24:=1::"Update this Field (Y/N X=EXIT,1,70);=R+G$(FC)=SP$,XX(FC+3))RT=2:1002:F$(FC):G$(FC)=F$(FC)\+3f+=24:=1:"IS THIS CORRECT (Y/N X=EXIT) ";:CO$i+CO$>"Z"CO$=CO$)-32)!k+"NXY",CO$)<>0CO$;:=1:p+CO$="X"z+CO$<>"Y"11070+RT=1:FC=UF:1002+RP=G:28104::"ENTER WHICH TO UPDATE :";:* +27000:UU$=SP$:28000:29000:P1=-1>+::FC=1XX(3)?K+FC=XX(0)UU$,FC,1)="N"RT=2:1002:G$(FC);:RT=1:11100AL+UU$,FC,1)="Y"=24:=1::"CURRENT -> ";G$(FC),1,50);:M+RT=1:1002N+=24:=1:SP$TM$=TM$)-32)&TM$="N"100&TM$<>"Y"" PLEASE ANSWER Y OR N";:9950 'G$="":FC=0::UF=0:XX=:1000' File Look Up Routine *.':=24::"ENTER WHICH TO LOOKUP :";:8'27000:28000:29000:"* Update a Record Routine *+:=24)):HD$(WD),3)="FL#"PN$=G$(VL),1,WD(WD))2DHD$(WD),3)="CD("PN$=CD(VL)),1,WD(WD))DPN$;::LC=PN(2):DZL=LCPN(2)::: E>19'E"Save Report as /VOLUME/FILE ";RP$E#8,RP$:X=09:#8;PN(X):E#8;WD(0):X=0WD(0)'E#8;RC$(X):#8;HD$(X):#8;WD(X):: E>19.E"Report name to use as /VOLUME/FILE ";RP$F#8,RP$:X=09:#8;PN(X): F#8;WD(0):X=0WD(0)'F#8;RC$(X):#8;HD$(X):#8;WD(X)::& N Headers/Titles/Calculations U=23:=1::U:U="X";::"=EXIT ";::"P";::"=PRINT ";::"U";::"=UPDATE ";5Ӊ:"L";::"=LOOKUP, PRESS ANY KEY TO CONTINUE ";)ՉSS$:SS$>"Z"SS$=SS$)-32):SS$;5։SS$="L"10000:XX=0P1:RT(XX)=1::P=P1:35280׉"UDPX",SS$)=035295ډSS$="X"*ݻST$>"Z"ST$=ST$)-32)ST$<>"A"ST$<>"S"35030ꈻST$="A"35140 36000:DDO=7:60000:ROOT(FL)=0 v28030{ST$="S">20Cst$="S"36500:e=0"SEARCHING --> ";::G$(XX(0))::35300an$<>"S" 29030OЉ=24:=1::} *** REBUILD INDEX ***8}60960:41130:61120:QZ=1XX(1):NR=QZ:RP=QZ:40000 }ZZ$=F$(XX(0)):KY$=ZZ$:61100}:1" Record Scanning Routine ш::"SCAN ";Nֈ"All or Selected records (A/S default=A) ";:ST$:ST$:st$=13)st$="A"ۈ80+<}"This will take a little while . . . "A}FL=2:N$(FL)=F$:F}do=1:60060(K}#FF,FI$+".DAT",XX(2)+XX(2)/245)+3$P}XX(2)<100XX(1)=100/XX(2))+2S}XX(2)>=100XX(1)=3.Z}#FF,1;0:#FF;XX(1):#FF;0:#FF;XX(0):#FFd}AN$<>"I"AN$<>""n} ENTRIES!"H}:"C - CONTINUE INITIALIZATION":"F - FIX INDEX BASED ON DATA FILE"3}::"REFER TO THE MANUAL FOR INFORMATION."::'}"CHOOSE ONE (C,F, ANY FOR MENU) ";((}NN$:NN$:NN$>"Z"NN$=NN$)-32)-}NN$<>"C"AN$<>"F"102}NN$="F"321"00"+CD),2):y Alpha Edit Check #6yCD$=""CD$=SP$,1,CD$))@yZZ=1CD$).Jy(CD$,ZZ,1)<="9"CD$,ZZ,1)>="0")E=1Ty:} Initialize File ] }:"INITIALIZE FILE :";::"*** WARNING ***":::"THIS WILL ERASE ALL PREVIOUSD(CC)+17uCD$,DD(CC)+1))<1CD$,DD(CC)+1))>31E=1:uCD$,DD(1)))>3E=1:=uCD=CD$):DD(1)=CD$,DD(1)+1)):DD(2)=CD$,DD(2)+1));uCD$="":30220:CD$=B$+"/":CD=DD(2):30220:CD$=CD$+B$+"/"$vCD=DD(1):30220:CD$=CD$+B$:E=0: vB$=$+".":B$="00" uB$=B$+"00",2):CD$=CD$+B$:u Date Edit Check #uCD$=""CD$=SP$,1,CD$))uCD$)<6CD$)>8E=1:uCD$)<1CD$)>12E=1:>uCC=0:XX=CD$)1-1:CD$,XX,1)="/"CC=CC+1:DD(CC)=XXu:CC<>2E=1:uCD=D"."CD$,ZZ,1)<>"-"E=1:Xu@]uI1=CD$,"-"):B$=CD$,I1+1):I2=B$,"-"):I1>0I2>0E=1:@buI1=CD$,"."):B$=CD$,I1+1):I2=B$,"."):I1>0I2>0E=1:gu vu30000:I9=CD$,"."):E=1){uI9>0B$=CD$,I9+1):CD$=CD$,1,I9)uI9=0CD$=CD"P"16000:29080qAN$<>"Y":q0u Numeric Edit Check '?uE=0:CD$=""CD$=SP$,1,CD$))/DuCD=CD$," "):CD>1CD$=CD$,CD-1):30015IuCD=1CD$=CD$,2):30015NuZZ=1CD$)QSuCD$,ZZ,1)<"0"CD$,ZZ,1)>"9"CD$,ZZ,1)<>P1=-1pq:22000:20000 qAN$="S"(AN$="A"UP>0)?qF>0=24:=1:"NOT FOUND - THIS IS NEAREST";:=1::29100,q=24:"-PRESS ANY KEY FOR NEXT RECORD-";Qq=23::=23:"IS THIS IT ? (Y=YES,P=PRINT) ";:AN$:AN$>"Z"AN$=AN$)-32)qAN$=iDO=4:60060:P1=-1iRP=S(P1):40000:F=0Gi=24:=1:"NOT FOUND - THIS IS NEAREST";7);:XX=11500::=1::%`m Move F$(x) to G$(x) Array ~mQZ=1XX(3):G$(QZ)=F$(QZ):m Computed Data >q Hq Display Found Record fq;Y=3:=17:G$(3);Y=4:=6:G$(4);Y=5:=7:G$(5);Y=6:=10:G$(6);Y=8:=19:G$(7);Y=9:=19:G$(8);Y=10:=15:G$(9);a=23:=1::&xi Look For Record Subroutine ;iRT=1:EM=0:FC=XX(0):1002:S$=G$(XX(0)):RT=1:EM>0270301:=1:"Name";U=2:=1:"Address Line #1";U=3:=1:"Address Line #2";U=4:=1:"City";U=5:=1:"State";U=6:=1:"Zip Code";U=8:=10:"Phone #1";U=9:=10:"Phone #2";V=10:=10:"Memo";VY=1:=6:G$(1);Y=2:=17:G$(2)"UDP",SS$)11070,12070,16000:35280߉ST$="S"DO=8:60000:35190 Setup Record Select FC=0:sl(0)=1:*ȌFC=1XX(3):RT=1:1002::SL(0)=0:RT=0Ҍ Record Select Routine '37000:E=1:FC=1XX(3):E=0365505SL(FC)36560,36570,36580,36590,36600,36610,36620Ǝ:ЎE=(SL$(FC)=F$(FC)):ڎE=(SL$(FC)<>F$(FC)):E=(SL$(FC)F$(FC)):E=(SL$(FC)>=F$(FC)): E=(F$(FC),SL$(FC))>0): Wildcard Routine FCG:L=QL:R=QR:P=QP .ۺ560705 ******************************************** 5 ** Add Records from Files ** 3 ******************************************** Dޮ:"Enter the file name to add records from as /Volume/Filename"#F::56073FF=FF(1):FL=FF(2):35300ۻST$="A">21U ۻP=0G=0FF=FF(3):FL=FF(4):41180:XX=13:XZ(XX),XX(XX)::FF=FF(1):FL=FF(2):% "COPYING --> ";::G$(XX(0)): QG=G:QL=L:QR=R:QP=P.FF=FF(3):FL=FF(4):DO=5:S$=G$(XX(0)):60000)G=QFF(1)=1:FF(2)=2:FF(3)=3:FF(4)=4)ڃ"";fj$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$ځXX=010:XZ(XX)=0:2ځxx=03:xz(xx)=xx(xx)::XX(1)=0:32070:41130ځXX=03:XZ(XX),XX(XX):6FF=FF(1):FL=FF(2):FI$,FJ$:41130:"COPY ";:35030$ہXX=03:XZ(XX),XX(XX)::" CONTAINS";&ȵ:=vp:=hp:"#";:=vp:=hp:sl$:Ȼsl$=13)SL(FC)=0:51250,(sl(fc)=sl$):SL(FC)<1SL(FC)>7512102ȵ:SL(FC);::51085 Copy Records to Files Dڮ:"Enter the file name to copy records to as /Volume/Filename "#="":51100>ǭ:G$(FC)="":I=FCXX(3):G$(FC)="":40140::FC=XX(3):1008 VP=:HP=P Ț=24:=1:"THE SELECT FUNCTIONS ARE ";::"1.";::" = ";::"2.";::"<> ";)ȵ:"3.";::" > ";::"4.";::">= ";Bȵ:"5.";::" < ";::"6.";::"<= ";::"7.";"EM$="THE KEY FIELD MUST NOT BE BLANK!":E=1:=1:=24:50000ǻG$(FC)="QUIT"::10FǻG$(FC))>XX(3+FC)EM$="MAX LENGTH EXCEEDED":E=1:=1:=24:50000#ǻsl(0)>0SL(FC)<6I=FC:40140"ǻSL(0)>0::SL$(FC)=G$(FC):ǿ"ǻFC=XX(0)G$(XX(0)) Enter Field Data Vǚ=VT:=HT:PP$;:51070jǚ=VT:=HT:PP$~ǻRT=2" ";:::ǻSL(0)>051200 " ";%PE$,XX(FC+3));BP$,XX(FC+3));ǻSL(FC)=0SL(0)>051115/ǃ"";G$(FC):G$(FC)>""G$(FC))=1951130WǻFC=XX(0)G$(XX(0))="nter the file name to use (DEFAULT=";fi$;") ";pe$:pe$<>""fi$=pe$ >15:$P Display Field Entry Error nûBL$="Y"7);*xVP=:HP=:EM=EM$):EM$;:ER$<>"N"/ÁLP=1SC*500::=VP:=HP:SP$,1,EM$));Ú=1:=1::8me to use (DEFAULT=";;") ";ppe$:pe$<>""=pe$Au:"Here is a list of existing data files on this volume . ."z:#5,:ž#543160+#5;A$:A$,".DAT")<>0A$=A$,15,15)-A$,".DAT")>0A$,1,A$,".DAT")-1), 43140 #5::5"EI+3):OP$=OP$+G$(JI)j:#FF;OP$: select data files 2"PROGRAM NAME : ";F$::"Volume in use : "; "Data file : ";fi$,*:"Use this FILE ? (Y/N default=Y) ";Y$4Y$>"Z"Y$=Y$)-32)HY$<>"N" \œ431602f:"Enter the voluJI=1XX(3)"F$(JI)=G$(JI),JI6  Output Record to File !.#FF,RP;G$(XX(0)):RL=0:OP$=""!LJI=1XX(3):JI=XX(0)420907QI=JI:40140:RL+XX(JI+3)=>245#FF;OP$:RL=0:OP$=""+VRL+XX(JI+3)=>245#FF;OP$:RL=0:OP$=""!`RL=RL+XX(J37#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0): Close Main Data File HܠDO=3:60000:#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0):#FF: LEFT JUSTIFY FIELDS ***$B$)>=HPB$=B$,1,HP):41230B$=B$+SP$,1,HP-B$))(JI+3): Left Justify Field ̜XX(I+3)-G$(I))<=0)֜G$(I)=G$(I)+SP$,XX(I+3)-G$(I))):(JI=1B$)+1-A$)2B$,JI,A$))=A$I9=JI <:I9=0: Open Main Data File 4DO=2:60000:#FF,FI$+".DAT",XX(2)+XX(2)/245)+=1XX(3):E=0$E=SL$(FC),"?",E+1):E=037060F$(FC),E,1)="?":37040Đ:"@ Input Record from File ^#FF,RP;F$(XX(0)),IN$:RL=0!rJI=1XX(3):JI=XX(0)40080$|RL+XX(JI+3)=>245#FF;IN$:RL=0.F$(JI)=IN$,RL+1,XX(JI+3)):RL=RL+XXF(1)=3:FF(2)=4:FF(3)=1:FF(4)=28"";fj$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$:FI$=FI$+".DAT"6` ******************************************** 2o ** **2t ** Quick & Easy File Handler **5y ** ** 3~ ** (c) 1982 by ** 2 ** **2 ** Advanced Software Technology **5 ** ** 2 ** THIS RVXY4 5 0 1 4 5 5 0 0 0 R1>0RQ=R1:#FF,R1;S$:62300 \S$=S$+RQ):DO=4:60000:G=LR(t#FF,G;N$:S$>N$R=RQ:60920:62620L=RQ:608603L1=L+F=0:L=DR(FF):R=0:60860:60920:DR(FF)=G(G=LR:60840:60900:RP=LL=0:60860RP=RR=0:60920+RP=ROOT(FL)L1>0ROOT(FL)=L1:62180&RP=ROOT(FL)R1>0ROOT(FL)=R1:RP=ROOT(FL)ROOT(FL)=0:"L1>0RQ=L1:#FF,L1;S$:62300"720lP=0G=0::,P=P-1:G=S(P):RT(P+1)60740,60780:60780 read/write L(G) #FL,(G+1)*2;L:#FL,(G+1)*2;L: read/write R(G) #FL,(G+1)*2+1;R:#FL,(G+1)*2+1;R:"0 delete a record from index G=RP:60840:60900:R1=R:FF)=L%L=0:R=0:60860:60920:G=OG:62580RP=RQ:42000: rewind alpha index *G=ROOT(FL):P=0:CN=0:ROOT(FL)=0607801060840:L<>0S(P)=G:P=P+1:G=L:RT(P)=1:607205RP>0LR=RPDRP=G:40000:1X60900:R<>0S(P)=G:P=P+1:G=R:RT(P)=2:604:60060:F=0F=2:rDR(FF)>060630=|F=0:xx(1)=xx(1)+1:OG=G:G=xx(1):L=0:R=0:60860:60920:G=OGG=0ROOT(FL)=xx(1):60620+#FF,G;N$:S$>N$R=xx(1):60920:60620L=xx(1):60860RP=xx(1):42000:/F=0:OG=G:G=DR(FF):RQ=DR(FF):60840:DR(t(FL):#FL;xx(1):#FL: search for a record G=ROOT(FL):G1=ROOT(FL):P1=0G=0F=1:G=G1:P1=P1-1:##FF,G;N$:S$=N$F=0:S(P1)=G:7LR=G:G1=G:S$060630=|F=0:xx(1)=xx(1)+1:OG=G:G=xx(1):L=0:R=0:60860:60920:G=OGG=0ROOT(FL)=xx(1):60620+#FF,G;N$:S$>N$R=xx(1):60920:60620L=xx(1):60860RP=xx(1):42000:/F=0:OG=G:G=DR(F.NDX",6:%d#FL,1;root(FL):#FL;xx(1):#FL: search for a record G=ROOT(FL):G1=ROOT(FL):P1=0G=0F=1:G=G1:P1=P1-1:##FF,G;N$:S$=N$F=0:S(P1)=G:7LR=G:G1=G:S$21U ۻP=0G=0FF=FF(3):FL=FF(4):41180:XX=13:XZ(XX),XX(XX)::FF=FF(1):FL=FF(2):% "COPYING --> ";::G$(XX(0)): QG=G:QL=L:QR=R:QP=P.FF=FF(3):FL=FF(4):DO=5:S$= /Volume/Filename "#FF(1)=1:FF(2)=2:FF(3)=3:FF(4)=4)ڃ"";fj$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$ځXX=010:XZ(XX)=0:2ځxx=03:xz(xx)=xx(xx)::XX(1)=0:32070:41130ځXX=03:XZ(XX),XX(XX):6FF=FF(1):FL=FF(2):FI$,FJ$:41130:"COPY ";:35030$):SL(FC)<1SL(FC)>7512102ȵ:SL(FC);::510853 ******************************************** 3 ** Copy Records to Files ** 6 ******************************************** Dڮ:"Enter the file name to copy records to asell 906 R Rd Silerado MD20901 301-301-3001 Washington Apple Pi 7910 Woodmont Ave. Suite 910 Bethesda, MD20814 301-654-8060 WAP is a Computer Club RussF):RQ=DR(FF):60840:DR(FF)=L%L=0:R=0:60860:60920:G=OG:62580RP=RQ:42000: rewind alpha index *G=ROOT(FL):P=0:CN=0:ROOT(FL)=0607801060840:L<>0S(P)=G:P=P+1:G=L:RT(P)=1:607205RP>0LR=RPDRP=G:40000:1X60900:R<>0S(P)=G:P=P+1:G=R:RT(P)=2:60720lP=0G=0::,P=P-1:G=S(P):RT(P+1)60740,60780:60780 read/write L(G) #FL,(G+1)*2;L:#FL,(G+1)*2;L: read/write R(G) #FL,(G+1)*2+1;R:#FL,(G+1)*2+1;R:"0 delete a record from index Gfor an entry into any field." 26 XX(0)=1:FI$="MAIL": REM XX(0)=FIELD NUMBER, FI$=DATA FILE NAME 1010VT=1:HT=1:PP$="Name":GOSUB 51000 1020RETURN 1030VT=2:HT=1:PP$="Address Line #1":GOSUB 51000 1040RETURN 1050VT=3:HT=1:PP$="Address Line #2":GOSUB 51000 1060RATE 23-1 ZIP 9-1 N PURCHASE NUMBER 10-1 PURCHASE DATE 11-1 NOT DATE 23-1 SHIPVIA 3-40 NAME 4-40 ADDRESS 1 5-40 ADDRESS 2 6-40 ADDRESS 3 7-40 APPLE DIRECTORY QNTY 14-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLADaily Sales Record STOP 25 25 25 25 25 2 5 10 8 16 25 25 25 25 3 5 10 3 5 10 3 5 10 3 5 10 3 5 10 10 10 10 10 10 999 ATTENTION 3-1 NAME 4-1 ADDRESS 1 5-1 ADDRESS 2 6-1 CITY 7-1 STATE 8-1 NOT STBILL 32167816SAJUDAHK SAJHT3UY216R187 KC MO123456 123456798 ADSGH72EYR329 ce4 4 0 1 4 4 0 0 L1:#FF,L1;S$:62300"R1>0RQ=R1:#FF,R1;S$:62300 \S$=S$+RQ):DO=4:60000:G=LR(t#FF,G;N$:S$>N$R=RQ:60920:62620L=RQ:608603=RP:60840:60900:R1=R:L1=L+F=0:L=DR(FF):R=0:60860:60920:DR(FF)=G(G=LR:60840:60900:RP=LL=0:60860RP=RR=0:60920+RP=ROOT(FL)L1>0ROOT(FL)=L1:62180&RP=ROOT(FL)R1>0ROOT(FL)=R1:RP=ROOT(FL)ROOT(FL)=0:"L1>0RQ=ETURN 1070VT=4:HT=1:PP$="City":GOSUB 51000 1080RETURN 1090VT=5:HT=1:PP$="State":GOSUB 51000 1100 E=1:IF G$(FC)="" OR G$(FC)=" " THEN 1130 1110 E=INSTR("ALAKAZARCACOCTDEDCFLGAHIIDILINIAKSKYLAMEMDMAMIMNMSMOMTNENVNHNJNMNYNCNDOHOKORPARISCSDTNTXUTVTVAWAWVWIWY" ,G$(FC),E ):IF E <>0 AND(INT(E /2)=E /2) THEN E =E +1:GOTO 1110 1120IF E=0 THEN EM$="Enter 2 letter STATE ABBREVIATION only!":VPOS=23:HPOS=1:GOTO 50000 1130RETURN 1140VT=6:HT=1:PP$="Zip Code":GOSUB 51000 1150CD$=G$(6):E=0:GOSUB 30000:IF E=1 THEN EM$=:HT=1:PP$="ADDRESS 2":GOSUB 51000 1080RETURN 1090VT=7:HT=1:PP$="CITY":GOSUB 51000 1100RETURN 1110VT=8:HT=1:PP$="STATE":GOSUB 51000 1120 E=1:IF G$(FC)="" OR G$(FC)=" " THEN 1150 1130 E=INSTR("ALAKAZARCACOCTDEDCFLGAHIIDILINIAKSKYLAMEMDMAMIMNMSMOMTNENVNHNJ an entry into any field." 26 XX(0)=1:FI$="SALES": REM XX(0)=FIELD NUMBER, FI$=DATA FILE NAME 1010VT=3:HT=1:PP$="ATTENTION":GOSUB 51000 1020RETURN 1030VT=4:HT=1:PP$="NAME":GOSUB 51000 1040RETURN 1050VT=5:HT=1:PP$="ADDRESS 1":GOSUB 51000 1060RETURN 1070VT=6(25)=5: XX(26)=10: XX(27)=3: XX(28)=5: XX(29)=10: XX(30)=3: XX(31)=5: XX(32)=10: XX(33)=10: 103 XX(34)=10: XX(35)=10: XX(36)=10: XX(37)=10: 250HPOS= (80-18)/2:INVERSE:PRINT "Daily Sales Record":NORMAL 305PRINT:PRINT"To return to the MENU type 'STOP'";" forR 23-1 OTHER #2 QNTY 18-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLAR 23-1 SHIPPING 17-60 N NOT DOLLAR 23-1 PREPAID 18-60 N NOT DOLLAR 23-1 C.O.D. 19-60 N NOT DOLLAR 23-1 PAYMENT 20-60 N NOT DOLLAR 23-1 TOTAL DUE 22-60 N R 23-1 EDUC. HANDBOOK QNTY 15-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLAR 23-1 QUICK AND EASY 16-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLAR 23-1 OTHER #1 QNTY 17-1 N PRICE N NOT DOLLAR 23-1 AMOUNT N NOT DOLLAfmtenopqrsuvwxyz{ :BL$ = "Y":ER$ = "N":SC = 5 SAVE "MAIL" HOME:TEXT:? "*** DONE ***" ; 22013VPOS=8:HPOS=10:PRINT "Phone #1"; 23014VPOS=8:HPOS=19:PRINT G$(7); 22015VPOS=9:HPOS=10:PRINT "Phone #2"; 23016VPOS=9:HPOS=19:PRINT G$(8); 22017VPOS=10:HPOS=10:PRINT "Memo"; 23018VPOS=10:HPOS=15:PRINT G$(9); 22019 NORMAL 25 DIM XX(200),F$(200),G$(200)RINT "Address Line #2"; 23006VPOS=3:HPOS=17:PRINT G$(3); 22007VPOS=4:HPOS=1:PRINT "City"; 23008VPOS=4:HPOS=6:PRINT G$(4); 22009VPOS=5:HPOS=1:PRINT "State"; 23010VPOS=5:HPOS=7:PRINT G$(5); 22011VPOS=6:HPOS=1:PRINT "Zip Code"; 23012VPOS=6:HPOS=10:PRINT G$(6)0,1070,1090,1140,1170,1190,1210,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 22001VPOS=1:HPOS=1:PRINT "Name"; 23002VPOS=1:HPOS=6:PRINT G$(1); 22003VPOS=2:HPOS=1:PRINT "Address Line #1"; 23004VPOS=2:HPOS=17:PRINT G$(2); 22005VPOS=3:HPOS=1:P"Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1160RETURN 1170VT=8:HT=10:PP$="Phone #1":GOSUB 51000 1180RETURN 1190VT=9:HT=10:PP$="Phone #2":GOSUB 51000 1200RETURN 1210VT=10:HT=10:PP$="Memo":GOSUB 51000 1220RETURN 1002 EM=0:ON (FC>0)*(FC-0) GOSUB 1010,1030,105NMNYNCNDOHOKORPARISCSDTNTXUTVTVAWAWVWIWY" ,G$(FC),E ):IF E <>0 AND(INT(E /2)=E /2) THEN E =E +1:GOTO 1130 1140IF E=0 THEN EM$="Enter 2 letter STATE ABBREVIATION only!":VPOS=23:HPOS=1:GOTO 50000 1150RETURN 1160VT=9:HT=1:PP$="ZIP":GOSUB 51000 1170CD$=G$(7):E=0:GOSUB 30000:IF E=1 THEN EM$="Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1180RETURN 1190VT=10:HT=1:PP$="PURCHASE NUMBER":GOSUB 51000 1200RETURN 1210VT=11:HT=1:PP$="PURCHASE DATE":GOSUB 51000 1220CD$=G$(9):E=0:GOSUB 30100:G$(9)=CD$:IF E=1 THEN EM$="Ente=G$(30):E=0:GOSUB 30070:G$(30)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1810RETURN 1820VT=18:HT=60:PP$="PREPAID":GOSUB 51000 1830CD$=G$(31):E=0:GOSUB 30070:G$(31)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOPOS=23:HPOS=1:GOTO 50000 1750RETURN 1760VT=18:HT=33:PP$="AMOUNT":GOSUB 51000 1770CD$=G$(29):E=0:GOSUB 30070:G$(29)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1780RETURN 1790VT=17:HT=60:PP$="SHIPPING":GOSUB 51000 1800CD$ER #2 QNTY":GOSUB 51000 1710CD$=G$(27):E=0:GOSUB 30000:IF E=1 THEN EM$="Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1720RETURN 1730VT=18:HT=20:PP$="PRICE":GOSUB 51000 1740CD$=G$(28):E=0:GOSUB 30070:G$(28)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":Ve Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1660RETURN 1670VT=17:HT=33:PP$="AMOUNT":GOSUB 51000 1680CD$=G$(26):E=0:GOSUB 30070:G$(26)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1690RETURN 1700VT=18:HT=1:PP$="OTHURN 1610VT=17:HT=1:PP$="OTHER #1 QNTY":GOSUB 51000 1620CD$=G$(24):E=0:GOSUB 30000:IF E=1 THEN EM$="Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1630RETURN 1640VT=17:HT=20:PP$="PRICE":GOSUB 51000 1650CD$=G$(25):E=0:GOSUB 30070:G$(25)=CD$:IF E=1 THEN EM$="Pleas(FL#31+FL#33) 999 NOT DOLLAR 23-1 Y Y BILL TO: 1-1 ======== 2-1 SHIP TO: 1-40 ======== 2-40 =================== 21-60 Y S FL#17=FL#16*FL#15 S FL#20=FL#19*FL#18 S FL#23=FL#22*FL#21 S FL#26=FL#25*FL#24 S FL#29=FL#28*FL#27 S FL#34=FL#17+FL#20+FL#23+FL#26+FL#29+FL#30+FL#32-=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1570RETURN 1580VT=16:HT=34:PP$="AMOUNT":GOSUB 51000 1590CD$=G$(23):E=0:GOSUB 30070:G$(23)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1600RETHPOS=1:GOTO 50000 1510RETURN 1520VT=16:HT=1:PP$="QUICK AND EASY":GOSUB 51000 1530CD$=G$(21):E=0:GOSUB 30000:IF E=1 THEN EM$="Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1540RETURN 1550VT=16:HT=21:PP$="PRICE":GOSUB 51000 1560CD$=G$(22):E=0:GOSUB 30070:G$(22)19):E=0:GOSUB 30070:G$(19)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1480RETURN 1490VT=15:HT=39:PP$="AMOUNT":GOSUB 51000 1500CD$=G$(20):E=0:GOSUB 30070:G$(20)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:r Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1420RETURN 1430VT=15:HT=1:PP$="EDUC. HANDBOOK QNTY":GOSUB 51000 1440CD$=G$(18):E=0:GOSUB 30000:IF E=1 THEN EM$="Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1450RETURN 1460VT=15:HT=26:PP$="PRICE":GOSUB 51000 1470CD$=G$(SUB 51000 1380CD$=G$(16):E=0:GOSUB 30070:G$(16)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1390RETURN 1400VT=14:HT=40:PP$="AMOUNT":GOSUB 51000 1410CD$=G$(17):E=0:GOSUB 30070:G$(17)=CD$:IF E=1 THEN EM$="Please Enter Dolla51000 1310RETURN 1320VT=7:HT=40:PP$="ADDRESS 3":GOSUB 51000 1330RETURN 1340VT=14:HT=1:PP$="APPLE DIRECTORY QNTY":GOSUB 51000 1350CD$=G$(15):E=0:GOSUB 30000:IF E=1 THEN EM$="Numbers Only!":VPOS=23:HPOS=1:GOTO 50000 1360RETURN 1370VT=14:HT=27:PP$="PRICE":GOr date as MM/DD/YY only!":VPOS=23:HPOS=1:GOTO 50000 1230RETURN 1240VT=3:HT=40:PP$="SHIPVIA":GOSUB 51000 1250RETURN 1260VT=4:HT=40:PP$="NAME":GOSUB 51000 1270RETURN 1280VT=5:HT=40:PP$="ADDRESS 1":GOSUB 51000 1290RETURN 1300VT=6:HT=40:PP$="ADDRESS 2":GOSUB S=23:HPOS=1:GOTO 50000 1840RETURN 1850VT=19:HT=60:PP$="C.O.D.":GOSUB 51000 1860CD$=G$(32):E=0:GOSUB 30070:G$(32)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1870RETURN 1880VT=20:HT=60:PP$="PAYMENT":GOSUB 51000 1890CD$=G$(33):E=0:GOSUB 30070:G$(33)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOS=23:HPOS=1:GOTO 50000 1900RETURN 1910VT=22:HT=60:PP$="TOTAL DUE":GOSUB 51000 1920CD$=G$(34):E=0:GOSUB 30070:G$(34)=CD$:IF E=1 THEN EM$="Please Enter Dollar Amounts! ":VPOSE/2)=E/2)E=E+1:1130GtE=0EM$="Enter 2 letter STATE ABBREVIATION only!":=23:=1:50000~VT=9:HT=1:PP$="ZIP":51000BCD$=G$(7):E=0:30000:E=1EM$="Numbers Only!":=23:=1:50000+VT=10:HT=1:PP$="PURCHASE NUMBER":51000)VT=DRESS 2":510008BVT=7:HT=1:PP$="CITY":51000L VVT=8:HT=1:PP$="STATE":51000%`E=1:G$(FC)=""G$(FC)=" "1150jE="ALAKAZARCACOCTDEDCFLGAHIIDILINIAKSKYLAMEMDMAMIMNMSMOMTNENVNHNJNMNYNCNDOHOKORPARISCSDTNTXUTVTVAWAWVWIWY",G$(FC),E):E<>0(60,1790,1820,1850,1880,1910,0,0,0,0,0,0EI=FC:40140::(EM>0)1002:(RT=0)(FC0)*(FC-0)1010,1030,1050,1070,1090,1110,1160,1190,1210,1240,1260,1280,1300,1320,1340,1370,1400,1430,1460,1490,1520,1550,1580,1610,1640,1670,1700,1730,17ELSUDIFXCMP",AN$)=0310V@"ELSUDIFXCMP",AN$)1000,10000,35025,11020,12000,330,13000,340,56000,17000,17500E235 J32000T41150::"*** Done ***":5 ******************************************** 4 ** Data Entry for Fields cords""=1:"X - Exit Program"''=1:"I - Initialize/Fix Data File")J1:"To return to the MENU type 'STOP'";" for an entry into any field.">3:"Please press the letter corresponding to your choice."#6AN$:AN$>"Z"AN$=AN$)-32) ;"e a Report Format";=1:"E - Enter Data"=40:"P - Print a Report";% =1:"L - Look Up Single Records"%=1:"U - Update Single Records"%=1:"D - Delete Single Records"&=1:"F - Update Any/All Records"&=1:"S - Scan/Modify All Re:HPOS=22:PRINT G$(15); 22036VPOS=14:HPOS=27:PRINT "PRICE"; 23037VPOS=14:HPOS=33:PRINT G$(16); 22038VPOS=14:HPOS=40:PRINT "AMOUNT"; 23039VPOS=14:HPOS=47:PRINT G$(17); 22040VPOS=15:HPOS=1:PRINT "EDUC. HANDBOOK QNTY"; 23041VPOS=15:HPOS=21:PRINT G$(18); 22042V "ADDRESS 1"; 23029VPOS=5:HPOS=50:PRINT G$(12); 22030VPOS=6:HPOS=40:PRINT "ADDRESS 2"; 23031VPOS=6:HPOS=50:PRINT G$(13); 22032VPOS=7:HPOS=40:PRINT "ADDRESS 3"; 23033VPOS=7:HPOS=50:PRINT G$(14); 22034VPOS=14:HPOS=1:PRINT "APPLE DIRECTORY QNTY"; 23035VPOS=147:PRINT G$(8); 22022VPOS=11:HPOS=1:PRINT "PURCHASE DATE"; 23023VPOS=11:HPOS=15:PRINT G$(9); 22024VPOS=3:HPOS=40:PRINT "SHIPVIA"; 23025VPOS=3:HPOS=48:PRINT G$(10); 22026VPOS=4:HPOS=40:PRINT "NAME"; 23027VPOS=4:HPOS=45:PRINT G$(11); 22028VPOS=5:HPOS=40:PRINT14VPOS=7:HPOS=1:PRINT "CITY"; 23015VPOS=7:HPOS=6:PRINT G$(5); 22016VPOS=8:HPOS=1:PRINT "STATE"; 23017VPOS=8:HPOS=7:PRINT G$(6); 22018VPOS=9:HPOS=1:PRINT "ZIP"; 23019VPOS=9:HPOS=5:PRINT G$(7); 22020VPOS=10:HPOS=1:PRINT "PURCHASE NUMBER"; 23021VPOS=10:HPOS=1"ATTENTION"; 23007VPOS=3:HPOS=11:PRINT G$(1); 22008VPOS=4:HPOS=1:PRINT "NAME"; 23009VPOS=4:HPOS=6:PRINT G$(2); 22010VPOS=5:HPOS=1:PRINT "ADDRESS 1"; 23011VPOS=5:HPOS=11:PRINT G$(3); 22012VPOS=6:HPOS=1:PRINT "ADDRESS 2"; 23013VPOS=6:HPOS=11:PRINT G$(4); 220OS=1:HPOS=1:PRINT "BILL TO:"; 20102VPOS=2:HPOS=1:PRINT "========"; 20103VPOS=1:HPOS=40:PRINT "SHIP TO:"; 20104VPOS=2:HPOS=40:PRINT "========"; 20105VPOS=21:HPOS=60:PRINT "==================="; 1000 HOME:D=0:X=5:RESTORE:GOSUB 20000 22006VPOS=3:HPOS=1:PRINT =23:HPOS=1:GOTO 50000 1930RETURN 1002 EM=0:ON (FC>0)*(FC-0) GOSUB 1010,1030,1050,1070,1090,1110,1160,1190,1210,1240,1260,1280,1300,1320,1340,1370,1400,1430,1460,1490,1520,1550,1580,1610,1640,1670,1700,1730,1760,1790,1820,1850,1880,1910,0,0,0,0,0,0 20101VP11:HT=1:PP$="PURCHASE DATE":51000[CD$=G$(9):E=0:30100:G$(9)=CD$:E=1EM$="Enter date as MM/DD/YY only!":=23:=1:50000#VT=3:HT=40:PP$="SHIPVIA":51000 VT=4:HT=40:PP$="NAME":51000%VT=5:HT=40:PP$="ADDRESS 1":51000 %VT=6:HT=40:PP$="ADDRESS 2":51000%(VT=7:HT=40:PP$="ADDRESS 3":5100020<VT=14:HT=1:PP$="APPLE DIRECTORY QNTY":51000CFCD$=G$(15):E=0:30000:E=1EM$="Numbers Only!":=23:=1:50000P"ZVT=14:HT=27:PP$="PRICE":51000^dCD$=G$(16):E=0:3007011100AL+UU$,FC,1)="Y"=24:=1::"CURRENT -> ";G$(FC),1,50);:M+RT=1:1002N+=24:=1:SP$,1,70);=R+G$(FC)=SP$,XX(FC+3))RT=2:1002:F$(FC):G$(FC)=F$(FC)\+3f+=24:=1:"IS THIS CORRECT (Y/N X=EXIT) ";:CO$i+CO$>"Z"CO$=CO$)-32 ** Update a Record Routine ** 4 + ******************************************** *+:=24::"ENTER WHICH TO UPDATE :";: +27020:UU$=SP$:28030:29030>+::FC=1XX(3)?K+FC=XX(0)UU$,FC,1)="N"RT=2:1002:G$(FC);:RT=1:**************************** 4' ** File Look Up Routine ** 2$' *********************************************.':=24::"ENTER WHICH TO LOOKUP :";:8'27020:28030:29030:5* ******************************************** 8+***** .&28100:S$=G$(XX(0))+XX(1)+1):DO=5:600004&=24:=1:"Enter More Data (Y/N) ? ";:TM$:TM$;&TM$>"Z"TM$=TM$)-32)&TM$="N"100&TM$<>"Y"" PLEASE ANSWER Y OR N";:9950 'G$="":FC=0::UF=0:XX=:10003' ****************E":51000^CD$=G$(34):E=0:30070:G$(34)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:500005& ******************************************** 2& ** Store Entered Record **7& ***************************************=G$(32):E=0:30070:G$(32)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000N$XVT=20:HT=60:PP$="PAYMENT":51000^bCD$=G$(33):E=0:30070:G$(33)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000l&vVT=22:HT=60:PP$="TOTAL DU30070:G$(30)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000$VT=18:HT=60:PP$="PREPAID":51000^&CD$=G$(31):E=0:30070:G$(31)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:500000#:VT=19:HT=60:PP$="C.O.D.":51000^DCD$D$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000#VT=18:HT=33:PP$="AMOUNT":51000^CD$=G$(29):E=0:30070:G$(29)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000%VT=17:HT=60:PP$="SHIPPING":51000^CD$=G$(30):E=0:0:G$(26)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000)VT=18:HT=1:PP$="OTHER #2 QNTY":51000CCD$=G$(27):E=0:30000:E=1EM$="Numbers Only!":=23:=1:50000"VT=18:HT=20:PP$="PRICE":51000^CD$=G$(28):E=0:30070:G$(28)=CG$(24):E=0:30000:E=1EM$="Numbers Only!":=23:=1:50000^"hVT=17:HT=20:PP$="PRICE":51000^rCD$=G$(25):E=0:30070:G$(25)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000|#VT=17:HT=33:PP$="AMOUNT":51000^CD$=G$(26):E=0:3007G$(22)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000"#,VT=16:HT=34:PP$="AMOUNT":51000^6CD$=G$(23):E=0:30070:G$(23)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000@)JVT=17:HT=1:PP$="OTHER #1 QNTY":51000CTCD$=0:30070:G$(20)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000*VT=16:HT=1:PP$="QUICK AND EASY":51000CCD$=G$(21):E=0:30000:E=1EM$="Numbers Only!":=23:=1:50000"VT=16:HT=21:PP$="PRICE":51000^CD$=G$(22):E=0:30070:CCD$=G$(18):E=0:30000:E=1EM$="Numbers Only!":=23:=1:50000"VT=15:HT=26:PP$="PRICE":51000^CD$=G$(19):E=0:30070:G$(19)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000#VT=15:HT=39:PP$="AMOUNT":51000^CD$=G$(20):E=:G$(16)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000n#xVT=14:HT=40:PP$="AMOUNT":51000^CD$=G$(17):E=0:30070:G$(17)=CD$:E=1EM$="Please Enter Dollar Amounts! ":=23:=1:50000/VT=15:HT=1:PP$="EDUC. HANDBOOK QNTY":51000)!k+"NXY",CO$)<>0CO$;:=1:p+CO$="X"z+CO$<>"Y"11070+RT=1:FC=UF:1002+RP=G:28100:42000+5. ******************************************** 3. ** Delete Record Routine ** 6. ******************************************** *.:=24::"ENTER WHICH TO DELETE :";:/27020:28030:29030&/DO=6:60060:22 ********************************************42 ** Update File Routine ** 52 ******************************************** E"Report name to use as /VOLUME/FILE ";RP$F#8,RP$:X=09:#8;PN(X): F#8;WD(0):X=0WD(0)'F#8;RC$(X):#8;HD$(X):#8;WD(X)::5 N ******************************************** 6*N ** Headers/Titles/Calculations ** 34N *****HD$(WD),3)="CD("PN$=CD(VL)),1,WD(WD))DPN$;::LC=PN(2):DZL=LCPN(2)::: E>19'E"Save Report as /VOLUME/FILE ";RP$E#8,RP$:X=09:#8;PN(X):E#8;WD(0):X=0WD(0)'E#8;RC$(X):#8;HD$(X):#8;WD(X):: E>19.35030DP=0G=0#0:D#8,pt$:#8:17600:#0D35300:17560!DLC=1:WD=1WD(0):PN$=HD$(WD)DRC$(WD))=LC17620D:LC=LC+1:17610'DRC$(WD),RC$(WD),"-")+1)));BDvl=hd$(wd),4)):HD$(WD),3)="FL#"PN$=G$(VL),1,WD(WD))2D(X))>RC$(X+Z))RC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z) DRC$(X))=RC$(X+Z))RC$(X),RC$(X),"-")+1))>RC$(X+Z),RC$(X+Z),"-")+1))RC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z)*DX,Z::17800\D17900:15000D:"PRINT ";:):"COLUMN OUT OF RANGE"::172705}CRR<=0RR>=PN(1):"ROW OUT OF RANGE"::17270Cwd(0)=wd(0)+1C:>19 C17210-C ********** Sort Line Numbers **********6DZ=WD(0)/2)1-1:13);"Sorting ";z;" "; DX=1WD(0)-ZLDRC$(VL+3))jCWD(WD(0)+1)=PN$)lChd$(wd(0)+1)="999"174008vC"Enter print location on page (R-C) ";rc$(wd(0)+1)HwCRC=RC$(WD(0)+1),"-"):RC=0:"YOU MUST ENTER THE DASH!"::172701yCRR=RC$(WD(0)+1)):CC=RC$(WD(0)+1),RC+1))8{CCC<=0CC>=PN(117290xgCvl=hd$(wd(0)+1),4)):HD$(WD(0)+1),3)="FL#"VL>XX(3)VL<=0:HD$(WD(0)+1);" *** OUT OF RANGE ***"::17290iCHD$(WD(0)+1),3)="FL#"HD$(WD(0)+1),3)="CD(""Enter the print width (default=";xx(vl+3);") ";:"";PN$:PN$=""PN$=XX(0)+1)=""PN$="FL#"+WD(0)+1)'DCHD$(WD(0)+1)<>""PN$=HD$(WD(0)+1)zbC"Enter data to print #";wd(0)+1;" (999 to END default=";pn$;") ";:"";hd$(wd(0)+1):hd$(wd(0)+1)=""hd$(wd(0)+1)=pn$FeCHD$(WD(0)+1)="":"YOU MUST ENTER SOMETHING TO PRINT!"::Bpn(2)=pn$)HB INPUT"Page Subtotals (Y/N default=N) ";pn$:IF pn$="" THEN pn$="N" Bpn(3)=0:pn$="Y"pn(3)=1GB INPUT"Report Totals (Y/N default=N) ";pn$:IF pn$="" THEN pn$="N"Bpn(4)=0:pn$="Y"pn(4)=10C::"WHAT TO PRINT"::*:CHD$(WDB:::X=1200:HD$(X)="":$B"MAKE A NEW REPORT":::wd(0)=06B INPUT"Enter a TITLE for your Report ";hd$(0) ";G$(XX(0)):2?SD=1XX(3):"FIELD #";SD;": ";F$(SD):::#0 ?3hB ******************************************** 2rB ** Define a Report **6|B ******************************************** NTYPE",:"OUTPUT DEVICE (Default=";pt$;")";:in$:in$>""pt$=in$:1,180,24:5> ******************************************** 4> ** Copy Record to Printer ** 5> ******************************************** ?15000:63:"UPDATE ";:35030@3P=0G=0 J311070:335300:131202: ********************************************2: ** Select Output Device **2: ********************************************,:1,2480,24::PT$=""PT$=".SILE2::UU$=SP$2FC=1XX(3):rt=2:1002:2=24:=1::"Update this Field (Y/N X=EXIT) ?";::CO$3CO$>"Z"CO$=CO$)-32)!3"NXY",CO$)<>0CO$;:=1:3CO$="X"RT=0:"3CO$<>"Y"co$<>"N"13040'31002::CO$;:(3UU$,FC,1)=CO$,3*************************************** N=1:=1:"BILL TO:";N=2:=1:"========";N=1:=40:"SHIP TO:";N=2:=40:"========";%N=21:=60:"===================";U=23:=1::U:U=3:=1:"ATTENTION";U=4:=1:"NAME";U=5:=1:"ADDRESS 1";U=6:=1:"ADDRESS 2";U=7:=1:"CITY";V=8:=1:"STATE";V=9:=1:"ZIP"; V=10:=1:"PURCHASE NUMBER";V=11:=1:"PURCHASE DATE";V=3:=40:"SHIPVIA"; V=4:=40:"NAME"; V=5:=40:"ADDRESS 1";V=6:=40:"ADDRESS 2";CD$,CD-1):30015IuCD=1CD$=CD$,2):30015NuZZ=1CD$)QSuCD$,ZZ,1)<"0"CD$,ZZ,1)>"9"CD$,ZZ,1)<>"."CD$,ZZ,1)<>"-"E=1:Xu@]uI1=CD$,"-"):B$=CD$,I1+1):I2=B$,"-"):I1>0I2>0E=1:@buI1=CD$,"."):B$=CD$,I1+1):I2=B$,"29080qAN$<>"Y":q30u ******************************************** 55u ** Numeric Edit Check ** 7:u ******************************************** '?uE=0:CD$=""CD$=SP$,1,CD$))/DuCD=CD$," "):CD>1CD$=:22000:20000 qAN$="S"(AN$="A"UP>0)?qF>0=24:=1:"NOT FOUND - THIS IS NEAREST";:=1::29100,q=24:"-PRESS ANY KEY FOR NEXT RECORD-";Qq=23::=23:"IS THIS IT ? (Y=YES,P=PRINT) ";:AN$:AN$>"Z"AN$=AN$)-32)qAN$="P"16020:7))+G$(20))+G$(23))+G$(26))+G$(29))+G$(30))+G$(32))-(G$(31))+G$(33))))>q4Hq ******************************************** 6Rq ** Display Found Record ** 6\q ******************************************** fq ** 5m ******************************************** !nG$(17)=G$(16))*G$(15)))!nG$(20)=G$(19))*G$(18)))!nG$(23)=G$(22))*G$(21)))!nG$(26)=G$(25))*G$(24)))!nG$(29)=G$(28))*G$(27)))inG$(34)=G$(1************************************* 3jm ** Move F$(x) to G$(x) Array ** 4tm ******************************************** ~mQZ=1XX(3):G$(QZ)=F$(QZ):2m ********************************************3m ** Computed DataSubroutine ** 5i ******************************************** ;iRT=1:EM=0:FC=XX(0):1002:S$=G$(XX(0)):RT=1:EM>027030'iDO=4:60060:RP=S(P1):40020:F=0Gi=24:=1:"NOT FOUND - THIS IS NEAREST";7);:XX=11500::=1::4`m *******RROR ENCOUNTERED IN LINE";ERLUaERL<256ERL>15"YOU HAVE PROBABLY MADE A SYNTAX ERROR IN EDIT SPECIFICATIONS"a=PEEK(222)(b"ERROR NUMBER IS ";:D$;"CLOSE":5xi ******************************************** 7i ** Look For Record a=23:=1::5a ******************************************** 5a ** Error Routine Handler ** 6a ******************************************** aaERL=PEEK(218)+PEEK(219)*256%aPEEK(222)=5"END OF DATA.":10$a"E:=41:G$(23); Z=17:=15:G$(24);Z=17:=26:G$(25);Z=17:=40:G$(26);Z=18:=15:G$(27);Z=18:=26:G$(28);Z=18:=40:G$(29);Z=17:=69:G$(30);Z=18:=68:G$(31);Z=19:=67:G$(32);Z=20:=68:G$(33);!Z=22:=70:G$(34);:G$(11);Y=5:=50:G$(12);Y=6:=50:G$(13);Y=7:=50:G$(14);Y=14:=22:G$(15);Y=14:=33:G$(16);Y=14:=47:G$(17);Z=15:=21:G$(18);Z=15:=32:G$(19);Z=15:=46:G$(20);Z=16:=16:G$(21); Z=16:=27:G$(22); Z=160:"PAYMENT";8V=22:=60:"TOTAL DUE";:VY=3:=11:G$(1);Y=4:=6:G$(2);Y=5:=11:G$(3);Y=6:=11:G$(4);Y=7:=6:G$(5);Y=8:=7:G$(6);Y=9:=5:G$(7);Y=10:=17:G$(8);Y=11:=15:G$(9);Y=3:=48:G$(10);Y=4:=45=34:"AMOUNT";$V=17:=1:"OTHER #1 QNTY";&V=17:=20:"PRICE";(V=17:=33:"AMOUNT";*V=18:=1:"OTHER #2 QNTY";,V=18:=20:"PRICE";.V=18:=33:"AMOUNT";0V=17:=60:"SHIPPING";2V=18:=60:"PREPAID";4V=19:=60:"C.O.D.";6V=20:=6V=7:=40:"ADDRESS 3";%V=14:=1:"APPLE DIRECTORY QNTY";V=14:=27:"PRICE";V=14:=40:"AMOUNT";$V=15:=1:"EDUC. HANDBOOK QNTY";V=15:=26:"PRICE";V=15:=39:"AMOUNT";V=16:=1:"QUICK AND EASY"; V=16:=21:"PRICE";"V=16:."):I1>0I2>0E=1:gu vu30000:I9=CD$,"."):E=1){uI9>0B$=CD$,I9+1):CD$=CD$,1,I9)uI9=0CD$=CD$+".":B$="00" uB$=B$+"00",2):CD$=CD$+B$:6u ******************************************** 4u ** Date Edit Check ** :u ******************************************** #uCD$=""CD$=SP$,1,CD$))uCD$)<6CD$)>8E=1:uCD$)<1CD$)>12E=1:>uCC=0:XX=CD$)1-1:CD$,XX,1)="/"CC=CC+1:DD(CC)=XXu:CC<>2E=1:uCD=DD0)40080$|RL+XX(JI+3)=>245#FF;IN$:RL=0.F$(JI)=IN$,RL+1,XX(JI+3)):RL=RL+XX(JI+3):5 ******************************************** 5 ** Left Justify Field ** 7œ ******************************************** 37060F$(FC),E,1)="?":37040Đ:5@ ******************************************** 3J ** Input Record from File ** 9T ******************************************** ^#FF,RP;F$(XX(0)),IN$:RL=0!rJI=1XX(3):JI=XX((SL$(FC)>=F$(FC)): E=(F$(FC),SL$(FC))>0):5 ******************************************** 5 ** Wildcard Routine ** 5 ******************************************** FC=1XX(3):E=0$E=SL$(FC),"?",E+1):E=0************************** '37000:E=1:FC=1XX(3):E=0365505SL(FC)36560,36570,36580,36590,36600,36610,36620Ǝ:ЎE=(SL$(FC)=F$(FC)):ڎE=(SL$(FC)<>F$(FC)):E=(SL$(FC)F$(FC)):E= ** 3 ******************************************** FC=0:sl(0)=1:*ȌFC=1XX(3):RT=1:1002::SL(0)=0:RT=0Ҍ3 ******************************************** 3 ** Record Select Routine ** 5 ******************"10000:XX=0P1:RT(XX)=1::P=P1:35280׉"UDPX",SS$)=035295ډSS$="X"*݉"UDP",SS$)11070,12070,16000:35280߉ST$="S"DO=8:60000:351905 ******************************************** 6 ** Setup Record Select e=0"SEARCHING --> ";::G$(XX(0))::35300an$<>"S" 29030OЉ=24:=1::"X";::"=EXIT ";::"P";::"=PRINT ";::"U";::"=UPDATE ";5Ӊ:"L";::"=LOOKUP, PRESS ANY KEY TO CONTINUE ";)ՉSS$:SS$>"Z"SS$=SS$)-32):SS$;5։SS$="LAN ";Nֈ"All or Selected records (A/S default=A) ";:ST$:ST$:st$=13)st$="A"ۈST$>"Z"ST$=ST$)-32)ST$<>"A"ST$<>"S"35030ꈻST$="A"35140 36000:DDO=7:60000:ROOT(FL)=0 v28030{ST$="S">20Cst$="S"36500:41130:61120:QZ=1XX(1):NR=QZ:RP=QZ:40020 }ZZ$=F$(XX(0)):KY$=ZZ$:61100}:15 ******************************************** 5ˆ ** Record Scanning Routine ** 6̈ ******************************************** ш::"SC . . "A}FL=2:N$(FL)=F$:F}do=1:60060(K}#FF,FI$+".DAT",XX(2)+XX(2)/245)+3$P}XX(2)<100XX(1)=100/XX(2))+2S}XX(2)>=100XX(1)=3.Z}#FF,1;0:#FF;XX(1):#FF;0:#FF;XX(0):#FFd}AN$<>"I"AN$<>""n}} *** REBUILD INDEX ***8}60960:L PREVIOUS ENTRIES!"H}:"C - CONTINUE INITIALIZATION":"F - FIX INDEX BASED ON DATA FILE")}:"CHOOSE ONE (C,F, ANY FOR MENU) ";((}NN$:NN$:NN$>"Z"NN$=NN$)-32)-}NN$<>"C"AN$<>"F"102}NN$="F"32180+<}"This will take a little while .,ZZ,1)>="0")E=1Ty:6} ******************************************** 5} ** Initialize File ** 4} ******************************************** ] }:"INITIALIZE FILE :";::"*** WARNING ***":::"THIS WILL ERASE AL00"+CD),2):3y ******************************************** 4"y ** Alpha Edit Check ** :,y ******************************************** #6yCD$=""CD$=SP$,1,CD$))@yZZ=1CD$).Jy(CD$,ZZ,1)<="9"CD$(CC)+17uCD$,DD(CC)+1))<1CD$,DD(CC)+1))>31E=1:uCD$,DD(1)))>3E=1:=uCD=CD$):DD(1)=CD$,DD(1)+1)):DD(2)=CD$,DD(2)+1));uCD$="":30220:CD$=B$+"/":CD=DD(2):30220:CD$=CD$+B$+"/"$vCD=DD(1):30220:CD$=CD$+B$:E=0: vB$=" ̜XX(I+3)-G$(I))<=0)֜G$(I)=G$(I)+SP$,XX(I+3)-G$(I))):(JI=1B$)+1-A$)$2B$,JI,A$))=A$I9=JI:41040 <:I9=0:6 ******************************************** 4 ** Open Main Data File ** : ******************************************** 4DO=2:60000:#FF,FI$+".DAT",XX(2)+XX(2)/245)+37#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0):5 ******************************************** 6Ƞ ** Close Main Data File ************************************ 5 ** Add Records from Files ** 3 ******************************************** Dޮ:"Enter the file name to add records from as /Volume/Filename"#FF(1)=3:FF(2)=4:FF(3)=1:FF(4)=28"";fjۻST$="A">21U ۻP=0G=0FF=FF(3):FL=FF(4):41180:XX=13:XZ(XX),XX(XX)::FF=FF(1):FL=FF(2):% "COPYING --> ";::G$(XX(0)): QG=G:QL=L:QR=R:QP=P.FF=FF(3):FL=FF(4):DO=5:S$=G$(XX(0)):60000)G=QG:L=QL:R=QR:P=QP .ۺ560705 ********j$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$ځXX=010:XZ(XX)=0:2ځxx=03:xz(xx)=xx(xx)::XX(1)=0:32070:41130ځXX=03:XZ(XX),XX(XX):6FF=FF(1):FL=FF(2):FI$,FJ$:41130:"COPY ";:35030$ہXX=03:XZ(XX),XX(XX)::56073FF=FF(1):FL=FF(2):35300************************************** 3 ** Copy Records to Files ** 6 ******************************************** Dڮ:"Enter the file name to copy records to as /Volume/Filename "#FF(1)=1:FF(2)=2:FF(3)=3:FF(4)=4)ڃ"";f;)ȵ:"3.";::" > ";::"4.";::">= ";Bȵ:"5.";::" < ";::"6.";::"<= ";::"7.";::" CONTAINS";&ȵ:=vp:=hp:"#";:=vp:=hp:sl$:Ȼsl$=13)SL(FC)=0:51250,(sl(fc)=sl$):SL(FC)<1SL(FC)>7512102ȵ:SL(FC);::510853 ******0000#ǻsl(0)>0SL(FC)<6I=FC:40140"ǻSL(0)>0::SL$(FC)=G$(FC):ǿ"ǻFC=XX(0)G$(XX(0))="":511004ǭ:G$(FC)="":I=FCXX(3):40140::FC=XX(3):1008 VP=:HP=P Ț=24:=1:"THE SELECT FUNCTIONS ARE ";::"1.";::" = ";::"2.";::"<> "ǻSL(FC)=0SL(0)>051115/ǃ"";G$(FC):G$(FC)>""G$(FC))=1951130WǻFC=XX(0)G$(XX(0))=""EM$="THE KEY FIELD MUST NOT BE BLANK!":E=1:=1:=24:50000ǻG$(FC)="STOP"::10FǻG$(FC))>XX(3+FC)EM$="MAX LENGTH EXCEEDED":E=1:=1:=24:5********* 8B ** Enter Field Data ** 7L ******************************************** Vǚ=VT:=HT:PP$;:51070jǚ=VT:=HT:PP$~ǻRT=2" ";:::ǻSL(0)>051200 " ";%PE$,XX(FC+3));BP$,XX(FC+3));splay Field Entry Error ** 5d ******************************************** nûBL$="Y"7);*xVP=:HP=:EM=EM$):EM$;:ER$<>"N"/ÁLP=1SC*500::=VP:=HP:SP$,1,EM$));Ú=1:=1::78 ***********************************DAT")<>0A$=A$,15,15)-A$,".DAT")>0A$,1,A$,".DAT")-1), 43140 #5::5"Enter the file name to use (DEFAULT=";fi$;") ";pe$:pe$<>""fi$=pe$ >15:2P ********************************************6Z ** Di? (Y/N default=Y) ";Y$4Y$>"Z"Y$=Y$)-32)HY$<>"N" \œ431602f:"Enter the volume to use (DEFAULT=";;") ";ppe$:pe$<>""=pe$Au:"Here is a list of existing data files on this volume . ."z:#5,:ž#543160+#5;A$:A$,".0:RL+XX(JI+3)=>245#FF;OP$:RL=0:OP$=""+VRL+XX(JI+3)=>245#FF;OP$:RL=0:OP$=""!`RL=RL+XX(JI+3):OP$=OP$+G$(JI)j:#FF;OP$: select data files 2"PROGRAM NAME : ";F$::"Volume in use : "; "Data file : ";fi$,*:"Use this FILE )=G$(JI),JI65 ******************************************** 3 ** Output Record to File ** 4$ ******************************************** !.#FF,RP;G$(XX(0)):RL=0:OP$=""!LJI=1XX(3):JI=XX(0)420907QI=JI:4014 ** 4Ҡ ******************************************** HܠDO=3:60000:#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0):#FF: LEFT JUSTIFY FIELDS ***$B$)>=HPB$=B$,1,HP):41230B$=B$+SP$,1,HP-B$))JI=1XX(3)"F$(JI$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$:FI$=FI$+".DAT"6` ******************************************** 2o ** **2t ** Quick & Easy File Handler **5y ** ** 3~ ** (c) 1982 by ** 2 ** **2 ** Advanced Software Technology **5 ** ** 2 ** THIS ROUTINE MAY ONLY APPEAR IN THE **24 9 0 1 4 9 5 6 9 8 0 7 0 0 0 0 0 0 ;S$:62300"R1>0RQ=R1:#FF,R1;S$:62300 \S$=S$+RQ):DO=4:60000:G=LR(t#FF,G;N$:S$>N$R=RQ:60920:62620L=RQ:608603S$=S$+RQ):DO=4:60000:G=LR(t#FF,G;N$:S$>N$R=RQ:60920:62620L=RQ:608603R(FF)=G(G=LR:60840:60900:RP=LL=0:60860RP=RR=0:60920+RP=ROOT(FL)L1>0ROOT(FL)=L1:62180&RP=ROOT(FL)R1>0ROOT(FL)=R1:RP=ROOT(FL)ROOT(FL)=0:"L1>0RQ=L1:#FF,L1;S$:62300"R1>0RQ=R1:#FF,R1;S$:62300 \(P+1)60740,60780:60780 read/write L(G) #FL,(G+1)*2;L:#FL,(G+1)*2;L: read/write R(G) #FL,(G+1)*2+1;R:#FL,(G+1)*2+1;R:"0 delete a record from index G=RP:60840:60900:R1=R:L1=L+F=0:L=DR(FF):R=0:60860:60920:D80RP=RQ:42000: rewind alpha index *G=ROOT(FL):P=0:CN=0:ROOT(FL)=0607801060840:L<>0S(P)=G:P=P+1:G=L:RT(P)=1:607205RP>0LR=RPDRP=G:40000:1X60900:R<>0S(P)=G:P=P+1:G=R:RT(P)=2:60720lP=0G=0::,P=P-1:G=S(P):RT=|F=0:xx(1)=xx(1)+1:OG=G:G=xx(1):L=0:R=0:60860:60920:G=OGG=0ROOT(FL)=xx(1):60620+#FF,G;N$:S$>N$R=xx(1):60920:60620L=xx(1):60860RP=xx(1):42000:/F=0:OG=G:G=DR(FF):RQ=DR(FF):60840:DR(FF)=L%L=0:R=0:60860:60920:G=OG:625 a record G=ROOT(FL):G1=ROOT(FL):P1=0G=0F=1:G=G1:P1=P1-1:##FF,G;N$:S$=N$F=0:S(P1)=G:7LR=G:G1=G:S$060630200),hd$(200),RC$(200)P=0:FF=1:FL=2:0#FF,FI$+".DAT":#FL,N$(FL)+".NDX":#FF:#FL1N$(FL)+".NDX":FI$+".DAT":N$(FL)+".NDX",,6&FI$+".DAT",,XX(2)+XX(2)/245)+3#FL,N$(FL)+".NDX",6:%d#FL,1;root(FL):#FL;xx(1):#FL: search for REVISED 09/13/82 **2 ** **3 ******************************************** 7DO60100,60160,60260,60340,60520,62000,60700,607605S(400),RT(400),SL(200),SL$(200),ROOT(10),XZ(200)WD( ** PROGRAMS THAT ARE WRITTEN BY THE **2 ** QUICK & EASY DATA MASTER. THIS FILE **2 ** HANDLER IS NOT PUBLIC DOMAIN AND MAY **2 ** NOT BE USED IN OTHER PRODUCTS. **2 ** **2 ** return to the MENU type 'QUIT'";" for an entry into any field.">3:"Please press the letter corresponding to your choice."#6AN$:AN$>"Z"AN$=AN$)-32) ;"ELSUDIFXCMP",AN$)=0310V@"ELSUDIFXCMP",AN$)1000,10000,35025,11020,12000,330,13000 Look Up Single Records"%=1:"U - Update Single Records"%=1:"D - Delete Single Records"&=1:"F - Update Any/All Records"&=1:"S - Scan/Modify All Records""=1:"X - Exit Program"''=1:"I - Initialize/Fix Data File")J1:"To =04=(22):"PRODUCED BY Quick & Easy Data Master":&=(80-15)/2::"this is a test.":=5::"DATA ENTRY";:=44::"REPORTING"::%=40:"M - Make a Report Format";=1:"E - Enter Data"=40:"P - Print a Report";% =1:"L -$(2)=F$:FL=2:FF=1:41130: OPEN FILE & INDEX4 ******************************************** 4 ** Main Selection Menu ** 3 ******************************************** +I=1XX(3):G$(I)="":I:FC=0:UF=0:G$="" :RTata File Field Sizes ** 4H ******************************************** OP XX(1)=#OF RECD'S XX(2)=REC LEN XX(3)=#OF FIELDS XX(I)=FIELD LEN 1 TO 1ZXX(1)=0:XX(2)=25:XX(3)=1 dXX(4)=25:/IN(5,2),N$(5):LN=XX(1)))+2:LN=4LN=51N4 DAVID 209 N. W. GREENTEE LN. K. C. MO K.C. MO64116 453 3208 LUKE LONG TED APT #1 KCMO MO5555 235-333-5689 456-789-7896 THIS GUY IS A GENIUS SAM MISTER BILL 4130 BELL APT #1 KCMO MO5555 235-333-5689 456-789-7896 THIS GUY IS A GENIUS FRED,340,56000,17000,17500E235 J32000T41150::"*** Done ***":5 ******************************************** 4 ** Data Entry for Fields ** 2 ******************************************** FC=FC+1jEM=0:(FC>0)*(FC-0)1010,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,0EI=FC:40140::(EM>0)1002:(RT=0)(FCXX(3pn$="" THEN pn$="N" Bpn(3)=0:pn$="Y"pn(3)=1GB INPUT"Report Totals (Y/N default=N) ";pn$:IF pn$="" THEN pn$="N"Bpn(4)=0:pn$="Y"pn(4)=10C::"WHAT TO PRINT"::*:CHD$(WD(0)+1)=""PN$="FL#"+WD(0)+1)'DCHD$(WD(0)+1)<>""PN$=HD$(WD(0)+B INPUT"Enter a TITLE for your Report ";hd$(0) ******************************************** 4> ** Copy Record to Printer ** 5> ******************************************** ?15000:#8,pt$:#8: ?"RECORD FOR ->";G$(XX(0)):2?SD=1XX(3):"FIEL2: ********************************************2: ** Select Output Device **2: ********************************************,:1,2480,24::PT$=""PT$=".SILENTYPE",:"OUTPUT DEVICE (Default=";pt$;")";:in$:in$>""pt$=iis Field (Y/N X=EXIT) ?";::CO$3CO$>"Z"CO$=CO$)-32)!3"NXY",CO$)<>0CO$;:=1:3CO$="X"RT=0:"3CO$<>"Y"co$<>"N"13040'31002::CO$;:(3UU$,FC,1)=CO$,363:"UPDATE ";:35030@3P=0G=0 J311070:335300:1312020:28030:29030&/DO=6:60060:22 ********************************************42 ** Update File Routine ** 52 ******************************************** 2::UU$=SP$2FC=1XX(3):rt=2:1002:2=24:=1::"Update th0+RT=1:FC=UF:1002+RP=G:28100:42000+5. ******************************************** 3. ** Delete Record Routine ** 6. ******************************************** *.:=24::"ENTER WHICH TO DELETE :";:/270:M+RT=1:1002N+=24:=1:SP$,1,70);=R+G$(FC)=SP$,XX(FC+3))RT=2:1002:F$(FC):G$(FC)=F$(FC)\+3f+=24:=1:"IS THIS CORRECT (Y/N X=EXIT) ";:CO$i+CO$>"Z"CO$=CO$)-32)!k+"NXY",CO$)<>0CO$;:=1:p+CO$="X"z+CO$<>"Y"1107********************************** *+:=24::"ENTER WHICH TO UPDATE :";: +27020:UU$=SP$:28030:29030>+::FC=1XX(3)?K+FC=XX(0)UU$,FC,1)="N"RT=2:1002:G$(FC);:RT=1:11100AL+UU$,FC,1)="Y"=24:=1::"CURRENT -> ";G$(FC),1,50); ** 2$' *********************************************.':=24::"ENTER WHICH TO LOOKUP :";:8'27020:28030:29030:5* ******************************************** 8+ ** Update a Record Routine ** 4 + **********:"Enter More Data (Y/N) ? ";:TM$:TM$;&TM$>"Z"TM$=TM$)-32)&TM$="N"100&TM$<>"Y"" PLEASE ANSWER Y OR N";:9950 'G$="":FC=0::UF=0:XX=:10003' ******************************************** 4' ** File Look Up Routine as MM/DD/YY only!":=23:=1:500005& ******************************************** 2& ** Store Entered Record **7& ******************************************** .&28100:S$=G$(XX(0))+XX(1)+1):DO=5:600004&=24:=1)VL<=0:HD$(WD(0)+1);" *** OUT OF RANGE ***"::17290iCHD$(WD(0)+1),3)="FL#"HD$(WD(0)+1),3)="CD(""Enter the print width (default=";xx(vl+3);") ";:"";PN$:PN$=""PN$=XX(VL+3))jCWD(WD(0)+1)=PN$)lChd$(wd(0)+1)="999"174008vC"Enter print location on page (R-C) ";rc$(wd(0)+1)HwCRC=RC$(WD(0)+1),"-"):RC=0:"YOU MUST ENTER THE DASH!"::172701yCRR=RC$(WD(0)+1)):CC=RC$(WD(0)+1),RC+1))8{CCC<=0CC>=PN(1):"COLUMN OUT OF RANGE"::172705}CRR<=0RR>=PN(1):"ROW O:B$=CD$,I1+1):I2=B$,"."):I1>0I2>0E=1:gu vu30000:I9=CD$,"."):E=1){uI9>0B$=CD$,I9+1):CD$=CD$,1,I9)uI9=0CD$=CD$+".":B$="00" uB$=B$+"00",2):CD$=CD$+B$:6u ******************************************** 4u ** D=CD$," "):CD>1CD$=CD$,CD-1):30015IuCD=1CD$=CD$,2):30015NuZZ=1CD$)QSuCD$,ZZ,1)<"0"CD$,ZZ,1)>"9"CD$,ZZ,1)<>"."CD$,ZZ,1)<>"-"E=1:Xu@]uI1=CD$,"-"):B$=CD$,I1+1):I2=B$,"-"):I1>0I2>0E=1:@buI1=CD$,".")32)qAN$="P"16020:29080qAN$<>"Y":q30u ******************************************** 55u ** Numeric Edit Check ** 7:u ******************************************** '?uE=0:CD$=""CD$=SP$,1,CD$))/DuC**************** fq:22000:20000 qAN$="S"(AN$="A"UP>0)?qF>0=24:=1:"NOT FOUND - THIS IS NEAREST";:=1::29100,q=24:"-PRESS ANY KEY FOR NEXT RECORD-";Qq=23::=23:"IS THIS IT ? (Y=YES,P=PRINT) ";:AN$:AN$>"Z"AN$=AN$)-*******3m ** Computed Data ** 5m ******************************************** >q4Hq ******************************************** 6Rq ** Display Found Record ** 6\q ****************************7);:XX=11500::=1::4`m ******************************************** 3jm ** Move F$(x) to G$(x) Array ** 4tm ******************************************** ~mQZ=1XX(3):G$(QZ)=F$(QZ):2m *************************************** 7i ** Look For Record Subroutine ** 5i ******************************************** ;iRT=1:EM=0:FC=XX(0):1002:S$=G$(XX(0)):RT=1:EM>027030'iDO=4:60060:RP=S(P1):40020:F=0Gi=24:=1:"NOT FOUND - THIS IS NEAREST";PEEK(222)=5"END OF DATA.":10$a"ERROR ENCOUNTERED IN LINE";ERLUaERL<256ERL>15"YOU HAVE PROBABLY MADE A SYNTAX ERROR IN EDIT SPECIFICATIONS"a=PEEK(222)(b"ERROR NUMBER IS ";:D$;"CLOSE":5xi ******************************************=1:=1:"date";UY=1:=6:G$(1);a=23:=1::5a ******************************************** 5a ** Error Routine Handler ** 6a ******************************************** aaERL=PEEK(218)+PEEK(219)*256%aN(X): F#8;WD(0):X=0WD(0)'F#8;RC$(X):#8;HD$(X):#8;WD(X)::5 N ******************************************** 6*N ** Headers/Titles/Calculations ** 34N ******************************************** U=23:=1::U:U:DZL=LCPN(2)::: E>19'E"Save Report as /VOLUME/FILE ";RP$E#8,RP$:X=09:#8;PN(X):E#8;WD(0):X=0WD(0)'E#8;RC$(X):#8;HD$(X):#8;WD(X):: E>19.E"Report name to use as /VOLUME/FILE ";RP$F#8,RP$:X=09:#8;P0!DLC=1:WD=1WD(0):PN$=HD$(WD)DRC$(WD))=LC17620D:LC=LC+1:17610'DRC$(WD),RC$(WD),"-")+1)));BDvl=hd$(wd),4)):HD$(WD),3)="FL#"PN$=G$(VL),1,WD(WD))2DHD$(WD),3)="CD("PN$=CD(VL)),1,WD(WD))DPN$;::LC=PN(2) DRC$(X))=RC$(X+Z))RC$(X),RC$(X),"-")+1))>RC$(X+Z),RC$(X+Z),"-")+1))RC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z)*DX,Z::17800\D17900:15000D:"PRINT ";:35030DP=0G=0#0:D#8,pt$:#8:17600:#0D35300:1756UT OF RANGE"::17270Cwd(0)=wd(0)+1C:>19 C17210-C ********** Sort Line Numbers **********6DZ=WD(0)/2)1-1:13);"Sorting ";z;" "; DX=1WD(0)-ZLDRC$(X))>RC$(X+Z))RC$(X),RC$(X+Z):HD$(X),HD$(X+Z):WD(X),WD(X+Z) Date Edit Check ** :u ******************************************** #uCD$=""CD$=SP$,1,CD$))uCD$)<6CD$)>8E=1:uCD$)<1CD$)>12E=1:>uCC=0:XX=CD$)1-1:CD$,XX,1)="/"CC=CC+1:DD(CC)=XXu:CC<>2E=1:uCD=DD(CC)+17uCD$,DD(CC)+1))<1CD$,DD(CC)+1))>31E=1:uCD$,DD(1)))>3E=1:=uCD=CD$):DD(1)=CD$,DD(1)+1)):DD(2)=CD$,DD(2)+1));uCD$="":30220:CD$=B$+"/":CD=DD(2):30220:CD$=CD$+B$+"/"$vCD=DD(1):30220:C*********************** ̜XX(I+3)-G$(I))<=0)֜G$(I)=G$(I)+SP$,XX(I+3)-G$(I))):(JI=1B$)+1-A$)$2B$,JI,A$))=A$I9=JI:41040 <:I9=0:6 ******************************************** 4 ** Open Main Data F0!rJI=1XX(3):JI=XX(0)40080$|RL+XX(JI+3)=>245#FF;IN$:RL=0.F$(JI)=IN$,RL+1,XX(JI+3)):RL=RL+XX(JI+3):5 ******************************************** 5 ** Left Justify Field ** 7œ *********************E=SL$(FC),"?",E+1):E=037060F$(FC),E,1)="?":37040Đ:5@ ******************************************** 3J ** Input Record from File ** 9T ******************************************** ^#FF,RP;F$(XX(0)),IN$:RL==(SL$(FC)>F$(FC)):E=(SL$(FC)>=F$(FC)): E=(F$(FC),SL$(FC))>0):5 ******************************************** 5 ** Wildcard Routine ** 5 ******************************************** FC=1XX(3):E=0$ 5 ******************************************** '37000:E=1:FC=1XX(3):E=0365505SL(FC)36560,36570,36580,36590,36600,36610,36620Ǝ:ЎE=(SL$(FC)=F$(FC)):ڎE=(SL$(FC)<>F$(FC)):E=(SL$(FC) ";::G$(XX(0))::35300an$<>"S" 29030OЉ=24:=1::"X";::"=EXIT ";::"P";::"=PRINT ";::"U";::"=UPDATE ";5Ӊ:"L";::"=LOOKUP, PRESS ANY KEY TO CONTINUE ";)ՉSS$:SS$>"Z"SS$=********* ш::"SCAN ";Nֈ"All or Selected records (A/S default=A) ";:ST$:ST$:st$=13)st$="A"ۈST$>"Z"ST$=ST$)-32)ST$<>"A"ST$<>"S"35030ꈻST$="A"35140 36000:DDO=7:60000:ROOT(FL)=0 v28030{ST$="S">2ILD INDEX ***8}60960:41130:61120:QZ=1XX(1):NR=QZ:RP=QZ:40020 }ZZ$=F$(XX(0)):KY$=ZZ$:61100}:15 ******************************************** 5ˆ ** Record Scanning Routine ** 6̈ ***********************************ill take a little while . . . "A}FL=2:N$(FL)=F$:F}do=1:60060(K}#FF,FI$+".DAT",XX(2)+XX(2)/245)+3$P}XX(2)<100XX(1)=100/XX(2))+2S}XX(2)>=100XX(1)=3.Z}#FF,1;0:#FF;XX(1):#FF;0:#FF;XX(0):#FFd}AN$<>"I"AN$<>""n}} *** REBU:::"THIS WILL ERASE ALL PREVIOUS ENTRIES!"H}:"C - CONTINUE INITIALIZATION":"F - FIX INDEX BASED ON DATA FILE")}:"CHOOSE ONE (C,F, ANY FOR MENU) ";((}NN$:NN$:NN$>"Z"NN$=NN$)-32)-}NN$<>"C"AN$<>"F"102}NN$="F"32180+<}"This w(CD$,ZZ,1)<="9"CD$,ZZ,1)>="0")E=1Ty:6} ******************************************** 5} ** Initialize File ** 4} ******************************************** ] }:"INITIALIZE FILE :";::"*** WARNING ***"D$=CD$+B$:E=0: vB$="00"+CD),2):3y ******************************************** 4"y ** Alpha Edit Check ** :,y ******************************************** #6yCD$=""CD$=SP$,1,CD$))@yZZ=1CD$).Jyile ** : ******************************************** 4DO=2:60000:#FF,FI$+".DAT",XX(2)+XX(2)/245)+37#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0):5 ******************************************** 6Ƞ ** Close Main Data File ** 4Ҡ ******************************************** HܠDO=3:60000:#FF,1;root(FL):#FF;xx(1):#FF;DR(FF):#FF;xx(0):#FF: LEFT JUSTIFY FIELDS ***$B$)>=HPB$=B$,1,HP):41230B$=B$+SP$,1,HP-B$))FF(3)=1:FF(4)=28"";fj$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$:FI$=FI$+".DAT"6` ******************************************** 2o ** **2t ** Quick & Easy File Handler **5y ** P .ۺ560705 ******************************************** 5 ** Add Records from Files ** 3 ******************************************** Dޮ:"Enter the file name to add records from as /Volume/Filename"#FF(1)=3:FF(2)=4:=FF(1):FL=FF(2):35300ۻST$="A">21U ۻP=0G=0FF=FF(3):FL=FF(4):41180:XX=13:XZ(XX),XX(XX)::FF=FF(1):FL=FF(2):% "COPYING --> ";::G$(XX(0)): QG=G:QL=L:QR=R:QP=P.FF=FF(3):FL=FF(4):DO=5:S$=G$(XX(0)):60000)G=QG:L=QL:R=QR:P=Q:FF(3)=3:FF(4)=4)ڃ"";fj$:fi$,fj$:ff=3:fl=4:N$(FL)=FI$ځXX=010:XZ(XX)=0:2ځxx=03:xz(xx)=xx(xx)::XX(1)=0:32070:41130ځXX=03:XZ(XX),XX(XX):6FF=FF(1):FL=FF(2):FI$,FJ$:41130:"COPY ";:35030$ہXX=03:XZ(XX),XX(XX)::56073FFFC);::510853 ******************************************** 3 ** Copy Records to Files ** 6 ******************************************** Dڮ:"Enter the file name to copy records to as /Volume/Filename "#FF(1)=1:FF(2)=2" = ";::"2.";::"<> ";)ȵ:"3.";::" > ";::"4.";::">= ";Bȵ:"5.";::" < ";::"6.";::"<= ";::"7.";::" CONTAINS";&ȵ:=vp:=hp:"#";:=vp:=hp:sl$:Ȼsl$=13)SL(FC)=0:51250,(sl(fc)=sl$):SL(FC)<1SL(FC)>7512102ȵ:SL(EXCEEDED":E=1:=1:=24:50000#ǻsl(0)>0SL(FC)<6I=FC:40140"ǻSL(0)>0::SL$(FC)=G$(FC):ǿ"ǻFC=XX(0)G$(XX(0))="":511004ǭ:G$(FC)="":I=FCXX(3):40140::FC=XX(3):1008 VP=:HP=P Ț=24:=1:"THE SELECT FUNCTIONS ARE ";::"1.";::X(FC+3));BP$,XX(FC+3));ǻSL(FC)=0SL(0)>051115/ǃ"";G$(FC):G$(FC)>""G$(FC))=1951130WǻFC=XX(0)G$(XX(0))=""EM$="THE KEY FIELD MUST NOT BE BLANK!":E=1:=1:=24:50000ǻG$(FC)="QUIT"::10FǻG$(FC))>XX(3+FC)EM$="MAX LENGTH ********************************** 8B ** Enter Field Data ** 7L ******************************************** Vǚ=VT:=HT:PP$;:51070jǚ=VT:=HT:PP$~ǻRT=2" ";:::ǻSL(0)>051200 " ";%PE$,X*********6Z ** Display Field Entry Error ** 5d ******************************************** nûBL$="Y"7);*xVP=:HP=:EM=EM$):EM$;:ER$<>"N"/ÁLP=1SC*500::=VP:=HP:SP$,1,EM$));Ú=1:=1::78 **********43160+#5;A$:A$,".DAT")<>0A$=A$,15,15)-A$,".DAT")>0A$,1,A$,".DAT")-1), 43140 #5::5"Enter the file name to use (DEFAULT=";fi$;") ";pe$:pe$<>""fi$=pe$ >15:2P ***********************************fi$,*:"Use this FILE ? (Y/N default=Y) ";Y$4Y$>"Z"Y$=Y$)-32)HY$<>"N" \œ431602f:"Enter the volume to use (DEFAULT=";;") ";ppe$:pe$<>""=pe$Au:"Here is a list of existing data files on this volume . ."z:#5,:ž#5X(0)420907QI=JI:40140:RL+XX(JI+3)=>245#FF;OP$:RL=0:OP$=""+VRL+XX(JI+3)=>245#FF;OP$:RL=0:OP$=""!`RL=RL+XX(JI+3):OP$=OP$+G$(JI)j:#FF;OP$: select data files 2"PROGRAM NAME : ";F$::"Volume in use : "; "Data file : ";JI=1XX(3)"F$(JI)=G$(JI),JI65 ******************************************** 3 ** Output Record to File ** 4$ ******************************************** !.#FF,RP;G$(XX(0)):RL=0:OP$=""!LJI=1XX(3):JI=X ** 3~ ** (c) 1982 by ** 2 ** **2 ** Advanced Software Technology **5 ** ** 2 ** THIS ROUTINE MAY ONLY APPEAR IN THE **2 ** PROGRAMS THAT ARE WRITTEN BY THE **2 ** QUICK & EASY DATA MASTER. THIS FILE **2 ** HANDLER IS NOT PUBLIC DOMAIN AND MAY **2 ** NOT BE USED IN OTHER PRODUCTS. **2 ** 0VPOS=20:HPOS=60:PRINT "PAYMENT"; 23071VPOS=20:HPOS=68:PRINT G$(33); 22072VPOS=22:HPOS=60:PRINT "TOTAL DUE"; 23073VPOS=22:HPOS=70:PRINT G$(34); 22074 NORMAL 28341G$(17)=STR$(VAL(G$(16))*VAL(G$(15))) 28342G$(20)=STR$(VAL(G$(19))*VAL(G$(18))) 28343G$(23)=STR063VPOS=18:HPOS=40:PRINT G$(29); 22064VPOS=17:HPOS=60:PRINT "SHIPPING"; 23065VPOS=17:HPOS=69:PRINT G$(30); 22066VPOS=18:HPOS=60:PRINT "PREPAID"; 23067VPOS=18:HPOS=68:PRINT G$(31); 22068VPOS=19:HPOS=60:PRINT "C.O.D."; 23069VPOS=19:HPOS=67:PRINT G$(32); 22076VPOS=17:HPOS=33:PRINT "AMOUNT"; 23057VPOS=17:HPOS=40:PRINT G$(26); 22058VPOS=18:HPOS=1:PRINT "OTHER #2 QNTY"; 23059VPOS=18:HPOS=15:PRINT G$(27); 22060VPOS=18:HPOS=20:PRINT "PRICE"; 23061VPOS=18:HPOS=26:PRINT G$(28); 22062VPOS=18:HPOS=33:PRINT "AMOUNT"; 239VPOS=16:HPOS=27:PRINT G$(22); 22050VPOS=16:HPOS=34:PRINT "AMOUNT"; 23051VPOS=16:HPOS=41:PRINT G$(23); 22052VPOS=17:HPOS=1:PRINT "OTHER #1 QNTY"; 23053VPOS=17:HPOS=15:PRINT G$(24); 22054VPOS=17:HPOS=20:PRINT "PRICE"; 23055VPOS=17:HPOS=26:PRINT G$(25); 2205POS=15:HPOS=26:PRINT "PRICE"; 23043VPOS=15:HPOS=32:PRINT G$(19); 22044VPOS=15:HPOS=39:PRINT "AMOUNT"; 23045VPOS=15:HPOS=46:PRINT G$(20); 22046VPOS=16:HPOS=1:PRINT "QUICK AND EASY"; 23047VPOS=16:HPOS=16:PRINT G$(21); 22048VPOS=16:HPOS=21:PRINT "PRICE"; 2304#FF,R1;S$:62300 \S$=S$+RQ):DO=4:60000:G=LR(t#FF,G;N$:S$>N$R=RQ:60920:62620L=RQ:608603608603R(FF):R=0:60860:60920:DR(FF)=G(G=LR:60840:60900:RP=LL=0:60860RP=RR=0:60920+RP=ROOT(FL)L1>0ROOT(FL)=L1:62180&RP=ROOT(FL)R1>0ROOT(FL)=R1:RP=ROOT(FL)ROOT(FL)=0:"L1>0RQ=L1:#FF,L1;S$:62300"R1>0RQ=R1:0::,P=P-1:G=S(P):RT(P+1)60740,60780:60780 read/write L(G) #FL,(G+1)*2;L:#FL,(G+1)*2;L: read/write R(G) #FL,(G+1)*2+1;R:#FL,(G+1)*2+1;R:"0 delete a record from index G=RP:60840:60900:R1=R:L1=L+F=0:L=D0:60860:60920:G=OG:62580RP=RQ:42000: rewind alpha index *G=ROOT(FL):P=0:CN=0:ROOT(FL)=0607801060840:L<>0S(P)=G:P=P+1:G=L:RT(P)=1:607205RP>0LR=RPDRP=G:40000:1X60900:R<>0S(P)=G:P=P+1:G=R:RT(P)=2:60720lP=0G=F=2:rDR(FF)>060630=|F=0:xx(1)=xx(1)+1:OG=G:G=xx(1):L=0:R=0:60860:60920:G=OGG=0ROOT(FL)=xx(1):60620+#FF,G;N$:S$>N$R=xx(1):60920:60620L=xx(1):60860RP=xx(1):42000:/F=0:OG=G:G=DR(FF):RQ=DR(FF):60840:DR(FF)=L%L=0:R=):#FL: search for a record G=ROOT(FL):G1=ROOT(FL):P1=0G=0F=1:G=G1:P1=P1-1:##FF,G;N$:S$=N$F=0:S(P1)=G:7LR=G:G1=G:S$