home *** CD-ROM | disk | FTP | other *** search
/ Light / Light_Vol.1_June_1992_Datasphere_Publications_Disk_1_of_2_Side_B.d64 / dosh (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  15KB  |  449 lines

  1. 1 a=a+1:ifa=1thenpoke53265,11:load"do.pic",8,1
  2. 2 ifa=2thenload"bit.c.l",8,1
  3. 3 ifa=3thensys1430:load"do.char",8,1
  4. 4 forw=1to3000:next:sys1024:poke53265,11
  5. 5 poke53280,11:poke56576,148:poke53272,2:poke53270,200:poke648,192
  6. 6 print"[147]":poke52487,255:poke53281,0:gosub443
  7. 7 gosub58:print"[147]"x$(1);"[194][159]          dosh indexes menu           [193]";x$(2);
  8. 8 print"[153][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
  9. 9 forbd=1to11:print"[209]                            [209]":next
  10. 10 print"[209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
  11. 11 printtb$"[146][158]@[154]shadow graphics 1992"
  12. 12 print"[159] 1.  file from disk"
  13. 13 print"[159] 2.  index update"
  14. 14 print"[159] 3.  scratch old file"
  15. 15 print,"[176][175][175][175][175][175][175][175][175][175][175][175][175][175][174]":print,"^[153]select number_"
  16. 16 print,"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][189]":poke53265,27:poke53280,5
  17. 17 geto$:ifo$=""then17
  18. 18 o=val(o$):ifo=1thenme$="[156] file from disk [146]":goto22
  19. 19 ifo=2thenme$="[154]  index update  [146]":goto22
  20. 20 ifo=3thenme$="[150]  scratch file  [146]":goto22
  21. 21 ifo$<>""then17
  22. 22 print"[147][155]"x$(1);"[194] [153] f1=file :[158] f3=menu :";me$;"[155] [193]";x$(2)
  23. 23 forx=1to15:printtab(0)"[155]"lc$tab(20)lc$"[146][145]"
  24. 24 printtab(0)lk$tab(20)lk$"[146][145]":forw=1to20:next
  25. 25 print"[158]"mid$(str$(x),2)"[153]"tab(3)g$(x)tab(19)"[158]"x+15"[153]"g$(x+15):nextx
  26. 26 printtb$"[145][155][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]":printtb$"^               _"
  27. 27 printtb$"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]":printtb$"[154] select option [146]";
  28. 28 geta$:ifa$=""thengosub439
  29. 29 ifa$>""then31
  30. 30 printtb$"[159] select option [146]";:gosub439:goto26
  31. 31 ifa$<chr$(133)ora$>chr$(134)then26
  32. 32 ifa$=chr$(134)thenprinttb$,,"[150]exit to menu":goto7
  33. 33 ifa$=chr$(133)thengosub442:printtb$:input"[145][159]   file number   [146]";a
  34. 34 ifa<1ora>30then33
  35. 35 ifg$(a)=si$ando=1thenprinttb$,,"[150]empty file":gosub434:goto22
  36. 36 ifg$(a)=si$ando=3thenprinttb$,,"[150]empty file":gosub434:goto22
  37. 37 ifo=3andg$(a)<>=si$thenprinttb$,,"[150]o.k":gosub434:goto39
  38. 38 ifo=2andg$(a)<>si$thenprinttb$,,"[150]file exists":gosub434:goto22
  39. 39 ifo=1thennr=0:goto59
  40. 40 ifo=2thenbz=0:nr=0:iu=1:goto85
  41. 41 ifo=3then43
  42. 42 ifo<1oro>3then27
  43. 43 gosub439:printtb$" scratching file [146]      ";:open2,8,15
  44. 44 print#2,"s:";g$(a):close2:g$(a)=si$:gosub432:goto51
  45. 45 printta$"[150]index file update number";a
  46. 46 printta$" max 16 characters [146][159]"
  47. 47 printta$"[176][178][178][178][178][178][178][178][178][178][178][178][178][178][178][174]"
  48. 48 input"";g$(a)
  49. 49 l=len(g$(a)):ifl>16thenprint"[145]                       ":goto47
  50. 50 ifg$(a)=si$then47
  51. 51 printtb$"[145][150][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]     "
  52. 52 printtb$"^[155] writing index [150]_     ":printtb$"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]     ":iu=0
  53. 53 forj=1to30:ifg$(j)=""theng$(j)=si$
  54. 54 next
  55. 55 open2,8,2,"@0:"+e$(3)+",s,w":forj=1to30:print#2,g$(j):next:close2
  56. 56 ifo=3then7
  57. 57 ifo=2then85
  58. 58 open2,8,2,e$(3)+",s,r":forj=1to30:input#2,g$(j):next:close2:return
  59. 59 open2,8,2,g$(a)+",s,r"
  60. 60 input#2,bz:input#2,n:input#2,ba:input#2,nr
  61. 61 ifnr=0then63
  62. 62 fori=1tonr:input#2,ck$(i):input#2,dt$(i):input#2,a$(i):input#2,ba$(i):next
  63. 63 input#2,sn:input#2,se:input#2,tl$:input#2,le$:close2:goto85
  64. 64 open2,8,2,"@0:"+g$(a)+",s,w"
  65. 65 print#2,bz;r$;:print#2,n;r$;:print#2,ba;r$;:print#2,nr;r$;:ifnr=0then68
  66. 66 fori=1tonr:print#2,ck$(i)r$;:print#2,dt$(i)r$;:print#2,a$(i)r$;
  67. 67 print#2,ba$(i)r$;:next
  68. 68 print#2,sn;r$;:print#2,se;r$:print#2,tl$;r$;:print#2,le$;r$;
  69. 69 close2:goto85
  70. 70 print""
  71. 71 print"[155]"x$(1);"[194][150] set up new balance                   [146][155][193]";:printx$(2)
  72. 72 print" file name :-";g$(a)
  73. 73 print" enter start balance amount \";:gosub392:le$=chr$(160)
  74. 74 bz=val(b$):tl$=b$:print
  75. 75 ifb$=""then84
  76. 76 ifbz=0thena$="[145]":goto81
  77. 77 print" credit or debit (c/d)? ";
  78. 78 geta$:ifa$="c"then81
  79. 79 ifa$<>"d"then78
  80. 80 bz=-bz
  81. 81 printa$:print"[155] is this ok? ";
  82. 82 geta$:ifa$="y"thenba=bz:gosub440:goto64
  83. 83 ifa$<>"n"then82
  84. 84 gosub440:goto70
  85. 85 print"[147][155]"x$(1);"[194][153]          dosh options menu           [155][193]";x$(2)"[146]";
  86. 86 a$="enter":ifzq=1thena$="insert"
  87. 87 print"[153] 1 [146] [158]"a$" pay ins":print"[153] 2 [146] [158]"a$" pay outs"
  88. 88 ifnr<1orzq=1thenprint"[155] * [146] check statement":goto90
  89. 89 ifnr>0thenprint"[153] 3 [146] [158]check statement"
  90. 90 ifnr<1orzq=1thenprint"[155] * [146] edit pay ins/outs & balance":goto92
  91. 91 ifnr>0thenprint"[153] 4 [146] [158]edit pay ins/outs & balance"
  92. 92 ifbz=0orzq=1thenprint"[155] * [146] return to index menu":goto94
  93. 93 ifbz<>0thenprint"[153] 5 [146] [158]return to index menu"
  94. 94 ifiu=1then45
  95. 95 ifbz=0then70
  96. 96 geta$
  97. 97 k=val(a$):ifk<1ork>5then96
  98. 98 ifk=1then104
  99. 99 ifk=2then131
  100. 100 ifk=3andnr>0andzq=0then187
  101. 101 ifk=4andnr>0andzq=0then247
  102. 102 ifk=5andbz<>0andzq=0then7
  103. 103 goto96
  104. 104 ifzq=1then158
  105. 105 nr=nr+1
  106. 106 print""
  107. 107 print"[155]"x$(1);"[194][159]   enter payment  [155]:[158]  enter \0 to end  [146][155][193]";:printx$(2)
  108. 108 ifnr>=100thenprint"[158]statement is full":gosub433:gosub440:goto64
  109. 109 printta$" amount paid in: \";:gosub392
  110. 110 if(b$=""orb$="0")andc$=""thennr=nr-1:goto64
  111. 111 a$(nr)="+"+b$:ba=ba+val(a$(nr))
  112. 112 gosub420:ba$(nr)=ba$
  113. 113 gosub440:printta$"[155]input transaction description[158]"
  114. 114 print,"(8 chars max)"
  115. 115 printtb$"  ";:gosub378
  116. 116 ck$(nr)=b$:p(nr)=0
  117. 117 gosub440:printta$"[155]date (dd[158]/[155]mm[158]/[155]yy): ";:gosub356
  118. 118 ifde=1thende=0:goto117
  119. 119 gosub440:printtb$"[145][145][159]file entry reads:-"
  120. 120 printtb$"[153]"dt$(nr)" "ck$(nr)"\"right$(a$(nr),8)" "ba$(nr)
  121. 121 geta$:ifa$=""thenprint"[158] is this correct? [146]":gosub438
  122. 122 ifa$="n"thengosub440:goto106
  123. 123 ifa$="y"then126
  124. 124 print"[158] is this correct? ":gosub438:ifa$=""then121
  125. 125 ifa$<>"n"ora$<>"y"then121
  126. 126 geta$:ifa$=""thenprint" more payins y/n? [146]":gosub438
  127. 127 ifa$="n"thengosub440:print"[158]saving new details":goto64
  128. 128 ifa$="y"thengosub440:goto105
  129. 129 print" more payins y/n? ":gosub438:ifa$=""then126
  130. 130 ifa$<>"n"ora$<>"y"then126
  131. 131 ifzq=1then173
  132. 132 nr=nr+1
  133. 133 print""
  134. 134 print"[155]"x$(1);"[194][150]   enter pay out  [155]:[158]  enter \0 to end  [146][155][193]";:printx$(2)
  135. 135 ifnr>=100thenprint"[158]statement is full":gosub433:gosub440:goto64
  136. 136 printta$"[150] amount paid out \";:gosub392
  137. 137 if(b$=""orb$="0")andc$=""thennr=nr-1:goto64
  138. 138 a$(nr)="-"+b$:ba=ba+val(a$(nr))
  139. 139 gosub420:ba$(nr)=ba$
  140. 140 gosub440:printta$"[155]input cheque number or description[158]"
  141. 141 print,"(8 chars max)"
  142. 142 printtb$"  ";:gosub378
  143. 143 ck$(nr)=b$:p(nr)=0
  144. 144 gosub440:printta$"[155]date (dd[158]/[155]mm[158]/[155]yy): ";:gosub356
  145. 145 ifde=1thende=0:goto144
  146. 146 gosub440:printtb$"[145][145][159]file entry reads:-"
  147. 147 printtb$"[150]"dt$(nr)" "ck$(nr)"\"right$(a$(nr),8)" "ba$(nr)
  148. 148 geta$:ifa$=""thenprint"[158] is this correct? [146]":gosub438
  149. 149 ifa$="n"thengosub440:goto133
  150. 150 ifa$="y"then153
  151. 151 print"[158] is this correct? ":gosub438:ifa$=""then148
  152. 152 ifa$<>"n"ora$<>"y"then148
  153. 153 geta$:ifa$=""thenprint"more payouts y/n ?[146]":gosub438
  154. 154 ifa$="n"thengosub440:print"[158]saving new details":goto64
  155. 155 ifa$="y"thengosub440:goto132
  156. 156 print"more payouts y/n? ":gosub438:ifa$=""then153
  157. 157 ifa$<>"n"ora$<>"y"then153
  158. 158 printta$"[155]date (dd[158]/[155]mm[158]/[155]yy): ";:gosub356
  159. 159 ifde=1thende=0:goto158
  160. 160 gosub440:printtb$"[145][145][145][145][155]input transaction description[158]"
  161. 161 print,"(8 chars max)"
  162. 162 printtb$"[145][145]  ";:gosub378
  163. 163 ck$(i)=b$:p(i)=0
  164. 164 printta$"[153] amount paid in: \";:gosub392
  165. 165 if(b$=""orb$="0")andc$=""then164
  166. 166 a$(i)="+"+b$:gosub233
  167. 167 printta$"file entry reads:-            "
  168. 168 printta$""dt$(i)" "ck$(i)"\"right$(a$(i),8)" "ba$(i)
  169. 169 geta$:ifa$=""thenprintta$"[158] is this correct? (y/n)":gosub438
  170. 170 ifa$="n"thengosub440:goto158
  171. 171 ifa$="y"thenzq=0:se=0:gosub440:goto64
  172. 172 ifa$<>"n"ora$<>"y"then169
  173. 173 printta$"[155]date (dd[158]/[155]mm[158]/[155]xy): ";:gosub356:dt$(i)=dt$(p-1)
  174. 174 ifde=1thende=0:goto173
  175. 175 printta$"[155]input cheque number or description[158]"
  176. 176 printta$"[158]  ";:gosub378
  177. 177 ck$(i)=b$:p(i)=0:gosub440
  178. 178 printta$"[150] amount paid out \";:gosub392
  179. 179 if(b$=""orb$="0")andc$=""then178
  180. 180 a$(i)="-"+b$:gosub233
  181. 181 gosub440:printta$"file entry reads:-"
  182. 182 printta$""dt$(i(" "ck$(i)"\"right$(a$(i(,8)" "ba$(i)
  183. 183 geta$:ifa$=""thenprintta$"[158] is this correct? [146]":gosub438
  184. 184 ifa$="n"thengosub440:goto173
  185. 185 ifa$="y"thenzq=0:se=0:gosub440:goto64
  186. 186 ifa$<>"n"ora$<>"y"then183
  187. 187 pn=int((nr-1)/10)+1
  188. 188 print"[147][155]";x$(1);"[194]                                      [193]";
  189. 189 print"[194]                                      [193]";x$(2)"[146]";
  190. 190 print"[158]                                      [146]"
  191. 191 printta$"[145][153][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][178][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
  192. 192 printta$"^                 _                  _"
  193. 193 print"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][177][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]":print"",,"[158]";g$(a)
  194. 194 print"[158] check  statement [146]"
  195. 195 print"[150]                                      [146]"
  196. 196 print"","[157][150] : original balance \";tl$
  197. 197 print"[155]  date    trans   payment  balance  "
  198. 198 printta$,,"[155] p=printer:[152]q=quit [146]"
  199. 199 j=int((nr-1)/10)*10+1
  200. 200 print"[150] page ";pn
  201. 201 print"[158]"
  202. 202 forpk=1to10:print"                                       ":next
  203. 203 p=j:print"[158]";:gosub204:goto210
  204. 204 print"[158]"
  205. 205 fori=1top-j+1:print:next
  206. 206 ifleft$(a$(p),1)="+"thenprintdt$(p),ck$(p)"[153]"right$(a$(p),8)"[146]  "ba$(p)
  207. 207 ifleft$(a$(p),1)="-"thenprintdt$(p),ck$(p)"[150]"right$(a$(p),8)"[146]  "ba$(p)
  208. 208 return
  209. 209 gosub204
  210. 210 ifp<j+9thenprint"[158]";:gosub204
  211. 211 ifp=nrthen215
  212. 212 ifp<j+9thenp=p+1:goto209
  213. 213 ifp=j+9andp=nrthengosub204
  214. 214 ifp=j+9andp<nrthengosub204
  215. 215 ifj>1andj+9<nrthenprintta$"[158]+/- page on/back [146]";:goto218
  216. 216 ifj<>1thenprintta$"[150] - page backward [146]";:goto218
  217. 217 ifj+9<nrthenprintta$"[153] + page  forward [146]";
  218. 218 nl=nr-se:geta$:ifa$=""then218
  219. 219 ifa$="+"andj+9<nrthenj=j+10:pn=pn+1:goto200
  220. 220 ifa$="-"andj>1thenj=j-10:pn=pn-1:goto200
  221. 221 ifa$="q"then85
  222. 222 ifa$="p"andnr>seandnl>1thenprinttb$"[155]there are"nl"transactions to print"
  223. 223 ifa$="p"andnr>seandnl>1thenprinttb$"print them (y/n)?":goto229
  224. 224 ifa$="p"andnr>seandnl=1thenprinttb$"[155]there is"nl"transaction to print"
  225. 225 ifa$="p"andnr>seandnl=1thenprinttb$"print it (y/n)?":goto229
  226. 226 ifa$="p"andnr<=sethenprinttb$"[155]no transactions left to print"
  227. 227 ifa$="p"andnr<=sethengosub434:gosub440
  228. 228 goto218
  229. 229 geta$:ifa$=""then229
  230. 230 ifa$="n"thengosub440:goto218
  231. 231 ifa$="y"thengosub440:goto237
  232. 232 ifa$<>"y"ora$<>"n"then22
  233. 233 ba=bz:forwo=itonr:ba$(wo)="":next:en=nr:nr=1
  234. 234 ba=ba+val(a$(nr)):gosub420:ba$(nr)=ba$:printta$"[158] working "
  235. 235 ifnr<enthennr=nr+1:printta$"[158] working [146]":goto234
  236. 236 ifnr=enthengosub440:return
  237. 237 ns=sn:ifns=1thenle$=tl$
  238. 238 open4,4:print#4
  239. 239 print#4,"statement number:";ns;"for ";g$(a)
  240. 240 print#4,"[192][192][192][192][192][192][192][192][192][192][192][192] previous balance: \"le$
  241. 241 print#4:print#4," date     trans      payment    balance [146]"
  242. 242 forw=se+1tonr:ifw=nr+1then63999
  243. 243 ifleft$(a$(w),1)="+"thenprint#4,dt$(w)"  "ck$(w)a$(w)"  "ba$(w):next
  244. 244 ifleft$(a$(w),1)="-"thenprint#4,dt$(w)"  "ck$(w)a$(w)"  "ba$(w):next
  245. 245 print#4:print#4,"[192][192][192][192][192][192][192][192][192][192][192][192] latest balance: \"ba$(nr)
  246. 246 sn=ns+1:se=nr:le$=ba$(nr):close4:goto64
  247. 247 pn=int((nr-1)/10)+1
  248. 248 print"[147][153]"x$(1);"[194][155]                                      [146][153][193]";
  249. 249 print"[194]                                      [193]";x$(2)"[146]";
  250. 250 printta$"[145][158][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][178][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
  251. 251 print"^                 _                  _"
  252. 252 print"[171][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][219][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][179]"
  253. 253 print"^                 _                  _"
  254. 254 print"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][177][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]":print"",,"[155]";g$(a)
  255. 255 print"[155] edit  statement [146]"
  256. 256 print"[152]                                      [146]"
  257. 257 print"","[157][152] : original balance \";tl$
  258. 258 printta$,,"[155] select q to quit [146]"
  259. 259 print" crs u/d = select[146][153]_ and press return [146]"
  260. 260 print" delete / edit is on highlighted line":print,,"[157][163][163]"
  261. 261 print"insert is made above highlighted line":print,,"[157][157][157][157][163][163][163][163][163]"
  262. 262 print"[150]  date    trans   payment  balance  "
  263. 263 j=int((nr-1)/10)*10+1
  264. 264 print"[152] page ";pn
  265. 265 print:forpk=1to10:print"                                       ":next
  266. 266 print"[153]"
  267. 267 fori=jtoj+9
  268. 268 ifleft$(a$(i),1)="+"thenprint"[153]"dt$(i),ck$(i)right$(a$(i),8)"+ "ba$(i)
  269. 269 ifleft$(a$(i),1)="-"thenprint"[153]"dt$(i),ck$(i)right$(a$(i),8)"- "ba$(i)
  270. 270 next
  271. 271 ifj>1andj+9<nrthenprintta$"[158]+/- page on/back [146]";:goto274
  272. 272 ifj<>1thenprintta$"[150] - page backward [146]";
  273. 273 ifj+9<nrthenprintta$"[153] + page  forward [146]";
  274. 274 p=j:print"";:gosub294:goto276
  275. 275 gosub294
  276. 276 geta$:ifa$=""then276
  277. 277 ifa$=""andp=nr then276
  278. 278 ifa$=""andp<j+9thenprint"[153]";:gosub294:p=p+1:print"";:goto275
  279. 279 ifa$="[145]"andp>jthenprint"[153]";:gosub294:p=p-1:print"";:goto275
  280. 280 ifa$="+"andj+9<nrthenj=j+10:pn=pn+1:goto264
  281. 281 ifa$="-"andj>1thenj=j-10:pn=pn-1:goto264
  282. 282 ifa$="q"andud=0then85
  283. 283 ifa$="q"andud=1thenud=0:printta$,,"[158]saving new details":goto64
  284. 284 ifa$=chr$(13)thenud=1:goto298
  285. 285 goto276
  286. 286 printtb$"[145][145][145][153] 1 [146] [159]date:        "dt$(p)
  287. 287 print"[153] 2 [146] [159]description: "ck$(p)
  288. 288 print"[153] 3 [146] [159]amount:      \"right$(a$(p),8)
  289. 289 a$=left$(a$(p),1)
  290. 290 ifa$="-"thencdt$="debit"
  291. 291 ifa$="+"thencdt$="credit"
  292. 292 print"[153] 4 [146] [159]credit/debit: "cdt$
  293. 293 return
  294. 294 print"":fori=1top-j+1:print:next
  295. 295 ifleft$(a$(p),1)="+"thenprintdt$(p),ck$(p)right$(a$(p),8)"+ "ba$(p)
  296. 296 ifleft$(a$(p),1)="-"thenprintdt$(p),ck$(p)right$(a$(p),8)"- "ba$(p)
  297. 297 return
  298. 298 b$="[155]":ifnr=100thenb$="[144]"
  299. 299 printta$""b$" i=insert an item[146][153]_[155] d=delete an item "
  300. 300 print"[155] e=edit an item  [146][153]_[155] q=quit           "
  301. 301 geta$:ifa$="q"then85
  302. 302 ifa$="i"andb$="[155]"then351
  303. 303 ifa$="d"then346
  304. 304 ifa$<>"e"then301
  305. 305 printta$"[145][153][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  306. 306 printta$"                                      "
  307. 307 printta$"                                      ":gosub440:gosub286
  308. 308 print"  select 1[146],2[146],3[146],4[146] or q=quit"
  309. 309 geta$:ifa$="q"then85
  310. 310 k=val(a$):ifk<1ork>4then309
  311. 311 onkgoto312,320,326,336
  312. 312 gosub440:dc=nr:nr=p:t$=dt$(p)
  313. 313 printta$"[159] date to change is :-[146] "dt$(p)
  314. 314 printta$"[158]enter new date:[155]";:gosub356
  315. 315 ifde=1thende=0:gosub440:goto313
  316. 316 print:print"[158]ok (y/n)?":nr=dc
  317. 317 geta$:ifa$="n"thendt$(p)=t$:gosub440:goto247
  318. 318 ifa$<>"y"then317
  319. 319 gosub440:goto247
  320. 320 gosub440:printtb$"[145][145][145][159] detail is [146]:- "ck$(p)
  321. 321 print"[158]enter new desc:[155] ";:gosub377
  322. 322 print:print"[158]ok (y/n)?"
  323. 323 geta$:ifa$="n"thengosub440:goto247
  324. 324 ifa$<>"y"then323
  325. 325 gosub440:ck$(p)=b$:goto247
  326. 326 gosub440:printtb$"[145][145][145][159] amount to change [146]:- \"right$(a$(p),8)
  327. 327 print"[158]new amount:[155]\";:gosub392
  328. 328 print:print"[158]ok (y/n)?"
  329. 329 geta$:ifa$="n"thengosub440:goto247
  330. 330 ifa$<>"y"then329
  331. 331 a$(p)=left$(a$(p),1)+b$
  332. 332 ba=bz:forwo=jtonr:ba$(wo)="":next:en=nr:nr=1
  333. 333 ba=ba+val(a$(nr)):gosub420:ba$(nr)=ba$:printta$,,"[158] working          "
  334. 334 ifnr<enthennr=nr+1:printta$,,"[158]          working [146]":goto333
  335. 335 ifnr=enthen247
  336. 336 gosub440:printtb$"[145][145][145][159] item is a "cd$
  337. 337 print"[158]credit/debit:enter c or d [155]";
  338. 338 geta$:ifa$="c"thenb$="+":goto341
  339. 339 ifa$<>"d"then338
  340. 340 b$="-"
  341. 341 printa$
  342. 342 print"[158]ok (y/n)?"
  343. 343 geta$:ifa$="n"thengosub440:goto247
  344. 344 ifa$<>"y"then343
  345. 345 a$(p)=b$+right$(a$(p),8):goto332
  346. 346 printta$,," are you spre y/n [146]":geta$:ifa$="n"then247
  347. 347 ifa$<>"y"then346
  348. 348 fori=p+1tonr
  349. 349 ck$(i-1)=ck$(i):dt$(i-1)=dt$(i):a$(i-1)=a$(i):ba$(i-1)=ba$(i):next
  350. 350 ck$(nr)="":a$(nr)="":dt$(nr)="":ba$(nr)="":nr=nr-1:goto332
  351. 351 nr=nr+1:fori=nrtopstep-1
  352. 352 ifi=pthen354
  353. 353 ck$(i)=ck$(i-1):dt$(i)=dt$(i-1):a$(i)=a$(i-1):ba$(i)=ba$(i-1):next
  354. 354 ifi=pthenzq=1
  355. 355 goto85
  356. 356 dt$(nd)=""
  357. 357 geta$:ifa$=""then357
  358. 358 ifa$=chr$(13)andlen(dt$(nd))=8andzq=0thendt$(nr)=dt$(nd):return
  359. 359 ifa$=chr$(13)andlen(dt$(nd))=8andzq=1thendt$(i)=dp$(nd):return
  360. 360 ifa$=chr$(20)andlen(dt$(nd))>0thende=1:return
  361. 361 iflen(dt$(nd))=8then357
  362. 362 ifa$="0"then364
  363. 363 ifval(a$)<1then357
  364. 364 iflen(dt$(nd))=0andval(a$)>3then357
  365. 365 ifdt$(nd)="3"andval(a$)>1then357
  366. 366 ifdt$(nd)="0"andval(a$)=0then357
  367. 367 iflen(dt$(nd))=3andval(a$)>1then357
  368. 368 ifmid$(dt$(nd),4,1)="1"andlen(dt$(nd))=4andval(a$)>2then357
  369. 369 ifmid$(dt$(nd),4,1)="0"andlen(dt$(nd))=4andval(a$)=0then357
  370. 370 iflen(dt$(nd))=6andval(a$)<8then357
  371. 371 iflen(dt$(nd))=1thena$=a$+"/"
  372. 372 iflen(dt$(nd))=4thena$=a$+"/"
  373. 373 dt$(nd)=dt$(nd)+a$:printa$;:goto357
  374. 374 l=1:iflen(dt$(nd))=3thenl=2
  375. 375 iflen(dt$(nd))=6thenl=2
  376. 376 dt$(nd)=left$(dt$(nd),len(dt$(nd))-l)
  377. 377 print"[157] [157]";:ifl=2thenprint"[157] [157]";:goto357
  378. 378 b$="":l=0:s=1
  379. 379 geta$:ifa$=""then379
  380. 380 ifa$=chr$(13)then390
  381. 381 ifa$=chr$(20)andl>0then389
  382. 382 ifl=8then379
  383. 383 ifa$=","ora$=":"then379
  384. 384 ifa$=" "ands=1then379
  385. 385 ifa$=" "ora$="!"then387
  386. 386 ifa$<"#"ora$>"_"then379
  387. 387 s=0:ifa$=" "thens=1
  388. 388 b$=b$+a$:l=l+1:printa$;:goto379
  389. 389 s=0:print"[157] [157]";:l=l-1:b$=left$(b$,l):goto379
  390. 390 iflen(b$)<9thenb$=b$+" ":goto390
  391. 391 return
  392. 392 b$="":c$="":l=0
  393. 393 geta$:ifa$=""then393
  394. 394 ifa$=chr$(13)andl=0thenb$="0.00":goto417
  395. 395 ifa$=chr$(13)thenb$=b$+".00":goto417
  396. 396 ifa$=chr$(20)andl>0then404
  397. 397 ifa$="."andl=0thena$="0.":l=1:goto405
  398. 398 ifa$="."then405
  399. 399 ifl=5then393
  400. 400 ifb$="0"then393
  401. 401 ifa$="0"then403
  402. 402 ifval(a$)=0then393
  403. 403 printa$;:b$=b$+a$:l=l+1:goto393
  404. 404 l=l-1:print"[157] [157]";:b$=left$(b$,l):goto393
  405. 405 l=l+1:b$=b$+a$:l1=0:c$="":printa$;
  406. 406 geta$:ifa$=""then406
  407. 407 ifval(b$)=0anda$=chr$(13)andc$=""then418
  408. 408 ifa$=chr$(13)andl1=2thenb$=b$+c$:goto417
  409. 409 ifa$=chr$(20)andl1>0then416
  410. 410 ifa$=chr$(20)then404
  411. 411 ifl1=2then406
  412. 412 ifa$="0"then414
  413. 413 ifval(a$)=0then406
  414. 414 printa$;:c$=c$+a$:l1=l1+1:goto406
  415. 415 ifl1=2thenb$=b$+c$:goto419
  416. 416 l1=l1-1:print"[157] [157]";:c$=left$(c$,l1):goto406
  417. 417 iflen(b$)<8thenb$=" "+b$:goto417
  418. 418 ifval(b$)=0thenb$=""
  419. 419 return
  420. 420 ba=ba*100+.5:ba=int(ba)/100
  421. 421 b$=str$(abs(ba*100)):b$=right$(b$,len(b$)-1)
  422. 422 iflen(b$)<3thenba$="0":goto424
  423. 423 ba$=left$(b$,len(b$)-2)
  424. 424 ba$=ba$+"."
  425. 425 iflen(b$)=1thenba$=ba$+"0"+b$:goto427
  426. 426 ba$=ba$+right$(b$,2)
  427. 427 iflen(ba$)<8thenba$=chr$(160)+ba$:goto427
  428. 428 ifb$="0"thenb$="  ":goto431
  429. 429 b$="[153] c"
  430. 430 ifba<>abs(ba)thenb$="[150] d"
  431. 431 ba$=ba$+b$:return
  432. 432 forw=1to2000:next
  433. 433 forw=1to1000:next
  434. 434 forw=1to500:next
  435. 435 forw=1to400:next
  436. 436 forw=1to300:next
  437. 437 forw=1to200:next
  438. 438 forw=1to100:next
  439. 439 forw=1to100:next:return
  440. 440 printta$"                                       ":forwp=1to5
  441. 441 print"                                       ":forw=1to50:next:next:return
  442. 442 printtb$"                                       ":return
  443. 443 x$(1)="[213]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[201]":e$(3)="index":n=100:sn=1
  444. 444 x$(2)="[202]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[203]":r$=chr$(13)
  445. 445 dimck$(n+1),dt$(n+1),a$(n+1),p(n+1),g$(30),j(30),a(30),ba$(n+1)
  446. 446 tb$="":ta$=""
  447. 447 lc$="[175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]":lk$="                   "
  448. 448 si$="[172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]":return
  449.