home *** CD-ROM | disk | FTP | other *** search
/ Input 64 / Input_64_85-06_1985_Verlag_Heinz_Weise_de.d64 / haushaltsbelege (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  17KB  |  575 lines

  1. 100 ifpeek(50307)=120thenpoke50257,0
  2. 1000 rem*haushaltsbelege*gerhard mueller-greif*0561/44440*010485
  3. 1010 rem ************************menue**************************
  4. 1020 poke53280,1:poke53281,1
  5. 1030 restore:printchr$(142);chr$(8);"[154][147]";
  6. 1040 print"[176][192][192][192][195][192][192][192][192][192][192][192][192][192][192][192][192][192][174][146]  "
  7. 1050 print"[194] haushaltsbelege [194][146]  "
  8. 1060 print"[173][192][192][192][192][195][192][192][192][192][192][192][192][192][192][192][192][192][189][146]  "
  9. 1070 print
  10. 1080 print"[176][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][174][146]";
  11. 1090 print"[194][146]    f1 [146] eingabe der belege            [194][146]";
  12. 1100 print"[171][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][179][146]";
  13. 1110 print"[194][146]    f3 [146] ausgabe nach kriterien        [194][146]";
  14. 1120 print"[171][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][179][146]";
  15. 1130 print"[194][146]    f5 [146] korrektur nach beleg-nr.      [194][146]";
  16. 1140 print"[171][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][179][146]";
  17. 1150 print"[194][146]    f7 [146] abspeichern / verifizieren    [194][146]";
  18. 1164 print"[173][192][192][195][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][195][195][195][192][192][192][192][192][192][192][192][189][146]";
  19. 1170 print"":fr=fre(64):r=int(fr/38)
  20. 1180 print"        [213][195][195][195][195][195][195][195][201]"
  21. 1190 print"        [194]       [194] _ bytes frei"
  22. 1200 print"        [202][195][195][195][195][195][195][195][203]";"[145][157][157][157][157][157][157][157][157]";fr
  23. 1210 print"    noch ";""r"[157] eingaben [146]";" moeglich ! "
  24. 1220 readdz:dz=dz+1:bn=dz-10000:bl=bn-1
  25. 1230 ifbl<10thenbl$=""+str$(bl)+"[157][157][157]00"
  26. 1240 ifbl>9andbl<100thenbl$=str$(bl)+"[157][157][157]0"
  27. 1250 ifbl>99thenbl$="[157]"+str$(bl)
  28. 1260 ifr=2thenprint"         vorletzte dateneingabe        [146]"
  29. 1270 ifr=1thenprint"          letzte dateneingabe          [146]"
  30. 1280 ifr<1thenprint"          ende der dateneingabe        [146]"
  31. 1290 getmw$:ifmw$="[133]"andr>1then1350
  32. 1300 ifmw$="[134]"then2240
  33. 1310 ifmw$="[135]"then4520
  34. 1320 ifmw$="[136]"then5070
  35. 1330 goto1290
  36. 1340 rem ******************** e i n g a b e *********************
  37. 1350 ifbn<10thenbn$=""+str$(bn)+"[157][157][157]00"
  38. 1360 ifbn>9andbn<100thenbn$=str$(bn)+"[157][157][157]0"
  39. 1370 ifbn>99thenbn$="[157]"+str$(bn)
  40. 1380 print"[147]datum    :tt.mm.jj       "
  41. 1390 print"[145]beleg-nr.:"bn$"[146]"
  42. 1400 print"betrag   :*******          "
  43. 1410 print"ber./art.:[187][187][187][187][187]......."
  44. 1420 print"einn./ausg.(+/-):*"
  45. 1430 ifpf$="n"then1470
  46. 1440 ifk<>1thenprint"****************************************[146]"
  47. 1450 ifk=1thenprintchr$(18);"  ";d2$;" ";d3$;" ";d4$;" ";d5$
  48. 1460 goto1490
  49. 1470 printchr$(18);"  ";left$(b$,8);"   ";mid$(b$,9,7);
  50. 1480 print"   ";mid$(b$,16,12);"   ";right$(b$,1);" "
  51. 1490 print"<cr>[146]     zeilensprung - loeschen[146]......"
  52. 1500 print"<del>[146]    korrektur in der zeile"
  53. 1510 print"<c=><m>[146]  abbruch der eingabe, menue"
  54. 1520 print" [187][187][187][187][187] b e l e g b e r e i c h e  [187][187][187][187][187] [146]"
  55. 1530 print" auto-      bank-      bekl-      beruf "
  56. 1540 print" comp-      leben      schec      sonst "
  57. 1550 print" tabak      vers-      wohn-      zeit-"
  58. 1560 cs$=""
  59. 1570 el=8:b$="":n$="tt.mm.jj"
  60. 1580 getez$:ifez$=chr$(167)thenrun
  61. 1590 ife$=""andez$=chr$(13)then1820
  62. 1600 ifez$=chr$(13)then1940
  63. 1610 ifez$=chr$(44)thenez$=chr$(46)
  64. 1620 ifez$=chr$(20)andlen(e$)<1then1580
  65. 1630 ifez$=chr$(20)thene$=left$(e$,len(e$)-1):goto1690
  66. 1640 ifez$>chr$(15)andez$<chr$(32)then1580
  67. 1650 ifez$>chr$(95)then1580
  68. 1660 e$=e$+ez$
  69. 1670 ifel=7orel=8theniflen(e$)=elthen1940
  70. 1680 iflen(e$)=elthen1830
  71. 1690 l=len(e$)
  72. 1700 printcs$;e$;mid$(n$,l+1,el-l);"        "
  73. 1710 printcs$;"";:fori=0tol:print" ";:next:print"[157]^         "
  74. 1720 goto1580
  75. 1730 print"":printcs$+e$+"        "
  76. 1740 ifel=8thenel=7:n$="*******":goto1790
  77. 1750 ifel=7thenel=12:n$="[187][187][187][187][187].......":goto1790
  78. 1760 ifel=12thenel=1:n$="*":goto1790
  79. 1770 ifel=1andk=1thenb$=b$+e$:dz=bn+10000
  80. 1780 ifel=1thenb$=b$+e$:goto5660
  81. 1790 b$=b$+e$:e$="":cs$=cs$+""
  82. 1800 ifel=1thencs$=cs$+""
  83. 1810 goto1690
  84. 1820 e$=left$("............",el)
  85. 1830 print"":printcs$;e$;" ok?<cr>[146]"
  86. 1840 ifel=8thenprint"[145]                         "
  87. 1850 ifel<>8thenprint"                         "
  88. 1860 si=54272:pokesi+7,109:pokesi+8,175:pokesi+11,33
  89. 1870 pokesi+12,0:pokesi+13,240:pokesi+24,15
  90. 1880 getef$:pokesi+11,0
  91. 1890 ifef$=chr$(167)thenrun
  92. 1900 ifef$=chr$(13)then1730
  93. 1910 ifef$=chr$(20)then1930
  94. 1920 goto1880
  95. 1930 e$=left$(e$,len(e$)-1):goto1690
  96. 1940 ifel<>7andel<>8thennl$="............"
  97. 1950 ifel<>7andel<>8thene$=left$(e$+nl$,el):goto1690
  98. 1960 zl=len(e$):fori=1tozl
  99. 1970 ifmid$(e$,i,1)="."andmid$(e$,i+1,1)="."then1990
  100. 1980 next:goto2000
  101. 1990 e$=left$(e$,i):goto1690
  102. 2000 fori=1tozl:mi$=mid$(e$,i,1)
  103. 2010 ifmi$<chr$(48)andmi$<>chr$(46)then2040
  104. 2020 ifmi$>chr$(57)then2040
  105. 2030 next:goto2050
  106. 2040 e$=left$(e$,i-1):goto1690
  107. 2050 ifel=8then2170
  108. 2060 vk=0:fori=1tozl:ifmid$(e$,i,1)="."then2080
  109. 2070 vk=vk+1:next
  110. 2080 nk=zl-vk-1:ifnk>2thene$=left$(e$,vk+1):goto1690
  111. 2090 vn$="0000.00"
  112. 2100 ifvk<=4thenvl=4-vk:nl=7-zl-vl
  113. 2110 ifvk<=4thene$=left$(vn$,vl)+e$+right$(vn$,nl)
  114. 2120 ifvk=5andzl=5thene$=e$+".0"
  115. 2130 ifvk=5andzl=6thene$=e$+"0"
  116. 2140 ifvk=6andzl=6thene$=e$+"."
  117. 2150 ifvk<=4andright$(e$,1)="."thene$=left$(e$,vk+1):goto1690
  118. 2160 goto1830
  119. 2170 iflen(e$)<8then1690
  120. 2180 ifleft$(e$,1)="."thene$="":goto1690
  121. 2190 ifmid$(e$,3,1)<>"."thene$="":goto1690
  122. 2200 ifmid$(e$,6,1)<>"."thene$=left$(e$,3):goto1690
  123. 2210 ifright$(e$,1)="."thene$=left$(e$,7):goto1690
  124. 2220 goto1830
  125. 2230 rem ************ a u s g a b e k r i t e r i e n ***********
  126. 2240 print"[147] ausgabekriterium ? [146]"
  127. 2250 print"  1 [146]  einn./ausg."
  128. 2260 print"  2 [146]  monat.jahr"
  129. 2270 print"  3 [146]  jahr"
  130. 2280 print"  4 [146]  tagesdatum"
  131. 2290 print"  5 [146]  betrag"
  132. 2300 print"  6 [146]  ber./artikel"
  133. 2310 print"  7 [146]  beleg-nr."
  134. 2320 print" <c=><m>[146]   menue"
  135. 2330 getkw$:ifkw$=chr$(167)thenrun
  136. 2340 ifval(kw$)<1orval(kw$)>7then2330
  137. 2350 ifkw$="6"thenk$="ber./artikel":n$="[187][187][187][187][187].......":goto2430
  138. 2360 ifkw$="7"thenkl=3:k$="beleg-nr.":n$="...":goto2920
  139. 2370 ifkw$="5"thenkl=7:k$="betrag":n$="*******"
  140. 2380 ifkw$="4"thenkl=8:k$="tagesdatum":n$="tt.mm.jj"
  141. 2390 ifkw$="3"thenkl=2:k$="jahr":n$="jj"
  142. 2400 ifkw$="2"thenkl=5:k$="monat.jahr":n$="mm.jj"
  143. 2410 ifkw$="1"thenkl=1:k$="einn./ausg.":n$="*"
  144. 2420 goto2520
  145. 2430 printchr$(18);"[147] ausgabekriterium  ";k$;" ":print:print
  146. 2440 print"  l [146]  auswahl v. li. waehlbar"
  147. 2450 print"  f [146]  auswahl nach  5 stellen"
  148. 2460 print"  z [146]  auswahl nach 12 stellen"
  149. 2470 print" <c=><m>[146]   menue"
  150. 2480 getzf$:ifzf$=chr$(167)thenrun
  151. 2490 ifzf$="z"orzf$="l"thenkl=12:goto2520
  152. 2500 ifzf$="f"thenkl=5:n$="[187][187][187][187][187]":goto2520
  153. 2510 goto2480
  154. 2520 printchr$(18);"[147] ausgabekriterium  ";k$;" ";zf$;" "
  155. 2530 cs$="":ifkl=3thencs$=cs$+""
  156. 2540 printcs$;n$:ifkw$<>"7"thenprint"":goto2600
  157. 2550 print"[145][145][145]beleg-nr."
  158. 2560 print"  letzte beleg-nr.: [146]";
  159. 2570 ifbl<10thenprintchr$(18);bl$;" "
  160. 2580 ifbl>9andbl<100thenprintchr$(18);bl$;" "
  161. 2590 ifbl>99thenprintchr$(18);"[157] ";bl$;" "
  162. 2600 print"<cr>[146]   weiter                       "
  163. 2610 print"<del>[146]  korrektur                    "
  164. 2620 print"<c=><m>[146]   menue"
  165. 2630 getaz$:ifaz$=chr$(167)thenrun
  166. 2640 iffw$="f"andaz$=chr$(13)then3040
  167. 2641 iffw$="f"andaz$=chr$(20)then2690
  168. 2642 iffw$="f"and(az$<chr$(48)oraz$>chr$(90))then2770
  169. 2643 iffw$="f"and(az$>chr$(57)andaz$<chr$(65))then2770
  170. 2650 ifzf$="l"andaz$=chr$(13)then3040
  171. 2660 ifv$=""andaz$=chr$(13)then3050
  172. 2670 ifaz$=chr$(13)then3140
  173. 2680 ifaz$=chr$(44)thenaz$=chr$(46)
  174. 2690 ifaz$=chr$(20)andlen(v$)<1then2630
  175. 2700 ifaz$=chr$(20)thenv$=left$(v$,len(v$)-1):goto2770
  176. 2710 ifaz$>chr$(15)andaz$<chr$(32)then2630
  177. 2720 ifez$>chr$(95)then2630
  178. 2730 v$=v$+az$
  179. 2740 ifkl=3andv$="000"thenv$="00"
  180. 2750 ifkw$="1"orkw$="6"orfw$="f"theniflen(v$)=klthen3060
  181. 2760 iflen(v$)=klthen3160
  182. 2770 l=len(v$)
  183. 2780 printcs$;v$;mid$(n$,l+1,kl-l);"         "
  184. 2790 printcs$;"";:fori=0tol:print" ";:next:print"[157]^            "
  185. 2800 goto2630
  186. 2810 printcs$+v$+nn$+"         ":print
  187. 2820 ifbw$="a"thenprint""
  188. 2830 print"  b [146]  bildschirmausgabe      "
  189. 2840 print"  p [146]  plotter- / drucker-   "
  190. 2850 print"      & bildschirmausgabe"
  191. 2860 print"<c=><m>[146]   menue "
  192. 2870 ifbw$="a"thenprint"[145][145][145][145][145][145][145][145][145][145][145][145]                    "
  193. 2880 getaw$:ifaw$=chr$(167)thenrun
  194. 2890 ifaw$="p"then5910
  195. 2900 ifaw$="b"then3660
  196. 2910 goto2880
  197. 2920 print"[147] ausgabekriterium  ";k$
  198. 2930 print" e [146]  einzelbeleg"
  199. 2940 print" b [146]  belegfolge"
  200. 2950 print" a [146]  alle belege"
  201. 2960 print"<c=><m>[146]   menue"
  202. 2970 getbw$:ifbw$=chr$(167)thenrun
  203. 2980 ifbw$="e"then2520
  204. 2990 ifbw$="b"then3520
  205. 3000 ifbw$="a"then3020
  206. 3010 goto2970
  207. 3020 k$="alle belege"
  208. 3030 print"";chr$(18);" ausgabekriterium  ";k$;" ":goto2810
  209. 3040 ifv$=""then2630
  210. 3045 nn$="                ":goto3060
  211. 3050 v$=left$("............",kl)
  212. 3060 print"":printcs$;v$;left$(nn$,kl-len(v$));" ok?<cr>[146]"
  213. 3070 print"                          "
  214. 3080 getaf$:ifaf$=chr$(167)thenrun
  215. 3090 ifaf$=chr$(20)then3130
  216. 3100 iffw$="f"andaf$=chr$(13)thenfi$=v$:goto5210
  217. 3110 ifaf$=chr$(13)then2810
  218. 3120 goto3080
  219. 3130 v$=left$(v$,len(v$)-1):goto2630
  220. 3140 ifkw$="1"orkw$="6"thennl$="............"
  221. 3150 ifkw$="1"orkw$="6"thenv$=left$(v$+nl$,kl):goto2770
  222. 3160 zl=len(v$):fori=1tozl
  223. 3170 ifmid$(v$,i,1)="."andmid$(v$,i+1,1)="."then3190
  224. 3180 next:goto3200
  225. 3190 v$=left$(v$,i):goto2770
  226. 3200 fori=1tozl:mi$=mid$(v$,i,1)
  227. 3210 ifmi$="."andkl=3then3250
  228. 3220 ifmi$<chr$(48)andmi$<>"."then3250
  229. 3230 ifmi$>chr$(57)then3250
  230. 3240 next:goto3260
  231. 3250 v$=left$(v$,i-1):goto2770
  232. 3260 ifkl=8then3410
  233. 3270 ifkl=5then3420
  234. 3280 ifkl=2then3430
  235. 3290 ifkl=3then3470
  236. 3300 vk=0:fori=1tozl:ifmid$(v$,i,1)="."then3320
  237. 3310 vk=vk+1:next
  238. 3320 nk=zl-vk-1:ifnk>2thenv$=left$(v$,vk+1):goto2770
  239. 3330 vn$="0000.00"
  240. 3340 ifvk<=4thenvl=4-vk:nl=7-zl-vl
  241. 3350 ifvk<=4thenv$=left$(vn$,vl)+v$+right$(vn$,nl)
  242. 3360 ifvk=5andzl=5thenv$=v$+".0"
  243. 3370 ifvk=5andzl=6thenv$=v$+"0"
  244. 3380 ifvk=6andzl=6thenv$=v$+"."
  245. 3390 ifvk<=4andright$(v$,1)="."thenv$="":goto2770
  246. 3400 goto3060
  247. 3410 ifmid$(v$,6,1)<>"."thenv$=left$(v$,3):goto2770
  248. 3420 ifmid$(v$,3,1)<>"."thenv$="":goto2770
  249. 3430 ifleft$(v$,1)="."thenv$="":goto2770
  250. 3440 ifright$(v$,1)="."thenv$=left$(v$,kl-1):goto2770
  251. 3450 iflen(v$)<klthen2770
  252. 3460 goto3060
  253. 3470 vn$="000"
  254. 3480 v$=left$(vn$,3-zl)+v$
  255. 3490 ifv$="000"thenv$="00":goto2770
  256. 3500 ifval(v$)>blthenv$="":goto2770
  257. 3510 goto3060
  258. 3520 cs$="":k$="belegfolge"
  259. 3530 print"";chr$(18);" ausgabekriterium  ";k$;" "
  260. 3540 print" von beleg-nr.:":goto4560
  261. 3550 ba$=sn$:sn$=""
  262. 3560 ifval(ba$)>blthenba$="":goto4730
  263. 3570 print"";chr$(18);" ausgabekriterium  ";k$;" ";ba$;" - "
  264. 3580 print" bis[146] beleg-nr.:":goto4560
  265. 3590 be$=sn$:sn$=""
  266. 3600 ifval(be$)<val(ba$)thenbe$="":goto4730
  267. 3610 v$=ba$+" - "+be$
  268. 3620 print"";chr$(18);" ausgabekriterium  ";k$;" ";v$;" "
  269. 3630 goto2810
  270. 3640 rem **** a u s g a b e  d r u c k e r  /  m o n i t o r ****
  271. 3650 open10,ga,0
  272. 3660 ifzf$<>"z"andzf$<>"l"then3720
  273. 3670 printchr$(18);"[147] ausgabekriterium  ";k$;" "
  274. 3680 printchr$(18);"                   ";v$;" "
  275. 3690 ifaw$="p"thenprint#10," ausgabekriterium  ";k$
  276. 3700 ifaw$="p"thenprint#10,"                   ";v$
  277. 3710 goto3740
  278. 3720 printchr$(18);"[147] ausgabekriterium  ";k$;" ";v$;" "
  279. 3730 ifaw$="p"thenprint#10," ausgabekriterium  ";k$;" ";v$
  280. 3740 ifbw$<>"b"thenprint
  281. 3750 ifaw$="p"thenprint#10,""
  282. 3760 print"bel. datum     betrag   ber./artikel  *":print
  283. 3770 ifaw$="p"thenprint#10,"bel. datum     betrag   ";
  284. 3780 ifaw$="p"thenprint#10,"ber./artikel  *":print#10,""
  285. 3790 fori=1to17
  286. 3800 readd$:ifd$="ende"then4080
  287. 3810 ifleft$(d$,2)="10"andmid$(d$,6,2)=""then3800
  288. 3820 ifi=1andba$=left$(d$,3)then3950
  289. 3830 ifi>1andbw$="b"then3950
  290. 3840 ifbw$="a"then3950
  291. 3850 ifkw$="1"andv$=mid$(d$,31,1)then3950
  292. 3860 ifkw$="2"andv$=mid$(d$,7,5)then3950
  293. 3870 ifkw$="3"andv$=mid$(d$,10,2)then3950
  294. 3880 ifkw$="4"andv$=mid$(d$,4,8)then3950
  295. 3890 ifkw$="5"andv$=mid$(d$,12,7)then3950
  296. 3900 ifkl=12andv$=mid$(d$,19,12)then3950
  297. 3910 ifkl=5andv$=mid$(d$,19,5)then3950
  298. 3920 ifzf$="l"andv$=mid$(d$,19,len(v$))then3950
  299. 3930 ifkw$="7"andv$=left$(d$,3)then3950
  300. 3940 goto3800
  301. 3950 d1$=left$(d$,3)+"  "
  302. 3960 d2$=mid$(d$,4,8)+"  "
  303. 3970 d3$=mid$(d$,12,7)+"  "
  304. 3980 d4$=mid$(d$,19,12)+"  "
  305. 3990 d5$=mid$(d$,31,1)+" "
  306. 4000 ifk=1thenreturn
  307. 4010 printd1$;d2$;d3$;d4$;d5$;
  308. 4020 ifaw$="p"thenprint#10,d1$;d2$;d3$;d4$;d5$
  309. 4030 ifd5$="- "thens=s-val(d3$):sa=sa+val(d3$)
  310. 4040 ifd5$="+ "thens=s+val(d3$):se=se+val(d3$)
  311. 4050 ifbe$=left$(d$,3)then4080
  312. 4060 ifi=17then4380
  313. 4070 next
  314. 4080 ifaw$="p"thenprint#10,""
  315. 4090 print
  316. 4100 print"kein (weiterer) beleg"
  317. 4110 print
  318. 4120 ifaw$="p"thenprint#10,"kein (weiterer) beleg"
  319. 4130 ifaw$="p"thenprint#10,""
  320. 4140 s=int(s*100+.5)/100:z$=str$(abs(s))
  321. 4150 ifs>0thenprintchr$(18);" haben: ";
  322. 4160 gosub4440:ifs>0thenprintspc(8-vk)z$;" "
  323. 4170 ifaw$="p"ands>0thenprint#10," haben dm: ";spc(8-vk)z$
  324. 4180 ifs<0thenprintchr$(18);" soll : ";spc(8-vk)z$;" "
  325. 4190 ifaw$="p"ands<0thenprint#10," soll  dm: ";spc(8-vk)z$
  326. 4200 ifs=0thenprintchr$(18);" einn. / ausg.  ausgeglichen "
  327. 4210 ifaw$="p"ands=0thenprint#10," einn. / ausg.  ausgeglichen "
  328. 4220 print:z$=""
  329. 4230 ifaw$="p"thenprint#10,""
  330. 4240 sa=int(sa*100+.5)/100:z$=str$(sa):gosub4440
  331. 4250 print" ausg.: ";spc(8-vk)z$;" ";
  332. 4260 ifaw$="p"thenprint#10," ausg. dm: ";spc(8-vk)z$
  333. 4270 z$="":ifaw$="p"thenprint#10,""
  334. 4280 se=int(se*100+.5)/100:z$=str$(se):gosub4440
  335. 4290 print" einn.: ";spc(8-vk)z$
  336. 4300 ifaw$="p"thenprint#10," einn. dm: ";spc(8-vk)z$
  337. 4310 z$="":ifaw$="p"thenfori=1to6:print#10,"":next
  338. 4320 close10
  339. 4330 print"  p [146]   ausdrucken";
  340. 4340 print"    <c=><m>[146]   menue"
  341. 4350 getaw$:ifaw$=chr$(167)thenrun
  342. 4360 ifaw$="p"thenrestore:s=0:sa=0:se=0:goto5910
  343. 4370 goto4350
  344. 4380 print"  ^ [146]   weiter";
  345. 4390 print"         <c=><m>[146]   menue"
  346. 4400 print
  347. 4410 getff$:ifff$=chr$(167)thenrun
  348. 4420 ifff$="^"theni=2:goto3800
  349. 4430 goto4410
  350. 4440 zl=len(z$):vk=0:nk=0
  351. 4450 fori=1tozl:ifmid$(z$,i,1)="."then4470
  352. 4460 vk=vk+1:next
  353. 4470 ifvk<zlthennk=zl-vk-1
  354. 4480 ifvk=zlthennk=0:z$=z$+".00"
  355. 4490 ifnk=1thenz$=z$+"0"
  356. 4500 return
  357. 4510 rem ****************** k o r r e k t u r *******************
  358. 4520 k=1:n$="..."
  359. 4530 cs$=""
  360. 4540 printchr$(18);"[147] welcher beleg soll korrigiert werden? "
  361. 4550 print" beleg-nr."
  362. 4560 restore:l=0:printcs$;n$;"                   "
  363. 4570 print" ";chr$(18);" letzte beleg-nr.: ";
  364. 4580 ifbl<10thenprintchr$(18);bl$;" ";
  365. 4590 ifbl>9andbl<100thenprintchr$(18);bl$;" ";
  366. 4600 ifbl>99thenprintchr$(18);bl$;" ";
  367. 4610 printchr$(146);"                "
  368. 4620 print" <cr>[146]   weiter       "
  369. 4630 print" <del>[146]  korrektur     "
  370. 4640 print" <c=><m>[146]   menue "
  371. 4650 getsz$:ifsz$=chr$(167)thenrun
  372. 4660 ifsz$=chr$(20)andlen(sn$)<1then4650
  373. 4670 ifsz$=chr$(20)thensn$=left$(sn$,len(sn$)-1):goto4730
  374. 4680 ifsz$=chr$(13)then4920
  375. 4690 ifsz$<chr$(48)orsz$>chr$(57)then4740
  376. 4700 sn$=sn$+sz$
  377. 4710 ifsn$="000"thensn$="00"
  378. 4720 iflen(sn$)=3then4960
  379. 4730 l=len(sn$)
  380. 4740 printcs$;sn$;mid$(n$,l+1,3-l);"        "
  381. 4750 printcs$;"";:fori=0tol:print" ";:next:print"[157]^    "
  382. 4760 goto4650
  383. 4770 readd$
  384. 4780 ifleft$(d$,2)="10"andmid$(d$,6,2)=""then4770
  385. 4790 ifsn$=left$(d$,3)then4830
  386. 4800 ifd$="ende"thenprint"  beleg nicht vorhanden [146]"
  387. 4810 ifd$="ende"thenprint:print:goto4860
  388. 4820 goto4770
  389. 4830 gosub3950
  390. 4840 printchr$(18)" ";d1$;d2$;d3$;d4$;"[157]";d5$
  391. 4850 print" n [146]  neueingabe"
  392. 4860 print" w [146]  weitersuchen  "
  393. 4870 ifd$="ende"thenprint"[145][145][145][145]                      "
  394. 4880 getkf$:ifkf$=chr$(167)thenrun
  395. 4890 ifkf$="n"thenbn=val(d1$):goto1350
  396. 4900 ifkf$="w"thensn$="":goto4560
  397. 4910 goto4880
  398. 4920 iflen(sn$)=2thensn$="0"+sn$
  399. 4930 iflen(sn$)=1thensn$="00"+sn$
  400. 4940 iflen(sn$)<1then4650
  401. 4950 ifsn$="000"thensn$="00":goto4730
  402. 4960 ifval(sn$)>blthensn$="":goto4730
  403. 4970 print"";cs$;sn$;" ok?<cr>[146]"
  404. 4980 print"                          "
  405. 4990 getsf$:ifsf$=chr$(167)thenrun
  406. 5000 ifsf$=chr$(20)then5060
  407. 5010 ifsf$=chr$(13)andk=1then5050
  408. 5020 ifsf$=chr$(13)andmw$="[134]"andba$=""then3550
  409. 5030 ifsf$=chr$(13)andmw$="[134]"andbe$=""then3590
  410. 5040 goto4990
  411. 5050 print"":printcs$+sn$+"         ":print:goto4770
  412. 5060 sn$=left$(sn$,len(sn$)-1):goto4650
  413. 5070 ifpeek(50307)=120then8000
  414. 5075 print"[147]          wahl des filenamens          [146]"
  415. 5080 print" bitte waehlen:"
  416. 5090 print"  h [146]  * haushaltsbelege *"
  417. 5100 print"  f [146]  * f i l e n a m e * , waehlbar"
  418. 5110 print" <c=><m>[146]   menue"
  419. 5120 getfw$:iffw$=chr$(167)thenrun
  420. 5130 iffw$="f"then5160
  421. 5140 iffw$="h"thenfi$="haushaltsbelege":goto5210
  422. 5150 goto5120
  423. 5160 print"        eingabe des filenamens         "
  424. 5170 print"     "
  425. 5180 kl=16:n$="................"
  426. 5190 goto2530
  427. 5200 rem **************** a b s p e i c h e r n *****************
  428. 5210 print"       wahl des speichermediums        [146]"
  429. 5220 iffw$="f"thenprint"";spc(21);"          "
  430. 5230 iffw$="h"thenprint"     haushaltsbelege"
  431. 5240 print"  b [146]  band                       "
  432. 5250 print"  d [146]  diskette                         "
  433. 5260 getsw$:ifsw$=chr$(167)thenrun
  434. 5270 ifsw$="d"then6100
  435. 5280 ifsw$="b"then6230
  436. 5290 goto5260
  437. 5300 print"[147]     arbeitscassette im recorder ?      [146]"
  438. 5310 print" <c=><m>[146]    menue"
  439. 5320 print" <s>[146]  save'";fi$;"',";ra:print
  440. 5330 getsp$:ifsp$=chr$(167)thenrun
  441. 5340 ifsp$=chr$(83)then5360
  442. 5350 goto5330
  443. 5360 savefi$,ra,1:print
  444. 5370 print"             verifizieren ?            [146]"
  445. 5380 print"  v [146]  verify, wenn zurueckgespult!"
  446. 5390 print" <c=><m>[146]   menue"
  447. 5400 getvf$:ifvf$=chr$(167)thenrun
  448. 5410 ifvf$="v"then5430
  449. 5420 goto5400
  450. 5430 iffw$="f"thenverifyfi$,ra
  451. 5440 fori=1to2000:next:run
  452. 5450 print"[147]     arbeitsdiskette im laufwerk ?      [146]"
  453. 5460 print"       floppy ist empfangsbereit      "
  454. 5470 print" <c=><m>[146]   menue"
  455. 5480 iffw$="f"then5500
  456. 5490 print" <s>[146]  save'@:haushaltsbelege',";fa:goto5510
  457. 5500 print" <s>[146]  save'";fi$;"',";fa
  458. 5510 getsp$:ifsp$=chr$(167)thenrun
  459. 5520 ifsp$="s"then5540
  460. 5530 goto5510
  461. 5540 iffw$="h"thensave"@:haushaltsbelege",fa
  462. 5550 iffw$="f"thensavefi$,fa
  463. 5560 gosub6300
  464. 5600 getvf$:ifvf$=chr$(167)thenrun
  465. 5620 goto5600
  466. 5650 rem ******** e i n g a b e u e b e r p r u e f u n g *********
  467. 5660 p1$=mid$(b$,13,1)
  468. 5670 p2$=right$(b$,1)
  469. 5680 ifp1$="."andp2$="+"then6400
  470. 5690 ifp1$="."andp2$="-"then6400
  471. 5700 ifp1$<>"."orp2$<>"+"orp2$<>"-"thenprint"[147]"
  472. 5710 print"r i c h t i g e"
  473. 5720 print"e i n g a b e   i n"
  474. 5730 print"b e l e g - n r .: ";bn$;"?"
  475. 5740 print"";chr$(18);"  ";left$(b$,8);"   ";mid$(b$,9,7);
  476. 5750 print"   ";chr$(18);mid$(b$,16,12);"   ";right$(b$,1);" "
  477. 5760 ifp1$<>"."andp2$<>"+"andp2$<>"-"thengoto5800
  478. 5770 ifp1$<>"."andp2$="+"thengoto5810
  479. 5780 ifp1$<>"."andp2$="-"thengoto5810
  480. 5790 ifp2$<>"+"andp2$<>"-"thengoto5820
  481. 5800 print"                 ^                    ^":goto5830
  482. 5810 print"                 ^":goto5830
  483. 5820 print"                                      ^"
  484. 5830 print" a [146]  ablage"
  485. 5840 print" n [146]  neueingabe"
  486. 5850 print"<c=><m>[146]   menue"
  487. 5860 getpf$:ifpf$=chr$(167)thenrun
  488. 5870 ifpf$="n"thene$="":goto1350
  489. 5880 ifpf$="a"then6400
  490. 5890 goto5860
  491. 5900 rem **** w a h l  d e r  g e r a e t e a d r e s s e n ****
  492. 5910 print"[147]        wahl der druckeradresse         [146]"
  493. 5920 print" bitte waehlen:"
  494. 5930 print"  4 [146]  drucker"
  495. 5940 print"  5 [146]  drucker"
  496. 5950 print"  6 [146]  plotter"
  497. 5960 print" <c=><m>[146]   menue"
  498. 5970 getga$:ifga$=chr$(167)thenrun
  499. 5980 ga=val(ga$)
  500. 5990 ifga<>4andga<>5andga<>6then5970
  501. 6000 iflen(ga$)=1then6020
  502. 6010 goto5970
  503. 6020 openga,ga:poke768,61
  504. 6030 print#ga:closega:poke768,139
  505. 6040 ifst<>-128then3650
  506. 6045 print""
  507. 6050 print"";
  508. 6060 printchr$(18);" geraeteadresse ";"[157]"ga;"[157] "
  509. 6070 print"";
  510. 6080 printchr$(18);" ist nicht empfangsbereit "
  511. 6090 goto5970
  512. 6100 print"        wahl der floppyadresse         [146]"
  513. 6110 print"  8 [146]  floppy    "
  514. 6120 print"  9 [146]  floppy    "
  515. 6130 getfa$:iffa$=chr$(167)thenrun
  516. 6140 fa=val(fa$)
  517. 6150 iffa<>8andfa<>9then6130
  518. 6160 iflen(fa$)=1thenpoke768,61
  519. 6170 poke144,0:open1,fa,0:close1:poke768,139
  520. 6180 ifst<>-128then5450
  521. 6185 print"[145]";
  522. 6190 print"";
  523. 6200 printchr$(18);" floppy ";"[157]"fa"[157] ist nicht "
  524. 6210 print"";
  525. 6220 printchr$(18);" empfangsbereit! ":print"[145]";:goto6130
  526. 6230 ifpeek(50307)=120then8000
  527. 6232 print"        wahl der recorderadresse        [146]"
  528. 6240 print"  1 [146]  normaltape"
  529. 6250 print"  7 [146]  supertape"
  530. 6260 getra$:ifra$=chr$(167)thenrun
  531. 6270 ra=val(ra$)
  532. 6272 ifra=7andpeek(817)=244then6500
  533. 6280 ifra<>1andra<>7then6260
  534. 6290 iflen(ra$)=1then5300
  535. 6300 open15,fa,15:input#15,mn,m$,mt,ms:close15
  536. 6310 ifmn=0then6330
  537. 6320 print"[147]            floppyfehlerkanal          [146]"
  538. 6330 print"";mn; m$;mt;ms:ifmn=0thenreturn
  539. 6340 print"  z [146]  zurueck zum 'save'"
  540. 6350 print" <c=><m>[146]   menue"
  541. 6360 getfk$:iffk$=chr$(167)thenrun
  542. 6370 iffk$="z"then6170
  543. 6380 goto6360
  544. 6390 rem *********** d a t a a u f b e r e i t u n g ************
  545. 6400 ifbn<10thend$=""+str$(bn)+"[157][157][157]00"+""+b$
  546. 6410 ifbn>9andbn<100thend$=""+str$(bn)+"[157][157][157]0"+""+b$
  547. 6420 ifbn=>100thend$=str$(bn)+b$
  548. 6425 print""
  549. 6430 print"[147][157]"dz"data"d$
  550. 6440 ifk=0thenprint"10000 data"dz
  551. 6450 print"run"
  552. 6460 poke631,19:poke632,13:poke633,13:poke634,13:poke198,4
  553. 6470 end
  554. 6500 print"":print"";
  555. 6502 printchr$(18);"supertape ist "
  556. 6510 print"";
  557. 6512 printchr$(18);"nicht aktiviert !!"
  558. 6520 goto6260
  559. 8000 print"[147]"
  560. 8010 print:print:print"     [144] das [146]input 64[146][144] - betriebssystem [146][154]"
  561. 8020 print:print"        befindet sich im rechner."
  562. 8030 print:print:print"zur zeit kann von diesem programm aus- "
  563. 8040 print"gehend nicht gespeichert werden."
  564. 8050 print
  565. 8060 print"dieses programm bitte erst mit ctrl s"
  566. 8070 print"auf ihren eigenen datentraeger     "
  567. 8080 print"abspeichern."
  568. 8970 poke214,20:poke211,2:sys58640
  569. 8980 print"bitte taste druecken!"
  570. 8990 getx$:ifx$=""then8990
  571. 9000 run
  572. 9990 rem ***************** d a t a a b l a g e ******************
  573. 10000 data 10000
  574. 11000 data ende
  575.