home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Software / AUTO-EXPENSE (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  16.4 KB  |  531 lines

  1. 10 REM AUTO EXPENSE - (VER 2.0):BY D. SCOTT 05/91
  2. 20 PRINT"[147]     DO YOU NEED INSTRUCTIONS? (Y/N)
  3. 30 [161]K$:[139]K$[178]""[167]30
  4. 40 [139]K$[178]"N"[167]96
  5. 50 [139]K$[178]"Y"[167]72
  6. 60 [137]30
  7. 70 [143] SEQUENTIAL FILE READER
  8. 72 [151]53272,21:[153]"LOAD":S$[178]"AUTO.INST"
  9. 74 [159]1,8,2,S$[170]",M,R":[159]4,3:[153]"LOAD"
  10. 76 [153][163]10)"HIT ANY KEY TO PAUSE":[153]"STOP"
  11. 78 [161]#1,A$:[139]ST[178]0[167][152]4,A$;:[146]198,1,1:[151]198,0:[137]78
  12. 80 [152]4:[160]1:[160]4:[153]" DONE --- PRESS ANY KEY FOR MENU"
  13. 82 [161]K$:[139]K$[178]""[167]82
  14. 96 R[178]0:[153][199](142)
  15. 98 [134]SI$(401),SD$(401),VM(401),SC(401),SP$(401),CO$(401)
  16. 100 [151]53280,2:[151]53281,1:[153]"LOAD     A U T O   E X P E N S E  V2.0      WAIT";
  17. 104 [153]"                                        WAIT";
  18. 106 [153]"   AUTOMOBILE FILE: STOP"F$ "
  19. 108 PRINT" MAXIMUM RECORDS:[144] 300  NOW ON FILE:[144]" R
  20. 110 PRINT"[151]                                        [146]";
  21. 112 PRINT"[144]       1 [146] =  D [146][144]ISK DIRECTORY"
  22. 114 PRINT"       2 [146] =  L [146][144]OAD A FILE"
  23. 116 PRINT"       3 [146] =  E [146][144]NTER NEW RECORDS
  24. 118 [153]"       4 WAIT =  V WAITSTOPIEW ALL RECORDS
  25. 120 PRINT"       5 [146] =  F [146][144]IND RECORDS"
  26. 122 PRINT"       6 [146] =  C [146][144]URRENT EXPENSE BALANCE
  27. 124 [153]"       7 WAIT =  S WAITSTOPAVE THE FILE"
  28. 126 [153]"       8 WAIT =  P WAITSTOPRINT HARD COPY
  29. 128 PRINT"       9 [146] =  Q [146][144]UIT PROGRAM
  30. 136 [153]" ENTER ^     ^
  31. 138 PRINT"  NUMBER [146] OR  LETTER [146][144] FOR OPTION";
  32. 140 GETKEY$:IFKEY$=""THEN140
  33. 142 IFKEY$="1"ORKEY$="D"THEN262
  34. 144 IFKEY$="2"ORKEY$="L"THEN202
  35. 146 IFKEY$="3"ORKEY$="E"THEN402
  36. 148 IFKEY$="4"ORKEY$="V"THEN502
  37. 149 IFKEY$="5"ORKEY$="F"THEN802
  38. 150 IFKEY$="6"ORKEY$="C"THEN1400
  39. 154 IFKEY$="7"ORKEY$="S"THEN330
  40. 156 IFKEY$="8"ORKEY$="P"THEN1002
  41. 158 IFKEY$="9"ORKEY$="Q"THEN171
  42. 160 GOSUB675:GOTO140
  43. 170 POKE781,X:POKE782,Y:POKE783,0:SYS65520:RETURN
  44. 171 POKE53281,0
  45. 172 X=10:Y=5:GOSUB170:PRINT"[129][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][146]"
  46. 173 X=11:GOSUB170:PRINT"[221]       W A R N I N G       [221][146]"
  47. 174 X=12:GOSUB170:PRINT"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179][146]"
  48. 175 X=13:GOSUB170:PRINT"[221]                           [221][146]"
  49. 176 X=14:GOSUB170:PRINT"[221]  HAVE YOU SAVED UPDATE??  [221][146]"
  50. 177 X=15:GOSUB170:PRINT"[221]                           [221][146]"
  51. 178 X=16:GOSUB170:PRINT"[221] PRESS M TO RETURN TO MENU [221][146]"
  52. 179 X=17:GOSUB170:PRINT"[221]                           [221][146]"
  53. 180 X=18:GOSUB170:PRINT"[221]  PRESS Q TO QUIT PROGRAM  [221][146]"
  54. 181 X=19:GOSUB170:PRINT"[221]                           [221][146]"
  55. 182 X=20:GOSUB170:PRINT"[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][146]"
  56. 183 X=21:GOSUB170:PRINT"                            ";
  57. 192 GOSUB675:GOSUB675:GOSUB675:GOSUB680
  58. 193 GET KEY$:IFKEY$=""THEN193
  59. 194 IFKEY$="M"THEN100
  60. 195 IFKEY$="Q"THENP$="BOOT":GOTO197
  61. 196 GOTO193
  62. 197 PRINT"[147]LOAD"CHR$(34)P$CHR$(34)",8"
  63. 198 PRINT"RUN":POKE198,3:POKE631,19:POKE632,13:POKE633,13
  64. 199 NEW
  65. 200 REM **** LOAD FILE ****
  66. 202 F$="":POKE53281,6:POKE53280,14:PRINT"[147]"TAB(15)"[158]LOAD FILE"
  67. 204 PRINT""TAB(10)"REMOVE PROGRAM DISK":GOSUB680
  68. 206 PRINTTAB(11)"INSERT FILE DISK"
  69. 208 PRINTTAB(12)"ENTER FILE NAME"
  70. 210 PRINTTAB(11)"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][145][145]":LI=16:TA=10:GOSUB650
  71. 212 IFB$=""THEN100
  72. 214 F$=B$
  73. 216 OPEN15,8,15:PRINT#15,"I0":OPEN1,8,2,B$
  74. 218 INPUT#15,E,E$,E1,E2
  75. 220 IFETHEN620
  76. 222 J=0:TC=0
  77. 224 J=J+1:PRINT"";J
  78. 226 INPUT#1,SI$(J)
  79. 228 INPUT#1,SD$(J)
  80. 229 INPUT#1,VM(J)
  81. 230 INPUT#1,SC(J)
  82. 231 INPUT#1,SP$(J)
  83. 232 INPUT#1,CO$(J)
  84. 236 TC=TC+SC(J):TC$=STR$(TC)
  85. 237 IFLEN(TC$)<3THENTC$=LEFT$(TC$,1)+"0"+RIGHT$(TC$,1)
  86. 238 TC$=LEFT$(TC$,LEN(TC$)-2)+"."+RIGHT$(TC$,2)
  87. 240 IFST=0THEN224
  88. 242 R=J
  89. 244 CLOSE1:CLOSE15
  90. 246 PRINT"[147]        ";R;"RECORDS WERE LOADED"
  91. 248 PRINT"         PRESS ANY KEY FOR MENU"
  92. 250 GOSUB680
  93. 252 GETZ$:IFZ$=""THEN252
  94. 254 GOTO100
  95. 260 REM ***** VIEW DISK DIRECTORY
  96. 262 PRINT"[147][144]":OPEN1,8,0,"$":GET#1,A$,A$
  97. 264 GET#1,A$,A$:IFA$=""THEN276
  98. 266 GET#1,B$,C$
  99. 268 BL=ASC(B$+CHR$(0)):BH=ASC(C$+CHR$(0))
  100. 270 D$=MID$(STR$(BL+256*BH),2)+CHR$(32)
  101. 272 PRINTD$;:GET#1,D$:IFD$<>""THEN272
  102. 274 PRINT:GETE$:IFE$<>"Q"THEN264
  103. 276 CLOSE1:PRINT" DONE---PRESS ANY KEY"
  104. 278 GETK$:IFK$=""THEN278
  105. 280 GOTO100
  106. 300 REM **** SAVE FILE ****
  107. 330 GOSUB1500
  108. 332 POKE53281,0:PRINTTAB(15)"[147]SAVE FILE"
  109. 334 PRINT"[158] REMOVE PROGRAM DISK & INSERT DATA DISK[159]":GOSUB680
  110. 336 PRINT""TAB(12)"FILE IN USE IS:"
  111. 338 PRINT"[159]"TAB((38-LEN(F$))/2)F$
  112. 340 PRINTTAB(12)"[158]ENTER FILE NAME"
  113. 342 PRINTTAB(11)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][145][145]":LI=16:TA=10:GOSUB650
  114. 344 IFB$=""THEN100
  115. 346 IFB$=F$ORF$=""THEN364
  116. 348 GOSUB675
  117. 350 PRINT"    [158]THE FILE NAME YOU ENTERED IS NOT"
  118. 352 PRINT"      THE SAME AS THE FILE IN USE!"
  119. 354 PRINT"[129]        USE NEW FILE NAME Y[146] OR N[146]"
  120. 356 GETZ$:IFZ$=""THEN356
  121. 358 IFZ$="N"THEN332
  122. 360 IFZ$="Y"THEN364
  123. 362 GOTO356
  124. 364 OPEN15,8,15:PRINT#15,"I0":OPEN1,8,2,"@0:"+B$+",S,W
  125. 366 [132]15,E,E$,E1,E2
  126. 368 [139]E[167]620
  127. 370 [153]""[166]8)"SAVING ";B$;
  128. 372 [129]J[178]1[164]R
  129. 374 [139]SI$(J)[178]"DELETE"[167]390
  130. 376 [152]1,SI$(J);[199](13);
  131. 378 [152]1,SD$(J);[199](13);
  132. 379 [152]1,VM(J);[199](13);
  133. 380 [152]1,SC(J);[199](13);
  134. 381 [152]1,SP$(J);[199](13);
  135. 382 [152]1,CO$(J);[199](13);
  136. 390 [130]J
  137. 392 [160]1:[160]15
  138. 394 [153][166]5)" DONE WAIT":A[178]0
  139. 396 [141]680:[129]T[178]1[164]1000:[130]:[141]680
  140. 398 [137]100
  141. 400 [143] **** ENTER RECORD INFORMATION ****
  142. 402 [139]R[179]400[167]408
  143. 404 [153]"LOAD     DATA BASE IS FULL"
  144. 405 [153]"      PRESS ANY KEY FOR MENU":[141]675
  145. 406 [161]KEY$:[139]KEY$[178]""[167]406
  146. 407 [137]100
  147. 408 [151]53281,0
  148. 410 [153]"LOAD ";F$" WAIT"
  149. 412 [153]" ENTER DATA WAIT   RECORD NUMBER " R[170]1
  150. 413 [153]"  FOR DO NOT USE COMMAS OR COLONS! WAIT"
  151. 414 [153]"SYS REPAIR/SERVICE/ITEM   WAITOPEN
  152. 415 PRINT"   [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][145]"
  153. 416 PRINT"[158] SERVICE DATE   [146][159] [163][163][163][163][163][163][163][163][145]"
  154. 417 PRINT"[158] MILEAGE        [146][159]  [163][163][163][163][163][163][145]"
  155. 418 PRINT"[158] SERVICE COST   [146]$[159] [163][163][163][163][163][163][163][145]"
  156. 420 PRINT"[158] PROVIDER       [146][159] [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][145]"
  157. 422 PRINT"[158] COMMENTS       [146][159] [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][145]"
  158. 424 PRINT" ENTER SERVICE DATE AS YR/MO/DA
  159. 426 [153]" EXAMPLE: 91/04/01."
  160. 428 [153]" ENTER SERVICE COSTS WITHOUT THE
  161. 430 PRINT" DECIMAL POINT. (EG: 75.00=7500)[145][145][145][145][145][145]"
  162. 432 PRINT"":TA=2:LI=25:GOSUB650
  163. 434 IFB$=""THEN100
  164. 436 R=R+1:SI$(R)=B$:A=1
  165. 438 PRINT:TA=16:LI=8:GOSUB650
  166. 440 IFB$=""THENB$="-"
  167. 442 SD$(R)=B$
  168. 444 PRINT:TA=17:LI=6:GOSUB635
  169. 446 IFB$=""THENB$="-"
  170. 448 VM(R)=VAL(B$)
  171. 450 PRINT:TA=17:LI=7:GOSUB635
  172. 452 IFB$=""THENB$="-"
  173. 454 SC(R)=VAL(B$)
  174. 456 PRINT:TA=16:LI=15:GOSUB650
  175. 458 IFB$=""THENB$="-"
  176. 460 SP$(R)=(B$)
  177. 462 PRINT:TA=16:LI=17:GOSUB650
  178. 464 IFB$=""THENB$="-"
  179. 466 CO$(R)=(B$)
  180. 468 PRINT"[151]----------------------------------------";
  181. 470 PRINTSPC(13)" CORRECT?....Y[146] OR N[146]"
  182. 472 PRINT"                                     "
  183. 474 PRINT"                                     "
  184. 482 GETZ$:IFZ$=""THEN482
  185. 484 IFZ$="N"THENGOSUB698:GOTO490
  186. 486 IFZ$="Y"THEN490
  187. 488 GOTO482
  188. 490 PRINT"[145][145][145]      ENTER ANOTHER ITEM? Y[146] OR N[146]"
  189. 492 GETZ$:IFZ$=""THEN492
  190. 494 IFZ$="N"THEN100
  191. 496 IFZ$="Y"THEN400
  192. 498 GOTO492
  193. 500 REM ***** VIEW RECORDS *****
  194. 502 FORJ=1TOR
  195. 504 GOSUB506:GOTO570
  196. 506 POKE53281,1:PRINT"[147][144]      VIEW FILE  ";F$" [146]"
  197. 508 PRINT"     RECORD NUMBER[144]";J
  198. 510 PRINT"REPAIR/MAINTENANCE/                     SERVICE ITEM  [144]";SI$(J)
  199. 512 PRINT"SERVICE DATE  [144]    ";SD$(J)
  200. 513 PRINT"MILEAGE       [144]   ";VM(J)
  201. 514 SC$=STR$(SC(J))
  202. 516 IFLEN(SC$)<3THENSC$=LEFT$(SC$,1)+"0"+RIGHT$(SC$,1)
  203. 518 SC$=LEFT$(SC$,LEN(SC$)-2)+"."+RIGHT$(SC$,2)
  204. 542 IFLEN(SC$)>7THEN552
  205. 544 IFLEN(SC$)>6THENSC$=" "+SC$:GOTO552
  206. 546 IFLEN(SC$)>5THENSC$="  "+SC$:GOTO552
  207. 548 IFLEN(SC$)>4THENSC$="   "+SC$:GOTO552
  208. 550 IFLEN(SC$)>3THENSC$="    "+SC$:GOTO552
  209. 552 PRINT"SERVICE COST    $[146][144]";SC$
  210. 554 PRINT"PROVIDER      [144]    ";SP$(J)
  211. 556 PRINT"COMMENTS      [144]    ";CO$(J)
  212. 560 PRINT"[151]----------------------------------------";
  213. 562 PRINT" PRESS <RETURN> [151][146] FOR NEXT RECORD"
  214. 564 PRINT" PRESS   <E>    [151][146] TO EDIT RECORD"
  215. 566 PRINT" PRESS   <D>    [151][146] TO DELETE RECORD"
  216. 568 PRINT" PRESS   <_>    [151][146] TO RETURN TO MENU":RETURN
  217. 570 GET KEY$:IFKEY$=""THEN570
  218. 572 IFKEY$=CHR$(13)THENNEXTJ
  219. 574 IFKEY$=CHR$(95)THEN100
  220. 576 IFKEY$="E"THENPOKE53281,0:GOSUB700:GOTO504
  221. 578 IFKEY$="D"THENGOSUB584:GOTO502
  222. 580 IFKEY$=CHR$(13)THENPRINT"[144]   END OF FILE [146]";:FORT=1TO1000:GOSUB680:GOTO100
  223. 582 GOTO570
  224. 584 PRINT"    [149] CONFIRM RECORD DELETE: Y OR N [146]":GOSUB675:GOSUB675
  225. 586 GETKEY$:IFKEY$=""THEN586
  226. 588 IFKEY$="Y"THEN592
  227. 590 RETURN
  228. 592 SI$(J)="DELETE"
  229. 594 RETURN
  230. 620 PRINT"",E$:CLOSE15:CLOSE1:E=0
  231. 622 PRINT"PRESS ANY KEY-MAKE CORRECTION-TRY AGAIN."
  232. 624 GOSUB675
  233. 626 GETZ$:IFZ$=""THEN626
  234. 628 GOTO100
  235. 635 B$="":PRINTTAB(TA)"[158]>";
  236. 636 GETA$:IFA$=""THEN636
  237. 637 IFA$>CHR$(57)OR(A$=CHR$(20)ANDLEN(B$)<1)THENGOSUB675:GOTO636
  238. 638 IFA$=CHR$(13)THEN645
  239. 639 IFA$=CHR$(20)THENB$=LEFT$(B$,LEN(B$)-1):GOTO642
  240. 640 IFA$<CHR$(47)ORLEN(B$)>LI-1THENGOSUB675:GOTO636
  241. 641 B$=B$+A$
  242. 642 IFLEN(B$)>1THEN644
  243. 643 PRINTTAB(TA+1)
  244. 644 PRINTA$;:GOTO636
  245. 645 PRINT:RETURN
  246. 650 B$="":PRINTTAB(TA)"[158]>";
  247. 652 GETA$:IFA$=""THEN652
  248. 653 IFA$>CHR$(90)OR(A$=CHR$(20)ANDLEN(B$)<1)THENGOSUB675:GOTO652
  249. 654 IFA$=CHR$(13)THEN670
  250. 656 IFA$=CHR$(20)THENB$=LEFT$(B$,LEN(B$)-1):GOTO664
  251. 658 IFA$=CHR$(44)ORA$=CHR$(58)ORA$=CHR$(59)ORA$=CHR$(17)THENGOSUB675:GOTO652
  252. 659 IFA$=CHR$(19)ORA$=CHR$(29)THENGOSUB675:GOTO652
  253. 660 IFLEN(B$)>LI-1THENGOSUB675:GOTO652
  254. 662 B$=B$+A$
  255. 664 IFLEN(B$)>1THEN668
  256. 666 PRINTTAB(TA+1)
  257. 668 PRINTA$;:GOTO652
  258. 670 PRINT:RETURN
  259. 675 REM BUZZ
  260. 676 POKE54296,15:POKE54277,45:POKE54278,165
  261. 677 POKE54276,33:POKE54273,6:POKE54272,5
  262. 678 FORCD=1TO150:NEXT:POKE54276,16:RETURN
  263. 680 REM BELL
  264. 681 POKE54296,15:POKE54277,0:POKE54278,247
  265. 682 POKE54276,17:POKE54273,40:POKE54272,0
  266. 683 FORCD=1TO250:NEXT:POKE54276,16:RETURN
  267. 698 J=R
  268. 700 REM **** EDIT RECORDS ****
  269. 702 POKE53281,0:PRINT"[147][158]"TAB(10)" EDIT RECORD #";J
  270. 704 PRINT"[158]1 REPAIRS/SERVICE/ITEM  [146]  [159]"
  271. 705 PRINT"   ";SI$(J)
  272. 706 PRINT"[158]2 SERVICE DATE   [146]  [159]";SD$(J)
  273. 707 PRINT"[158]3 MILEAGE        [146]  [159]";VM(J)
  274. 708 PRINT"[158]4 SERVICE COST   [146]$ [159]";SC(J)
  275. 710 PRINT"[158]5 PROVIDER       [146]  [159]";SP$(J)
  276. 712 PRINT"[158]6 COMMENTS       [146]  [159]";CO$(J)
  277. 718 PRINT" EDIT WHICH LINE OR [_] TO ESCAPE ?"
  278. 720 GETY$:IFY$=""THEN720
  279. 722 IFY$=CHR$(95)THENPRINT"[147]":RETURN
  280. 724 IFY$<"1"ORY$>"6"THEN720
  281. 725 PRINT"[145][129]BLANKED FIELDS, ENTER [-] IN POSITION 1[146]"
  282. 726 ONVAL(Y$)GOTO728,732,736,740,744,748
  283. 728 PRINT"[145][145][145][145][145][145][145][145][145][145][145][145][145][145][158]1 REPAIRS/SERVICE/ITEM [146]":TA=2:LI=25:GOSUB650
  284. 730 SI$(J)=B$:PRINT"":GOTO760
  285. 732 PRINT"[145][145][145][145][145][145][145][145][145][145][145][145][158]2 SERVICE DATE   [145][146]":TA=18:LI=8:GOSUB650
  286. 734 SD$(J)=B$:PRINT"":GOTO760
  287. 736 PRINT"[145][145][145][145][145][145][145][145][145][145][158]3 MILEAGE        [145][146]":TA=19:LI=6:GOSUB635
  288. 738 VM(J)=VAL(B$):PRINT"":GOTO760
  289. 740 PRINT"[145][145][145][145][145][145][145][145][158]4 SERVICE COST   [145][146]":TA=19:LI=7:GOSUB635
  290. 742 SC(J)=VAL(B$):PRINT"":GOTO760
  291. 744 PRINT"[145][145][145][145][145][145][158]5 PROVIDER       [145][146]":TA=18:LI=15:GOSUB650
  292. 746 SP$(J)=B$:PRINT"":GOTO760
  293. 748 PRINT"[145][145][145][145][158]6 COMMENTS       [145][146]":TA=18:LI=17:GOSUB650
  294. 750 CO$(J)=(B$)
  295. 760 A=1:PRINT"  EDIT ANOTHER LINE?  Y   OR   N       "
  296. 762 GETKEY$:IFKEY$=""THEN762
  297. 764 IFKEY$="N"THENPRINT"[147]":RETURN
  298. 766 IFKEY$="Y"THENPRINT"[145][145][145]":GOTO718
  299. 768 GOTO762
  300. 800 REM  SEARCH ROUTINE
  301. 802 X=13:Y=1:GOSUB170:PRINT"    [144][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]     "
  302. 804 X=14:GOSUB170:PRINT"[144]    [221]  FIND [146][144] SPECIFIC RECORDS FOR    [144][221]"
  303. 806 X=15:GOSUB170:PRINT"    [171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
  304. 808 X=16:GOSUB170:PRINT"    [221] [144] 1 [146] = ITEM/SERVICE NAME        [221]"
  305. 810 X=17:GOSUB170:PRINT"    [221]                                [221]"
  306. 812 X=18:GOSUB170:PRINT"    [221] [144] 2 [146] = PROVIDER                 [221]"
  307. 814 X=19:GOSUB170:PRINT"    [221]                                [221]"
  308. 816 X=20:GOSUB170:PRINT"    [221] [144] 3 [146] = YEAR                     [221]"
  309. 818 X=21:GOSUB170:PRINT"    [221]                                [221]"
  310. 820 X=22:GOSUB170:PRINT"    [221]  _] RETURN TO MENU             [221]"
  311. 822 X=23:GOSUB170:PRINT"    [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]"
  312. 824 X=24:GOSUB170:PRINT"       PRESS NUMBER OR _ FOR OPTION  ";
  313. 830 GETKEY$:IFKEY$=""THEN830
  314. 832 IFKEY$="1"THEN840:REM ITEM SEARCH
  315. 834 IFKEY$="2"THEN900:REM PROVIDER SEARCH
  316. 835 IFKEY$="3"THEN860:REM YEAR SEARCH
  317. 836 IFKEY$=CHR$(95)THEN100
  318. 838 GOTO830
  319. 840 POKE53281,0:PRINT"[147] ENTER NAME TO SEARCH FOR"
  320. 841 PRINT"[158] (OR PRESS RETURN TO ESCAPE)":TA=10:LI=25:GOSUB650
  321. 842 IFB$=""THEN100
  322. 844 FORJ=1TOR
  323. 846 IFLEFT$(SI$(J),LEN(B$))=B$THENGOSUB506:GOSUB950
  324. 848 NEXTJ
  325. 850 GOTO980
  326. 860 POKE53281,0:PRINT"[147] ENTER LAST TWO DIGITS OF"
  327. 861 PRINT"       YEAR TO SEARCH FOR:"
  328. 862 PRINT"[158] (OR PRESS RETURN TO ESCAPE)":TA=10:LI=2:GOSUB650
  329. 864 IFB$=""THEN100
  330. 866 FORJ=1TOR
  331. 868 IFLEFT$(SD$(J),LEN(B$))=B$THENGOSUB506:GOSUB950
  332. 870 NEXTJ
  333. 872 GOTO980
  334. 900 POKE53281,0:PRINT"[147] ENTER PROVIDER NAME "
  335. 901 PRINT"[158] (OR PRESS RETURN TO ESCAPE)":TA=10:LI=15:GOSUB650
  336. 902 IFB$=""THEN100
  337. 904 FORJ=1TOR
  338. 906 IFLEFT$(SP$(J),LEN(B$))=B$THENGOSUB506:GOSUB950
  339. 908 NEXTJ
  340. 910 GOTO980
  341. 950 GETKEY$:IFKEY$=""THEN950
  342. 952 IFKEY$=CHR$(13)THENRETURN
  343. 954 IFKEY$=CHR$(95)THEN100
  344. 956 IFKEY$="E"THENPOKE53281,0:GOSUB700:GOSUB506:GOTO950
  345. 958 IFKEY$="D"THENGOSUB584:
  346. 962 GOTO950
  347. 980 B$="NO MATCH FOUND OR END OF FILE"
  348. 990 PRINT"[129]  ";B$" [146][145]":FORT=1TO1000:NEXT:GOSUB680:GOTO100
  349. 1000 REM ***** PRINT OUT ROUTINES *****
  350. 1002 X=11:Y=8:GOSUB170:PRINT"[213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]"
  351. 1004 X=12:GOSUB170:PRINT"[221]       N O T E        [146][221]"
  352. 1006 X=13:GOSUB170:PRINT"[221]   USE TRACTOR FEED   [146][221]"
  353. 1008 X=14:GOSUB170:PRINT"[221]   CONTINUOUS PAPER   [146][221]"
  354. 1010 X=15:GOSUB170:PRINT"[221]    FOR PRINTOUTS.    [146][221]"
  355. 1012 X=16:GOSUB170:PRINT"[221]    PRESS <RETURN>    [146][221]"
  356. 1014 X=17:GOSUB170:PRINT"[221]     TO CONTINUE.     [146][221]"
  357. 1016 X=18:GOSUB170:PRINT"[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]"
  358. 1018 GOSUB675:GOSUB680
  359. 1020 GETKEY$:IFKEY$=""THEN1020
  360. 1022 IFKEY$=CHR$(13)THENGOSUB1030:GOTO1050
  361. 1026 GOTO1020
  362. 1030 TC=0:OPEN4,4:PRINT#4,CHR$(0)
  363. 1032 IFST=0THENRETURN
  364. 1033 PRINT"[147]                                   [146]":CLOSE4:GOSUB675
  365. 1034 PRINT"      WHERE IS THE PRINTER ???     [146]"
  366. 1036 PRINT"         CHECK PRINTER             [146]"
  367. 1038 PRINT"      PRESS [ + ] AND TRY AGAIN    [146]"
  368. 1040 PRINT"   PRESS [ _ ] TO ESCAPE TO MENU   [146]"
  369. 1041 PRINT"                                   [146]";
  370. 1042 GETKEY$:IFKEY$=""THEN1042
  371. 1044 IFKEY$=CHR$(43)THEN1030
  372. 1046 IFKEY$=CHR$(95)THEN100
  373. 1048 GOTO1042
  374. 1049 SEIKOSHA PRINTER RESET ROUTINE
  375. 1050 OPEN10,4,10:PRINT#10:CLOSE10:I=0
  376. 1100 X=9:Y=1:GOSUB170:PRINT"   [144][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]    "
  377. 1102 X=10:GOSUB170:PRINT"   [221]  PRINT [146][144] RECORDS...           [144][221]"
  378. 1104 X=11:GOSUB170:PRINT"   [171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
  379. 1106 X=12:GOSUB170:PRINT"   [221] [144] 1 [146] = ENTIRE FILE            [221]"
  380. 1108 X=13:GOSUB170:PRINT"   [221]                              [221]"
  381. 1110 X=14:GOSUB170:PRINT"   [221]       OR FOR A SPECIFIC...[144]   [221]"
  382. 1112 X=15:GOSUB170:PRINT"   [221]                              [221]"
  383. 1114 X=16:GOSUB170:PRINT"   [221] [144] 2 [146] = ITEM OR SERVICE        [221] "
  384. 1116 X=17:GOSUB170:PRINT"   [221]                              [221]"
  385. 1118 X=18:GOSUB170:PRINT"   [221] [144] 3 [146] = PROVIDER               [221]"
  386. 1120 X=19:GOSUB170:PRINT"   [221]                              [221]"
  387. 1122 X=20:GOSUB170:PRINT"   [221] [144] 4 [146] = YEAR                   [221]"
  388. 1124 X=21:GOSUB170:PRINT"   [221]                              [221]"
  389. 1126 X=22:GOSUB170:PRINT"   [221]  _] RETURN TO MENU           [221]"
  390. 1128 X=23:GOSUB170:PRINT"   [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]"
  391. 1130 X=24:GOSUB170:PRINT"     PRESS NUMBER OR _ FOR OPTION  ";
  392. 1140 GETKEY$:IFKEY$=""THEN1140
  393. 1142 IFKEY$="1"THEN2100:ENTIRE FILE
  394. 1144 IFKEY$="2"THEN1200:ITEM
  395. 1146 IFKEY$="3"THEN1230:PROVIDER
  396. 1148 IFKEY$="4"THEN1260:YEAR
  397. 1150 IFKEY$=CHR$(95)THEN100
  398. 1152 GOTO1140
  399. 1200 POKE53281,0:PRINT"[147] ENTER ITEM/SERVICE NAME TO SEARCH FOR"
  400. 1202 PRINT"[158] (OR PRESS RETURN TO ESCAPE)":TA=10:LI=25:GOSUB650
  401. 1204 IFB$=""THEN1100
  402. 1206 PRINT" ENTER REPORT DATE (EX: 03/01/89)"
  403. 1208 INPUT"[158]          ";RD$
  404. 1210 GOSUB2182
  405. 1212 FORJ=1TOR
  406. 1214 IFLEFT$(SI$(J),LEN(B$))=B$THENGOSUB1300
  407. 1216 NEXT J
  408. 1218 GOTO1290
  409. 1230 POKE53281,0:PRINT"[147] ENTER PROVIDER NAME TO SEARCH FOR"
  410. 1232 PRINT"[158] (OR PRESS RETURN TO ESCAPE)":TA=10:LI=15:GOSUB650
  411. 1234 IFB$=""THEN1100
  412. 1236 PRINT" ENTER REPORT DATE (EX: 03/01/89)"
  413. 1238 INPUT"[158]          ";RD$
  414. 1240 GOSUB2182
  415. 1242 FORJ=1TOR
  416. 1244 IFLEFT$(SP$(J),LEN(B$))=B$THENGOSUB1300
  417. 1246 NEXT J
  418. 1248 GOTO1290
  419. 1260 POKE53281,0:PRINT"[147] ENTER  LAST TWO DIGITS [146] OF"
  420. 1262 PRINT"       YEAR TO SEARCH FOR..."
  421. 1264 PRINT"[158] (OR PRESS RETURN TO ESCAPE)":TA=10:LI=2:GOSUB650
  422. 1266 IFB$=""THEN1100
  423. 1268 PRINT" ENTER REPORT DATE (EX: 03/01/89)"
  424. 1270 INPUT"[158]          ";RD$
  425. 1272 GOSUB2182
  426. 1274 FORJ=1TOR
  427. 1276 IFLEFT$(SD$(J),LEN(B$))=B$THENGOSUB1300
  428. 1278 NEXT J
  429. 1280 GOTO1290
  430. 1290 FORX=1TO96:PRINT#4,"=";:NEXT
  431. 1292 PRINT#4,CHR$(27)"P":PRINT#4,CHR$(14)"      TOTAL COST IS $";TC/100
  432. 1294 PRINT#4,CHR$(15):CLOSE4:GOSUB680:GOTO100
  433. 1299 PRINT SELECTED ITEMS ROUTINE
  434. 1300 FOR J=1TOR:I=I+1:IFI=26THENGOSUB2180
  435. 1306 IFLEN(SC$)<3THENSC$=LEFT$(SC$,1)+"0"+RIGHT$(SC$,1)
  436. 1308 SC$=LEFT$(SC$,LEN(SC$)-2)+"."+RIGHT$(SC$,2)
  437. 1310 IFLEN(SC$)>7THEN1320
  438. 1312 IFLEN(SC$)>6THENSC$=" "+SC$:GOTO1320
  439. 1314 IFLEN(SC$)>5THENSC$="  "+SC$:GOTO1320
  440. 1316 IFLEN(SC$)>4THENSC$="   "+SC$:GOTO1320
  441. 1318 IFLEN(SC$)>3THENSC$="    "+SC$
  442. 1320 PRINT#4,SI$(J)CHR$(16)"27"SD$(J)CHR$(16)"36"VM(J)CHR$(16)"45";
  443. 1322 PRINT#4,SC$CHR$(16)"58"SP$(J)CHR$(16)"75"CO$(J)
  444. 1324 TC=TC+SC(J):TC$=STR$(TC)
  445. 1326 IFLEN(TC$)<3THENTC$=LEFT$(TC$,1)+"0"+RIGHT$(TC$,1)
  446. 1328 TC$=LEFT$(TC$,LEN(TC$)-2)+"."+RIGHT$(TC$,2)
  447. 1330 FORX=1TO96:PRINT#4,"-";:NEXTX:RETURN
  448. 1400 REM **** CURRENT EXPENSE ****
  449. 1405 X=6:Y=1:GOSUB170:PRINT"                                        "
  450. 1406 X=7:GOSUB170:PRINT"                                        "
  451. 1408 X=8:GOSUB170:PRINT"                                        "
  452. 1410 X=9:GOSUB170:PRINT"     [144][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]"
  453. 1412 X=10:GOSUB170:PRINT"     [144][221]      CURRENT [146][144] BALANCE     [221]"
  454. 1414 X=11:GOSUB170:PRINT"     [221]                           [221]"
  455. 1415 X=12:GOSUB170:PRINT"     [221]   (SAVED RECORDS ONLY)    [221]"
  456. 1416 X=13:GOSUB170:PRINT"     [144][221]                           [221]"
  457. 1418 X=14:GOSUB170:PRINT"     [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]  "
  458. 1420 X=15:GOSUB170:PRINT"                                  "
  459. 1422 X=16:GOSUB170:PRINT"      IS [195][195][195]> [144]$ ";TC$  "   <[195][195][195]             ";
  460. 1424 X=17:GOSUB170:PRINT"                                  "
  461. 1426 X=18:GOSUB170:PRINT"     [144][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]     "
  462. 1428 X=19:GOSUB170:PRINT"     [221][156]                           [144][146][221]"
  463. 1430 X=20:GOSUB170:PRINT"     [221][156]  PRESS ANY KEY FOR MENU   [144][146][221]"
  464. 1432 X=21:GOSUB170:PRINT"     [221][156]                           [144][146][221]"
  465. 1434 X=22:GOSUB170:PRINT"     [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]"
  466. 1436 X=23:GOSUB170:PRINT"                                     "
  467. 1438 X=24:GOSUB170:PRINT"                                     ";
  468. 1440 GETKEY$:IFKEY$=""THEN1440
  469. 1442 GOTO100
  470. 1500 REM SORT ROUTINE
  471. 1501 PRINT"[147]    SORTING FILE...STANDBY"
  472. 1505 S=0:F=1:L=R
  473. 1510 FS$=SD$(INT((L+F)/2)):I=F:J=L
  474. 1520 IFSD$(I)<FS$THENI=I+1:GOTO1520
  475. 1530 IFSD$(J)>FS$THENJ=J-1:GOTO1530
  476. 1540 IFI>JTHEN1590
  477. 1550 IFI=JTHEN1570
  478. 1560 REM RECORD SWAP ROUTINE
  479. 1561 F1$=SD$(I):SD$(I)=SD$(J):SD$(J)=F1$
  480. 1562 F2$=SI$(I):SI$(I)=SI$(J):SI$(J)=F2$
  481. 1563 F3=VM(I):VM(I)=VM(J):VM(J)=F3
  482. 1564 F4=SC(I):SC(I)=SC(J):SC(J)=F4
  483. 1565 F5$=SP$(I):SP$(I)=SP$(J):SP$(J)=F5$
  484. 1566 F6$=CO$(I):CO$(I)=CO$(J):CO$(J)=F6$
  485. 1570 I=I+1:J=J-1
  486. 1580 IFI<=JTHEN1520
  487. 1590 IFI>=LTHEN1610
  488. 1600 F(S)=I:L(S)=L:S=S+1
  489. 1610 L=J
  490. 1620 IFF<LTHEN1510
  491. 1630 IFS=0THENRETURN:REM GOTO SAVE ROUTINE
  492. 1640 S=S-1:F=F(S):L=L(S)
  493. 1650 GOTO1510
  494. 2100 REM ***** PRINTOUT FORMAT *****
  495. 2102 PRINT"[147] ENTER REPORT DATE (EX: 03/01/89)"
  496. 2104 INPUT"          ";RD$
  497. 2110 PRINT#4,CHR$(27)"P"
  498. 2115 PRINT#4,CHR$(14)"        A U T O   E X P E N S E    "
  499. 2120 PRINT#4,CHR$(27)"M":PRINT#4,CHR$(15)"";F$CHR$(16)"60"RD$
  500. 2125 FORX=1TO96:PRINT#4,"=";:NEXT
  501. 2130 PRINT#4,"REPAIRS/SERVICE/ITEM         DATE   MILEAGE     COST       ";
  502. 2132 PRINT#4,"PROVIDER         COMMENTS"
  503. 2134 FORX=1TO96:PRINT#4,"=";:NEXT
  504. 2138 FOR J=1TOR:I=I+1:IFI=26THENGOSUB2180
  505. 2142 SC$=STR$(SC(J))
  506. 2143 IFLEN(SC$)<3THENSC$=LEFT$(SC$,1)+"0"+RIGHT$(SC$,1)
  507. 2144 SC$=LEFT$(SC$,LEN(SC$)-2)+"."+RIGHT$(SC$,2)
  508. 2145 IFLEN(SC$)>7THEN2153
  509. 2146 IFLEN(SC$)>6THENSC$=" "+SC$:GOTO2153
  510. 2147 IFLEN(SC$)>5THENSC$="  "+SC$:GOTO2153
  511. 2148 IFLEN(SC$)>4THENSC$="   "+SC$:GOTO2153
  512. 2149 IFLEN(SC$)>3THENSC$="    "+SC$
  513. 2153 PRINT#4,SI$(J)CHR$(16)"27"SD$(J)CHR$(16)"36"VM(J)CHR$(16)"45";
  514. 2154 PRINT#4,SC$CHR$(16)"58"SP$(J)CHR$(16)"75"CO$(J)
  515. 2155 TC=TC+SC(J):TC$=STR$(TC)
  516. 2156 IFLEN(TC$)<3THENTC$=LEFT$(TC$,1)+"0"+RIGHT$(TC$,1)
  517. 2157 TC$=LEFT$(TC$,LEN(TC$)-2)+"."+RIGHT$(TC$,2)
  518. 2160 FORX=1TO96:PRINT#4,"-";:NEXTX
  519. 2165 NEXTJ
  520. 2170 FORX=1TO96:PRINT#4,"=";:NEXT
  521. 2172 PRINT#4,CHR$(27)"P":PRINT#4,CHR$(14)"  TOTAL VEHICLE COST IS $";TC/100
  522. 2175 PRINT#4,CHR$(15):CLOSE4:GOSUB680:GOTO100
  523. 2180 FOROF=1TO10:PRINT#4:NEXTOF:I=0
  524. 2182 PRINT#4,CHR$(27)"P"
  525. 2183 PRINT#4,CHR$(14)"        A U T O   E X P E N S E    "
  526. 2184 PRINT#4,CHR$(27)"M":PRINT#4,CHR$(15)"";F$CHR$(16)"60"RD$
  527. 2185 FORX=1TO96:PRINT#4,"=";:NEXT
  528. 2186 PRINT#4,"REPAIRS/SERVICE/ITEM         DATE   MILEAGE     COST       ";
  529. 2187 PRINT#4,"PROVIDER         COMMENTS"
  530. 2188 FORX=1TO96:PRINT#4,"=";:NEXT:RETURN
  531.