home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / bus / dbnew.ba < prev    next >
Text File  |  2006-10-19  |  14KB  |  307 lines

  1. 0 'DBNEW.BA Bob Ripley, 8140 Ammonette     Drive, Richmond Va. 23235
  2. 1 '804-272-1560  For personal use only.    Commercial rights may be purchased
  3. 2 'by sending $10 to the above address     for each machine on which this
  4. 3 'program is used.
  5. 4 'CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  6. 5 SCREEN,0:CLS:PRINT"DBNEW":GOTO9010
  7. 11 IFCQ=0THENCO=1:QQ(II)=1:LN(II)=LEN(A(Q(I),II))
  8. 12 IFQQ(II)>LN(II)ORQQ(II)=0THEN A(C,II)="":GOTO40
  9. 15 IFLEFT$(A(Q(I),II),1)=" "THENLN(II)=LN(II)-1:A(Q(I),II)=RIGHT$(A(Q(I),II),LN(II))
  10. 20 QW=JJ(II)+QQ(II)
  11. 23 FORJH=QWTOQQ(II)STEP-1
  12. 24 A1$=MID$(A(Q(I),II),JH,1):IFA1$=""ORA1$=" "GOTO32
  13. 30 NEXT:PZ=QW-1:PX=QW:GOTO33
  14. 32 PZ=JH-1:PX=JH+1:JH=QQ(II):NEXT
  15. 33 A(C,II)=MID$(A(Q(I),II),QQ(II),PZ-QQ(II)+1):QQ(II)=PX:IFLN(II)>PZTHENCO=1
  16. 40 PRINT#1,USINGG$(II)+DH$;A(C,II);SPACE$(DH);:RETURN
  17. 100 A2="":CD=1:S=2:L!=VARPTR(A2):POKEL!,205:POKEL!+CD,189:POKEL!+S,249
  18. 500 FG$=FS$+STRING$(6-LEN(FS$),32)+"DO
  19. 600 LL=INSTR(1,A2,FG$)-1606:FG$="":A2="
  20. 710 PRINT@40,"GET RCDS";
  21. 720 ML=PEEK(LL):MH=PEEK(LL+1):Q=256:Q1=255:P=1:ST=0
  22. 740 FORI=STTOI4:PRINT@60,I+1;:GOSUB750:ML=ML+1:IFML>Q1THENMH=MH+1:ML=ML-Q
  23. 745 NEXT:S=I4:RETURN
  24. 750 FORII=0TOCC:J=VARPTR(A(I,II)):POKEJ,Q1:POKEJ+1,ML:POKEJ+2,MH
  25. 770 IFII<CCTHENK=INSTR(1,A(I,II),",")ELSEK=INSTR(1,A(I,II),CHR$(13))
  26. 775 IFK=0THEN11000
  27. 780 POKE(VARPTR(A(I,II))),(K-1):ML=ML+K:IFML>Q1THENMH=MH+1:ML=ML-Q
  28. 785 IFINSTR(1,A(I,II),",")>0THEN11000
  29. 790 NEXT:RETURN
  30. 810 PRINT"SORTING":M=S-3:Q2=Q:Q=Q1
  31. 820 M=M/2:PRINTM:IFM=0THENQ=Q2:RETURN
  32. 840 K=S-M:J=4
  33. 850 I=J
  34. 860 L=I+M
  35. 865 IF(N1$=NANDA(Q(I),Q)>A(Q(L),Q))ORN1$=YANDVAL(A(Q(I),Q))>VAL(A(Q(L),Q))THEN910
  36. 880 J=J+1:IFJ>KTHEN820
  37. 900 GOTO850
  38. 910 JJ=Q(I):Q(I)=Q(L):Q(L)=JJ
  39. 920 I=I-M:IFI<4THEN880
  40. 930 GOTO860
  41. 950 IT=I:IFUR$=YTHENI=C+1ELSEI=C-1
  42. 955 IFT$=YTHENNC$=N
  43. 957 FORU=1TOSS:PC=PC+1:GOSUB4020:NEXTU:I=IT:IFNC$=NTHENPRINT #1,STRING$(CT-1,"-");SPACE$(DH):NC$=Y:RETURNELSENC$=Y:RETURN
  44. 1000 ML=0:CLOSE:IF(W=2ORW=3ORW=9)AND(P$=BB(0)ORP$=BB(3))THENGOSUB8200
  45. 1002 GOSUB9300
  46. 1003 GOSUB1005:GOTO1190
  47. 1005 CLS:PRINTTAB(11)"PRINT MENU"
  48. 1100 PRINTS+1" RECS :"CC+1" FLDS :"C-5" MAXRECS
  49. 1110 PRINT"1) SORT   2) SEARCH   3) FORMAT PRINT
  50. 1120 PRINT"4) OPTION 5) 100 MENU 6) PRT SETUPS
  51. 1140 PRINT"7) MATH ENABLED? '";T$;"'  8) ENTER DATA
  52. 1150 PRINT"9) UNFORMATTED PRINT";:RETURN
  53. 1190 GOSUB1250
  54. 1210 UL$="9":LL$="1":BEEP:GOSUB6210:CLS:CLOSE
  55. 1215 Q3=W:IFW=4ORW=6ORW=8THENPRINT CHR$(27);"U":CLS:KEY OFF
  56. 1220 ONWGOSUB2010,3610,3610,5930,1400,6010,1310,8010,4510:GOTO1000
  57. 1250 DV$=N
  58. 1253 PRINT CHR$(27)"U"CHR$(27)"K";
  59. 1255 PRINTCHR$(27);"Y) ";:FORI8=0TO5:PRINTBB(I8)SPACE$(1);:NEXT:PRINTCHR$(27);"Y)";CHR$(32+I9*5);NO$BB(I9)OF$;:IFI9=2ORI9=4THENDV$=YELSEP$=BB(I9)
  60. 1285 PRINTCHR$(27)"T";:CLOSE:IFDV$=NTHENGOSUB5990
  61. 1287 KEYON:ONKEYGOSUB1350,1355,1360,1380,1395,1397:RETURN
  62. 1310 IFT$=YTHENT$=N:CT=0:RETURNELSET$=Y:CT=7+DH:RETURN
  63. 1350 I9=0:GOTO1250
  64. 1355 I9=1:GOTO1250
  65. 1360 CLS:IFCC>=PPTHENBEEP:PRINT"WARNING - NOT ALL COLUMNS PRINTED":BEEP
  66. 1370 I9=2:INPUT"CAS: FILENAME";FD$:P$=BB(2)+FD$:GOSUB1005:GOTO1250
  67. 1380 I9=3:GOTO1250
  68. 1395 CLS
  69. 1396 I9=4:INPUT"DISC FILENAME(EX 0:TEST)";P$:IF MID$(P$,2,1)<>":"THENGOSUB13000:GOTO1396ELSEGOSUB1005:GOTO1250
  70. 1397 I9=5:GOTO1250
  71. 1400 MENU
  72. 1700 PRINT"HOLD 'E' TO END LISTING":RETURN
  73. 1800 CLS:Q=2:PRINT"ERROR CODE "ERR" IN LINE "ERL:
  74. 1803 IFERR=7THENPRINT"OUT OF MEMORY"
  75. 1804 GOSUB1810:RESUME1000
  76. 1810 FORI6=1TO10:BEEP:NEXT:INPUTE$:RETURN
  77. 2010 PRINT"1) SORT":PRINT"2) SORT & PRINT":H3$="SORTED BY "
  78. 2020 LL$="1":UL$="2":GOSUB6210:ONWGOTO2025,2500
  79. 2025 GOSUB2030:GOSUB2031:GOSUB2040:GOSUB2050:GOTO2100
  80. 2030 PRINT:PRINT"COL #"TAB(10)"TITLE":RETURN
  81. 2031 FORII=0TOCC:GOSUB2033:PRINT:FORIL=1TOII*10:NEXT:NEXT:RETURN
  82. 2033 PRINTIITAB(6)A(0,II);:RETURN
  83. 2040 INPUT"COL.#";Q1
  84. 2042 IFQ1>CCORQ1<0THENGOSUB13000:GOTO2040
  85. 2045 RETURN
  86. 2050 PRINT"NUMERICAL COL.";:GOSUB13100:N1$=E$:RETURN
  87. 2100 H$=H3$+A(0,Q1):GOTO 810
  88. 2500 PRINT"ENTER COL.#";
  89. 2550 GOSUB 2030:FOR II=0TOCC:GOSUB2033
  90. 2580 GOSUB13100:BC(II)=E$
  91. 2590 IF BC(II)=YTHENPRINT"  NUMERICAL COL.";:GOSUB13100:BD(II)=E$
  92. 2600 PRINT:NEXT
  93. 2700 FOR JI=0TOCC
  94. 2710 IF BC(JI)=NTHEN2900
  95. 2720 Q1=JI:N1$=BD(JI):GOSUB 810
  96. 2740 Q=3:H$=H3$+A(0,JI):GOSUB 3610:CLOSE
  97. 2900 NEXT:RETURN
  98. 3610 IFQ3<>2THENMT=0:GOTO3672
  99. 3612 INPUT"OPERATOR(AND/OR/NOT/<>)";E$:GOSUB5920:OP$=E$:IFINSTR(1,"<>ORANDNOT",OP$)=0ORLEN(OP$)=1THENGOSUB13000:GOTO3612ELSEGOSUB2030:GOSUB2031
  100. 3613 IFINSTR(1,"<>",OP$)=0THEN3620
  101. 3615 INPUT"COL. #, COMMA, & SMALLEST STRING TO BE FOUND";CL(0),B(0):IFCL(0)>CCTHENGOSUB13000:GOTO3615
  102. 3616 INPUT"LARGEST STRING";B(1):MT=0:M9=0:GOSUB2050:GOTO3672
  103. 3620 PRINT"INPUT COL. #, COMMA & SEARCH STRING.  ENTER '0,END' TO END.
  104. 3630 FORMM=0TO9
  105. 3635 INPUTCL(MM),B(MM)
  106. 3637 IFCL(MM)>CCTHENGOSUB13000:GOTO3635
  107. 3640 IFB(MM)="END"THENMT=MM-1:M9=MT:GOTO3672
  108. 3650 NEXT
  109. 3660 MT=MM-1:M9=MM
  110. 3672 GOSUB5990
  111. 3675 FORJT=1TOWW:IF LB$=NTHENGOSUB3800
  112. 3680 IFOP$="AND"OROP$="NOT"THENMT=0
  113. 3700 FORML=0TOMT
  114. 3710 IF LB$=NTHENGOSUB4013ELSECLOSE:GOSUB4510
  115. 3715 IFDV$=YTHENST=4:HS$=Y
  116. 3720 NEXTML
  117. 3725 IFP$=BB(1)ANDFF$=YTHENPRINT#1,CHR$(12);
  118. 3727 NEXTJT:OP$="":RETURN
  119. 3800 GOSUB1700:PG=0:GT=0:FORI=0TOCC:T(I)=0:NEXT:I=0
  120. 3805 IFDV$=YTHENHS$=N:ST=0ELSEST=4
  121. 3810 PC=7:IFHS$=NTHENRETURNELSEIT=I:I=0:PG=PG+1:PRINT#1,:PRINT#1,"FILE  '"FS$"'  "H$SPACE$(2)DATE$SPACE$(2)TIME$"  PAGE #"PG:PRINT#1,A(2,0):ELSEGOSUB4520:GOTO3840
  122. 3820 GOSUB3900:GOSUB4020:GOSUB3900
  123. 3840 I=IT:RETURN
  124. 3900 YY="=":GOTO3910
  125. 3905 YY="-":IFUR$=YORDV$=YORHL$<>"|"THENRETURN
  126. 3910 PRINT#1,STRING$(TC+CT,YY):RETURN
  127. 4013 FORI=STTOS
  128. 4014 IFI<4OROP$=""THEN4019ELSEIF(OP$="OR"ANDINSTR(1,A(Q(I),CL(ML)),B(ML))=0)THEN4260
  129. 4015 IFOP$="NOT"THENGOSUB4820:IFWA=0THEN4260
  130. 4016 IFOP$="AND"THENGOSUB4800:IFWA=0THEN4260
  131. 4017 IFOP$="<>"ANDN1$=NAND(B(0)>A(Q(I),CL(0))ORB(1)<A(Q(I),CL(0)))THEN4260
  132. 4018 IFOP$="<>"ANDN1$=YAND(VAL(B(0))>VAL(A(Q(I),CL(0)))ORVAL(B(1))<VAL(A(Q(I),CL(0))))THEN4260
  133. 4019 IFDV$=YTHENGOSUB4520:GOTO4230ELSEGOSUB4020:GOTO4230
  134. 4020 GOSUB4022
  135. 4021 IFCO=1THENCQ=1:PC=PC+1:GOSUB4020:CQ=0:GOTO4021ELSERETURN
  136. 4022 CO=0:T=TX
  137. 4030 FORII=0TOCC:IFINSTR(1,"+-/*",A(1,II))>0ANDCQ=0THENGOSUB4410
  138. 4050 IFPP$(II)=NTHEN4100
  139. 4065 IFLEN(A(Q(I),II))>JJ(II)ORCQ=1THENGOSUB11ELSEPRINT#1,USINGG$(II)+DH$;A(Q(I),II);DS$;
  140. 4080 IFCO=1ANDLEFT$(A(C,II),1)=" "THENA(C,II)=RIGHT$(A(C,II),LEN(A(C,II))-1)
  141. 4090 IFSV$=YANDII<CCTHENPRINT#1,
  142. 4100 NEXTII
  143. 4110 IFT$=NORCQ=1THENGOTO4120
  144. 4112 IFI>1ANDI<=STHENPRINT#1,USING"\     \";STR$(T);DS$;
  145. 4113 IFI=0THENPRINT#1,"RESULTS";
  146. 4115 IFI>3ANDHU%=0ANDI<C-1THENGT=GT+T
  147. 4117 IFHU%=1THENPRINT#1,USING"\     \";STR$(GT);DS$;
  148. 4120 IFNC$=YTHENPRINT#1,:RETURNELSERETURN
  149. 4230 PC=PC+1:IFI=0ANDML=0ANDDV$=NTHENPRINT#1,:PC=PC+1
  150. 4235 IF(SS>0ANDHS$=YORSS>0ANDI>1)ANDDV$=NTHENGOSUB950
  151. 4240 IFINKEY$="E"ORINKEY$="e"THENI=S:ML=MT
  152. 4245 IFDV$=YORI=STHEN4260
  153. 4250 IFPC=>PD-7THENGOSUB3905:PC=PC+1:FORPE=PCTOPD+1:PRINT#1,:NEXT:GOSUB3810
  154. 4260 NEXTI
  155. 4262 IFML=MTTHENGOSUB3905
  156. 4265 IFT$=NOR(W=2ANDML<>MT)THENRETURN
  157. 4270 FORII=0TOCC
  158. 4277 A(C-1,II)=STR$(T(II))
  159. 4280 NEXT:I=C-1:PRINT#1,STRING$((TC+CT+1)/2-4,61)"TOTALS"STRING$((TC+CT)/2-3,61)DL$
  160. 4285 HU%=1:GOSUB4020:HU%=0
  161. 4286 PRINT#1,STRING$((TC+CT+1)/2-5,61)"OPERATORS"STRING$((TC+CT)/2-5,61)DL$
  162. 4287 GT=0:PRINT#1,TX;
  163. 4290 FORII=0TOCC:A(C-1,II)="":NEXT:I=1:GOSUB4020
  164. 4295 RETURN
  165. 4410 TQ=VAL(A(Q(I),II)):TQ$=(LEFT$(A(1,II),1)):IFTQ$<>""THENBS%=ASC(TQ$):IFBS%<48ANDBS%>41ANDBS%<>44ANDBS%<>46THENONBS%-41GOSUB4470,4480,4480,4485,4485,4492
  166. 4420 T(II)=T(II)+TQ
  167. 4430 RETURN
  168. 4470 T=T*TQ:RETURN
  169. 4480 T=T+TQ:RETURN
  170. 4485 T=T-TQ:RETURN
  171. 4492 IFTQ=0THENRETURNELSET=T/TQ:RETURN
  172. 4510 GOSUB5990:IFLB$=NTHENST=0ELSEST=4
  173. 4513 GOSUB1700:FORI=STTOS
  174. 4514 IF(OP$="OR"ANDINSTR(1,A(Q(I),CL(ML)),B(ML))=0)OR(OP$="NOT"ANDINSTR(1,A(Q(I),CL(ML)),B(ML))>0)THEN4703
  175. 4515 IFOP$="AND"THENGOSUB4800:IFWA=0THEN4703
  176. 4518 IFPU$=YTHENGOSUB4720
  177. 4519 GOSUB4520:GOTO4700
  178. 4520 FORII=0TOCC:IFPP$(II)=NTHEN4600
  179. 4560 PRINT#1,SPACE$(TB);A(Q(I),II);:IFLB$=NANDII<PP-1THENPRINT#1,",";
  180. 4580 IFLB$=YTHENPRINT#1,
  181. 4600 NEXT
  182. 4620 IFLB$=NTHENPRINT#1,
  183. 4630 RETURN
  184. 4700 IFINKEY$="E"THENI=S
  185. 4701 IF PU$=YTHENFORI0=PPTOPZ:PRINT#1,:NEXT
  186. 4702 IFSS>0THENFORU=1TOSS:PRINT#1,:NEXT
  187. 4703 NEXT:IFLEFT$(P$,4)="COM:"THENPRINT#1,CHR$(26);
  188. 4710 RETURN
  189. 4720 IT=I:I=1:TB=0:GOSUB4520:TB=TG:I=IT:FORI0=1TO7:PRINT#1,:NEXT:RETURN
  190. 4800 FORI1=0TOM9:IFINSTR(1,A(Q(I),CL(I1)),B(I1))<>0THENWA=1:NEXT:RETURNELSEWA=0:I1=M9:NEXT:RETURN
  191. 4820 FORI1=0TOM9:IFINSTR(1,A(Q(I),CL(I1)),B(I1))>0THENWA=0:I1=M9:NEXT:RETURNELSEWA=1:NEXT:RETURN
  192. 5020 FORII=0TOCC:PRINT#1,A(Q(I),II);:IFII<CCTHENPRINT#1,",";ELSEPRINT#1,
  193. 5100 NEXT:RETURN
  194. 5810 CLS
  195. 5812 GOSUB5960:LINEINPUT#1,A
  196. 5813 CC=0:CP=0
  197. 5815 FORI=1TOLEN(A)
  198. 5820 IFMID$(A,I,1)=","THENJJ(CC)=I-CP-CC-1:CP=CP+JJ(CC):CC=CC+1
  199. 5840 NEXT:JJ(CC)=I-CP-CC-1:GOSUB6960:RETURN
  200. 5845 PRINT"LENGTHS - ";
  201. 5850 FORI=0TOCC:PRINT"   FIELD"I"="JJ(I);:NEXT:A="
  202. 5862 PRINT:PRINT"TOTAL ="TC;:RETURN
  203. 5910 CLS:FILES:PRINT@280,"FILE        .DO";:PRINT@284,;:INPUTE$:GOSUB5920:FS$=E$:RETURN
  204. 5920 FORIX=1TOLEN(E$):TW$=(MID$(E$,IX,1)):IFASC(TW$)>96ANDASC(TW$)<123THENMID$(E$,IX)=CHR$(ASC(TW$)-32)
  205. 5925 NEXT:RETURN
  206. 5930 CLS:PRINT"1) TITLE PRINTED  "HS$
  207. 5933 PRINT"2) LINES SKIPPED "SS"     UNDERLINE   "UR$
  208. 5934 PRINT"3) FORM FEED      "FF$"   4) 1 FLD/LINE  "SV$
  209. 5936 PRINT"5) LINES/PAGE   ="PD" 6) # OF COPIES"WW
  210. 5938 PRINT"7) FRE MEM & FLD SIZE 8) POSTCARD    "PU$
  211. 5939 PRINT"9) ADRS. LABELS   "LB$"   0) PRINT MENU  ";
  212. 5942 LL$="0":UL$="9":GOSUB6210:CLS:IFW=0THENRETURN
  213. 5943 ONWGOSUB7000,7010,5950,5992,7020,5995,5944,6830,6820:GOTO5930
  214. 5944 GOSUB5845:PRINT
  215. 5945 PRINT"FRE(0)="FRE(0)"   FRE STRG"FRE("");:GOTO8200
  216. 5950 IFFF$=YTHENFF$=N:RETURN:ELSEFF$=Y:RETURN
  217. 5960 OPENFS$FORINPUTAS1:RETURN
  218. 5970 OPENFS$FORAPPENDAS1:RETURN
  219. 5990 CLOSE:OPENP$FOROUTPUTAS1:RETURN
  220. 5992 IFSV$=NTHENSV$=Y:RETURNELSESV$=N:RETURN
  221. 5995 INPUT"# OF COPIES";WW:RETURN
  222. 6010 PRINT"0)PRINT MENU":PRINT"1)SPACES BETWEEN FIELDS ="LEN(DH$):PRINT"2)PRINTER SETUP
  223. 6040 PRINT"3)FIELDS PRINTED>";
  224. 6050 FORI=0TOCC:IFPP$(I)<>"N"THENPRINTI;
  225. 6060 NEXT:PRINT:PRINT"4)CRT"
  226. 6100 LL$="0":UL$="4":GOSUB6210:IFW=0THENRETURN
  227. 6110 ONWGOSUB6300,8500,6930,6250
  228. 6200 CLS:GOTO6010
  229. 6210 Q$=INKEY$:IFQ$=""THEN6210
  230. 6220 W=VAL(Q$):IFQ$<LL$ORQ$>UL$THEN6210ELSERETURN
  231. 6250 INPUT"SCREEN(0/1)";SZ%
  232. 6260 INPUT"WIDTH(40/80)";WD%:IF WD%<>40ANDWD%<>80THENPRINT"40 OR 80 ONLY":GOTO6260ELSE SCREENSZ%:WIDTH WD%:RETURN
  233. 6300 CLS:INPUT"ENTER NUMBER OF SPACES SEPARATING EACH FIELD";DH:DS$=SPACE$(DH):GOSUB6960:IFDH>1THENDH$="\"+SPACE$(DH-2)+"\":DL$=" ":RETURNELSEDH$="!
  234. 6310 LINEINPUT"FIELD SEPARATOR";DL$:RETURN
  235. 6820 GOSUB6930:IFLB$=NTHENLB$=Y:FF$=N:SS=6-PP:PD=10000:RETURNELSELB$=N:SS=0:FF$=Y:PD=66:RETURN
  236. 6825 RETURN
  237. 6830 IFPU$=NTHENPU$=Y:INPUT"LINES/PG (24/66)";PZ:PZ=PZ-14:TB=22:LB$=N:GOSUB6820:RETURNELSELB$=Y:GOSUB6820:TB=0:PU$=N:RETURN
  238. 6900 P$=CM$:RETURN
  239. 6930 PRINT"FIELDS PRINTED SELECTION":GOSUB2030
  240. 6940 PP=0:FORII=0TOCC:GOSUB2033:PRINT"  PRINTED";
  241. 6942 GOSUB13100:PP$(II)=E$
  242. 6947 IFPP$(II)=YTHENPP=PP+1
  243. 6950 NEXT:GOSUB6960:RETURN
  244. 6960 TC=0:FORII=0TOCC:IFPP$(II)=YTHENTC=TC+JJ(II):IFII>0THENTC=TC+DH
  245. 6965 NEXT:IFT$="Y"THENCT=7+DH:RETURNELSECT=0:RETURN
  246. 7000 IFHS$=YTHENHS$=N:RETURNELSEHS$=Y:RETURN
  247. 7010 INPUT"# SKIPPED";SS:CLS:PRINT"UNDERLINE";:GOSUB13100:UR$=E$:IFUR$=YANDSS=0THENSS=1
  248. 7017 RETURN
  249. 7020 INPUT"LINES/PAGE(EX 66,87)";PD:RETURN
  250. 8010 ST=S+1:Q=256:Q1=255
  251. 8050 CLS:FORI=S+1TOC-2
  252. 8052 FORII=0TOCC:A(I,II)=A(I-1,II):NEXT:CLS:GOSUB12100
  253. 8055 PRINT:PRINT"ENTER 'END' TO EXIT
  254. 8057 PRINT"RECORD # "I:TZ=CC
  255. 8060 FORII=0TOCC
  256. 8070 PRINTUSING"\\"+G$(II)+"!";"  ";A(0,II);CHR$(239)
  257. 8080 TR=CSRLIN:PRINT"  "A(I,II):PRINTCHR$(27);"Y";CHR$(TR+32);" ";
  258. 8090 INPUTA(I,II):IFA(I,II)="END"ORA(I,II)="end"THENS=I-1:I=C-2:II=CC:NEXT:NEXT:RETURN
  259. 8100 TZ=TZ+LEN(A(I,II))+1:CLS:NEXT:GOSUB12100
  260. 8110 IFTZ>255THENCLS:PRINT"RECORD IS "TZ-255" CHAR. TOO LONG -REENTER":BEEP:GOTO8057
  261. 8115 OPENFS$FORAPPENDAS1:PRINT:PRINT"IS THIS OK";:GOSUB13100:CLS:IFE$=NTHENCLOSE:PRINT"'END' TO DELETE":PRINT"EDITING ";:GOTO8057
  262. 8122 PRINT"WAIT":GOSUB5020:CLOSE
  263. 8160 LL=VARPTR(A(I-1,CC)):P=1:MH=PEEK(LL+2):ML=PEEK(LL+1):ML=ML+LEN(A(I-1,CC))+2:IF ML>Q1THENMH=MH+1:ML=ML-Q
  264. 8190 GOSUB750:NEXT:S=I:PRINT"ARRAY FULL.":GOTO8200
  265. 8200 INPUT"PRESS ENTER";E$:RETURN
  266. 8500 K$="":PRINT"ENTER PRINTER CODES & ENTER AFTER EACH. ENTER '0' TO END
  267. 8520 INPUTK1:IF K1=0THENLPRINTK$:RETURNELSEK$=K$+CHR$(K1):GOTO8520
  268. 9010 CLEAR 100:YR$="86":PRINT"YEAR IS "YR$
  269. 9014 D$=DATE$:MID$(D$,7)=YR$:DATE$=D$
  270. 9015 REM COPYRIGHTED JAN. 1984 ROBERT L. RIPLEY
  271. 9019 CLEAR900:MAXFILES=1
  272. 9021 DEFINTC,I,J,K,L,M,Q,S:DEFSTRA,B,Y,N
  273. 9022 DIMJJ(15),BB(5),PP$(15)
  274. 9024 SS=0:PD=66:DH=1:DH$="!":DS$=SPACE$(DH):TG=20
  275. 9025 DATA LCD,LPT,CAS,CRT,DSK,"COM:88N1E
  276. 9030 FORI=0TO5:READBB(I):IFI<5THENBB(I)=BB(I)+":
  277. 9040 NEXT:P$=BB(0)
  278. 9050 WW=1:ONERRORGOTO1800
  279. 9060 T$=N:GOSUB5910:GOSUB5810:PRINT:INPUT"ENTER MAX. # OF RECORDS TO BE ADDED";I3
  280. 9065 CLS:PRINT"CNT RCDS"
  281. 9070 FORI=0TO5000:PRINT@20,I;:IFEOF(1)GOTO9092
  282. 9080 LINEINPUT#1,A:I9=LEN(A):IFI9>254ORI9=0THEN14000
  283. 9085 NEXT:STOP
  284. 9092 PRINT@20,I+1:I9=0:S=I:I4=I:C=I3+I+10:I=5000:NEXT
  285. 9093 DIMQ(C+1):FORI=0TOC+1:Q(I)=I:NEXT
  286. 9100 DIMA(C+1,CC),G$(CC),T(CC),BC(CC),BD(CC),QQ(CC),LN(CC)
  287. 9105 Y="Y":N="N":T$=N:SV$=N:HS$=Y:LB$=N:FF$=Y:PU$=N:PP=CC+1:UL$=N:DV$=N:NC$=Y:UR$=N
  288. 9115 GOSUB100:TX=VAL(A(3,0))
  289. 9120 FORI=0TOCC:PP$(I)=Y
  290. 9125 IFLEN(A(0,I))<2THENG$(I)="\\"ELSEG$(I)="\"+STRING$(LEN(A(0,I))-2,32)+"\"
  291. 9130 A(C+1,I)=STRING$(JJ(I),"-"):NEXT
  292. 9150 IFRIGHT$(A,LEN(A(S,CC)))<>A(S,CC)THENGOTO11000
  293. 9155 NO$=CHR$(27)+"p":OF$=CHR$(27)+"q
  294. 9160 A2="":A="":Q=5:GOTO1000
  295. 9300 IFFRE(0)<800ORFRE("")<255THENCLS:PRINT"LOW MEMORY":GOTO1810ELSERETURN
  296. 10000 E$=INKEY$
  297. 10010 GOTO10000
  298. 11000 CLS:PRINT"WAIT":BEEP:CLOSE:GOSUB5960:FORI=0TOI4:FORII=0TOCC
  299. 11010 INPUT#1,A:IFA<>A(I,II)THENGOSUB12000
  300. 11020 NEXT:NEXT:RETURN
  301. 12000 BEEP:CLS::PRINT"INCORRECT # OF COMMAS OR '' IN RECORD #"I+1:BEEP:GOSUB8200:GOSUB12100:END
  302. 12100 FORII=0TOCC:PRINTA(I,II);:IFII<CCTHENPRINT",";
  303. 12110 NEXT:RETURN
  304. 13000 PRINT"BAD INPUT - REENTER":RETURN
  305. 13100 PRINT"(Y/N)?";:E$=INPUT$(1):GOSUB5920:PRINTE$:IFINSTR(1,Y+N,E$)=0THENBEEP:GOSUB13000:GOTO13100ELSERETURN
  306. 14000 BEEP:PRINT:PRINT"LENGTH OF RECORD #"I+2" TOO LONG OR 0":BEEP:GOSUB8200:PRINTA
  307.