home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 28 / Commodore_Disc_28_19xx_-_de.d64 / main (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  18KB  |  646 lines

  1. 100 rem ******************************
  2. 110 rem *                            *
  3. 120 rem * bestandsliste              *
  4. 130 rem *                            *
  5. 140 rem ******************************
  6. 150 poke53281,0:poke53280,0
  7. 160 print "[147]";
  8. 161 dimwa$(269),wa%(269),wu(269),li$(255),fe(5,71),e$(6)
  9. 170 close2:open2,8,2,"lieferanten,u,r"
  10. 171 fori=0to255
  11. 172 input#2,li$(i):ifli$(i)="_"thenli$(i)=""
  12. 173 next
  13. 174 close2
  14. 177 close2:open2,8,2,"waren,u,r"
  15. 178 fori=0to269
  16. 179 input#2,wa$(i):ifwa$(i)="_"thenwa$(i)=""
  17. 180 input#2,wa%(i)
  18. 181 next
  19. 182 close2
  20. 183 re$=""
  21. 184 do$=""
  22. 499 goto1030
  23. 500 print"";:return
  24. 501 gosub500:print"----------------------------------------";:goto508
  25. 502 gosub501:print"[205]onat:";mo$;ja%
  26. 503 print"[215]arenteil:"wa$;:return
  27. 504 gosub501:print"[194]itte waehlen":return
  28. 505 gosub501:print"[194]itte eingeben":return
  29. 506 gosub501:print"[194]itte [196]atendisk einlegen"
  30. 507 print"und eine [212]aste [196]ruecken!";:return
  31. 508 print"                                        ";
  32. 509 print"                                       ";:gosub500:print"";:return
  33. 600 rem --- einlesen ---
  34. 610 close1:open1,8,15,"i"
  35. 620 close2:open2,8,2,"[194]estandsliste,l,"+chr$(7)
  36. 630 pl%=(wa%*70-69)-256*int((wa%*70-69)/256):ph%=int((wa%*70-69)/256)
  37. 640 print#1,"p"+chr$(2)+chr$(pl%)+chr$(ph%)+chr$(1)
  38. 650 input#2,ub$
  39. 660 ei%=asc(left$(ub$,1))
  40. 665 ifei%>70thengosub501:print"[197]intrag nicht gueltig!!":ei%=255:goto790
  41. 670 fort=1toei%:p=t-1
  42. 680 pl%=(wa%*70-69+p)-256*int((wa%*70-69+p)/256):ph%=int((wa%*70-69+p)/256)
  43. 690 print#1,"p"+chr$(2)+chr$(pl%)+chr$(ph%)+chr$(1)
  44. 695 fory=1to6:get#2,e$(y):e$(y)=e$(y)+chr$(0):next
  45. 710 fe(0,t)=asc(e$(1))
  46. 720 fe(1,t)=asc(e$(2)):fe(2,t)=0:fe(3,t)=0
  47. 730 fe%=2:a=asc(e$(3)):if(a and128)=128thenfe%=3
  48. 740 fe(fe%,t)=asc(e$(4))+(a and127)*256
  49. 750 fe(4,t)=asc(e$(5))+asc(e$(6))/100
  50. 760 next:fe(5,1)=fe(2,1)
  51. 761 fort=2tofe(0,1)
  52. 770 fe(5,t)=fe(5,t-1)+fe(2,t)-fe(3,t)
  53. 780 next
  54. 790 close2:close1
  55. 820 return
  56. 1000 rem *****************************
  57. 1010 rem * hauptmenu                 *
  58. 1020 rem *****************************
  59. 1030 print"[147]"tab(14)"[200]auptmenue:"
  60. 1040 printtab(14)"[163][163][163][163][163][163][163][163][163][163][163]"
  61. 1050 print"          (1) [215]arenliste"
  62. 1060 print"          (2) [204]ieferantenliste"
  63. 1070 print"          (3) [194]estandsliste"
  64. 1080 print"          (4) [196]iskettenarbeiten"
  65. 1090 gosub504
  66. 1100 geta$:ifa$=""then1100
  67. 1110 ifa$="1"then1210
  68. 1120 ifa$="2"then1310
  69. 1130 ifa$="3"then1410
  70. 1140 ifa$="4"then1510
  71. 1170 goto1030
  72. 1200 rem --- warenliste ---
  73. 1210 print"[147]"tab(14)"[215]arenliste:"
  74. 1211 printtab(14)"[163][163][163][163][163][163][163][163][163][163][163]"
  75. 1212 print"       (1) [215]arenliste erweitern"
  76. 1213 print"       (2) [215]arenteil loeschen"
  77. 1214 print"       (3) [215]arenliste ausdrucken"
  78. 1215 print"       (_) [200]auptmenue"
  79. 1217 gosub504
  80. 1218 geta$:ifa$=""then1218
  81. 1219 ifa$="1"then11030
  82. 1220 ifa$="2"then12030
  83. 1221 ifa$="3"then13030
  84. 1224 ifa$="_"then1030
  85. 1225 goto1218
  86. 1300 rem --- lieferantenliste ---
  87. 1310 print"[147]"tab(11)"[204]ieferantenliste:"
  88. 1311 printtab(11)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  89. 1312 print"    (1) [204]ieferantenliste erweitern"
  90. 1313 print"    (2) [204]ieferant loeschen"
  91. 1314 print"    (3) [204]ieferantenliste ausdrucken"
  92. 1315 print"    (_) [200]auptmenue"
  93. 1317 gosub504
  94. 1318 geta$:ifa$=""then1318
  95. 1319 ifa$="1"then21030
  96. 1320 ifa$="2"then22030
  97. 1321 ifa$="3"then23030
  98. 1324 ifa$="_"then1030
  99. 1325 goto1318
  100. 1400 rem --- bestandsliste ---
  101. 1410 print"[147]"tab(12)"[194]estandsliste:"
  102. 1411 printtab(12)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  103. 1413 print"    (1) [194]estandsliste aendern"
  104. 1414 print"    (2) [194]estandsliste(n) ausdrucken"
  105. 1415 print"    (_) [200]auptmenue"
  106. 1417 gosub504
  107. 1418 geta$:ifa$=""then1418
  108. 1419 ifa$="1"then31030
  109. 1420 ifa$="2"then32030
  110. 1424 ifa$="_"then1030
  111. 1425 goto1418
  112. 1500 rem --- diskettenarbeiten ---
  113. 1510 print"[147]"tab(10)"[196]iskettenarbeiten:"
  114. 1511 printtab(10)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  115. 1512 print"  (1) [206]eue [196]atendisk initialisieren"
  116. 1513 print"  (2) [196]iskettenbefehl ([211]iehe [196]os)"
  117. 1514 print"  (3) [213]ebertrag herstellen"
  118. 1515 print"  (_) [200]auptmenue"
  119. 1517 gosub504
  120. 1518 geta$:ifa$=""then1518
  121. 1519 ifa$="1"then41030
  122. 1520 ifa$="2"then42030
  123. 1521 ifa$="3"then43030
  124. 1524 ifa$="_"then1030
  125. 1525 goto1518
  126. 11000 rem *****************************
  127. 11010 rem * warenliste erweitern      *
  128. 11020 rem *****************************
  129. 11030 print"[147]":gosub505:print"[215]arenliste erweitern"
  130. 11040 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  131. 11050 print"[215]ie soll der [215]arenteil heissen ?"
  132. 11060 print"('_' + '[210][197][212][213][210][206]' = zurueck)"
  133. 11070 print">:";
  134. 11080 close1:open1,0
  135. 11090 input#1,wa$:ifwa$="_"thenclose1:goto11290
  136. 11100 print:print"[215]arengruppe(1-256):";
  137. 11110 input#1,wa%
  138. 11120 close1:print
  139. 11130 rem
  140. 11140 i%=0
  141. 11150 i%=i%+1:ifwa$(i%-1)=""then11220
  142. 11160 ifi%=271thenprint"kein [208]latz mehr frei!!":wait198,1:poke198,0:goto1210
  143. 11170 ifwa$<>wa$(i%-1)then11150
  144. 11180 print"[215]arenteil besteht bereits unter"
  145. 11190 print"[195]odenummer"i%"."
  146. 11200 print"[194]itte [212]aste druecken !"
  147. 11210 poke198,0:wait198,1:poke198,0:goto11030
  148. 11220 wa$(i%-1)=wa$
  149. 11230 wa%(i%-1)=wa%
  150. 11240 print
  151. 11250 print"[196]er neue [215]arenteil erhaelt"
  152. 11260 print"die [195]odenummer"i%"."
  153. 11270 print"[194]itte [212]aste druecken !":poke198,0:wait198,1:poke198,0
  154. 11280 goto11030
  155. 11290 gosub501:print"[194]itte [208]rogramm-[196]iskette einlegen "
  156. 11300 print"und eine [212]aste druecken !![145][145][145]"
  157. 11310 poke198,0:wait198,1:poke198,0
  158. 11320 close2:close15:open15,8,15:open2,8,2,"waren,u,r":input#15,en,er$,et,es
  159. 11330 close2:close15:ifen=62then11290
  160. 11340 close2:open2,8,2,"@:waren,u,w"
  161. 11350 fori=0to269
  162. 11360 au$=wa$(i):ifau$=""thenau$="_"
  163. 11370 print#2,au$
  164. 11380 print#2,wa%(i)
  165. 11390 next
  166. 11400 close2
  167. 11410 goto1210
  168. 12000 rem *****************************
  169. 12010 rem * warenteil loeschen        *
  170. 12020 rem *****************************
  171. 12030 print"[147]":gosub504:print"[215]arenliste loeschen"
  172. 12040 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  173. 12050 print"(_ = zurueck,l = loeschen)"
  174. 12060 print"(+ = abwaerts,- = aufwaerts,[211][200][201][198][212]=+- 10)"
  175. 12070 z=1:w=1
  176. 12080 print"";
  177. 12090 fort=1to12:print"                                       ":next
  178. 12100 print"";
  179. 12110 fort=ztoz+11
  180. 12120 au$=wa$(t-1)
  181. 12130 ifau$=""thenau$="nicht belegt"
  182. 12140 print"  "right$("   "+mid$(str$(t),2),3)" ";au$:next
  183. 12150 print"";
  184. 12160 fort=ztow:print"";:next
  185. 12170 print"*[157]";
  186. 12180 geta$:ifa$=""then12180
  187. 12190 ifa$="_"then12290
  188. 12200 ifa$="+"thenw=w+1:ifw>270thenw=270
  189. 12210 ifa$="[219]"thenw=w+10:ifw>270thenw=270
  190. 12220 ifw>z+11thenz=z+12:ifz>259thenz=259
  191. 12230 ifa$="-"thenw=w-1:ifw<1thenw=1
  192. 12240 ifa$="[221]"thenw=w-10:ifw<1thenw=1
  193. 12250 ifw<zthenz=z-12:ifz<1thenz=1
  194. 12260 ifa$<>"l"then12080
  195. 12270 wa$(w-1)="":wa%(w-1)=0
  196. 12280 goto12080
  197. 12290 gosub501:print"[194]itte [208]rogramm-[196]iskette einlegen "
  198. 12300 print"und eine [212]aste druecken !![145][145][145]"
  199. 12310 poke198,0:wait198,1:poke198,0
  200. 12320 close2:close15:open15,8,15:open2,8,2,"waren,u,r":input#15,en,er$,et,es
  201. 12330 close2:close15:ifen=62then12290
  202. 12340 close2:open2,8,2,"@:waren,u,w"
  203. 12350 fori=0to269
  204. 12360 au$=wa$(i):ifau$=""thenau$="_"
  205. 12370 print#2,au$
  206. 12380 print#2,wa%(i)
  207. 12390 next
  208. 12400 close2
  209. 12410 goto1210
  210. 13000 rem *****************************
  211. 13010 rem * warenliste ausdrucken     *
  212. 13020 rem *****************************
  213. 13030 print"[147]":gosub501:print"[215]arenliste ausdrucken":w=0:de=4
  214. 13040 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  215. 13050 print"[194]itte [196]rucker anschalten,"
  216. 13060 print"und [212]aste druecken!"
  217. 13070 poke198,0:wait198,1:poke198,0
  218. 13080 close4:open4,4,7
  219. 13090 close4
  220. 13100 if(stand-128)=-128andw=0thenw=1:print"[145][145][145][145]";:goto13050
  221. 13110 if(stand-128)=-128andw=1thende=3
  222. 13120 close4:open4,de,7
  223. 13130 print#4,"[195]odenummer / [215]are"
  224. 13140 print#4,"-----------/----------------------------":ii=0
  225. 13141 fori=0to259:ifii<wa%(i)thenii=wa%(i)
  226. 13142 next
  227. 13145 fori=1toii
  228. 13146 ja=0
  229. 13150 fort=1to270
  230. 13155 ifnot(i=wa%(t-1))then13200
  231. 13156 ifja=0thenprint#4
  232. 13157 ifja=0thenprint#4,"[215]arengruppe"i
  233. 13158 ifja=0thenprint#4
  234. 13160 print#4,right$("        "+mid$(str$(t),2),8)"   / ";
  235. 13170 ifwa$(t-1)=""thenau$="nicht belegt"
  236. 13180 ifwa$(t-1)<>""thenau$=wa$(t-1)
  237. 13190 print#4,au$:ja=1
  238. 13200 next:next
  239. 13210 print#4,chr$(12);:close4:goto1210
  240. 21000 rem *****************************
  241. 21010 rem * lieferliste erweitern     *
  242. 21020 rem *****************************
  243. 21030 print"[147]":gosub505:print"[204]ieferantenliste erweitern"
  244. 21040 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][163]"
  245. 21050 print"[215]ie soll der [204]ieferant heissen ?"
  246. 21060 print"('_' + '[210][197][212][213][210][206]' = zurueck)"
  247. 21070 print">:";
  248. 21080 close1:open1,0
  249. 21090 input#1,li$
  250. 21100 close1:print
  251. 21110 ifli$="_"then21260
  252. 21120 i%=0
  253. 21130 i%=i%+1:ifli$(i%-1)=""then21200
  254. 21140 ifi%=257thenprint"kein [208]latz mehr rei!!":wait198,1:poke198,0:goto1310
  255. 21150 ifli$<>li$(i%-1)then21130
  256. 21160 print"[204]ieferant besteht bereits unter"
  257. 21170 print"[195]odenummer"i%"."
  258. 21180 print"[194]itte [212]aste druecken !"
  259. 21190 poke198,0:wait198,1:poke198,0:goto21030
  260. 21200 li$(i%-1)=li$
  261. 21210 print
  262. 21220 print"[196]er neue [204]ieferant erhaelt"
  263. 21230 print"die [195]odenummer"i%"."
  264. 21240 print"[194]itte [212]aste druecken !":poke198,0:wait198,1:poke198,0
  265. 21250 goto21030
  266. 21260 gosub501:print"[194]itte [208]rogramm-[196]iskette einlegen "
  267. 21270 print"und eine [212]aste druecken !![145][145][145]"
  268. 21280 poke198,0:wait198,1:poke198,0
  269. 21290 close2:close15:open15,8,15:open2,8,2,"waren,u,r":input#15,en,er$,et,es
  270. 21300 close2:close15:ifen=62then21260
  271. 21310 close2:open2,8,2,"@:lieferanten,u,w"
  272. 21320 fori=0to255
  273. 21330 au$=li$(i):ifau$=""thenau$="_"
  274. 21340 print#2,au$
  275. 21350 next
  276. 21360 close2
  277. 21370 goto1310
  278. 22000 rem *****************************
  279. 22010 rem * lieferant loeschen        *
  280. 22020 rem *****************************
  281. 22030 print"[147]":gosub504:print"[204]ieferant loeschen"
  282. 22040 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  283. 22050 print"(_ = zurueck,l = loeschen)"
  284. 22060 print"(+ = abwaerts,- = aufwaerts,[211][200][201][198][212]=+- 10)"
  285. 22070 z=1:w=1
  286. 22080 print"";
  287. 22090 fort=1to12:print"                                       ":next
  288. 22100 print"";
  289. 22110 fort=ztoz+11
  290. 22120 au$=li$(t-1)
  291. 22130 ifau$=""thenau$="nicht belegt"
  292. 22140 print"  "right$("   "+mid$(str$(t),2),3)" ";au$:next
  293. 22150 print"";
  294. 22160 fort=ztow:print"";:next
  295. 22170 print"*[157]";
  296. 22180 geta$:ifa$=""then22180
  297. 22190 ifa$="_"then22290
  298. 22200 ifa$="+"thenw=w+1:ifw>256thenw=256
  299. 22210 ifa$="[219]"thenw=w+10:ifw>256thenw=256
  300. 22220 ifw>z+11thenz=z+12:ifz>245thenz=245
  301. 22230 ifa$="-"thenw=w-1:ifw<1thenw=1
  302. 22240 ifa$="[221]"thenw=w-10:ifw<1thenw=1
  303. 22250 ifw<zthenz=z-12:ifz<1thenz=1
  304. 22260 ifa$<>"l"then22080
  305. 22270 li$(w-1)=""
  306. 22280 goto22080
  307. 22290 gosub501:print"[194]itte [208]rogramm-[196]iskette einlegen "
  308. 22300 print"und eine [212]aste druecken !![145][145][145]"
  309. 22310 poke198,0:wait198,1:poke198,0
  310. 22320 close2:close15:open15,8,15:open2,8,2,"waren,u,r":input#15,en,er$,et,es
  311. 22330 close2:close15:ifen=62then22290
  312. 22340 close2:open2,8,2,"@:lieferanten,u,w"
  313. 22350 fori=0to255
  314. 22360 au$=li$(i):ifau$=""thenau$="_"
  315. 22370 print#2,au$
  316. 22390 next
  317. 22400 close2
  318. 22410 goto1310
  319. 23000 rem *****************************
  320. 23010 rem * lieferanten ausdrucken    *
  321. 23020 rem *****************************
  322. 23030 print"[147]":gosub501:print"[204]ieferantenliste ausdrucken":w=0:de=4
  323. 23040 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][163][163]"
  324. 23050 gosub501:print"[194]itte [196]rucker einschalten"
  325. 23060 print"und [212]aste druecken!";
  326. 23070 poke198,0:wait198,1:poke198,0
  327. 23080 close4:open4,4,7
  328. 23090 close4
  329. 23100 if(st and-128)=-128andw=0thenw=1:goto23050
  330. 23110 if(st and-128)=-128andw=1thende=3
  331. 23120 close4:open4,de,7
  332. 23130 print#4,"[195]odenummer / [204]ieferant"
  333. 23140 print#4,"-----------/----------------------------"
  334. 23150 fort=1to256
  335. 23160 ifli$(t-1)=""then23200
  336. 23170 print#4,right$("        "+mid$(str$(t),2),8)"   / ";
  337. 23180 ifli$(t-1)<>""thenau$=li$(t-1)
  338. 23190 print#4,au$
  339. 23200 next
  340. 23210 print#4,chr$(12);:close4:goto1310
  341. 31000 rem *****************************
  342. 31010 rem * bestand aendern           *
  343. 31020 rem *****************************
  344. 31030 print"[147]":gosub505:print"[194]estandsliste aendern"
  345. 31040 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  346. 31050 print"[194]itte [215]are oder [195]odenummer eingeben"
  347. 31055 print"_ = zurueck"
  348. 31060 print">:";
  349. 31070 close1:open1,0
  350. 31080 input#1,na$
  351. 31090 print:close1:ifna$="_"then1410
  352. 31091 wa%=val(na$):ifwa%>0andwa%<271then31098
  353. 31092 t=-1
  354. 31093 t=t+1:ifwa$(t)=na$thenwa%=t+1:goto31098
  355. 31094 ift<269then31093
  356. 31095 print"[198]alsche [195]odenummer oder [215]arenname!!":gosub501
  357. 31096 print"[194]itte [212]aste [196]ruecken!!";:poke198,0:wait198,1:poke198,0:goto31030
  358. 31098 gosub506:poke198,0:wait198,1:poke198,0
  359. 31099 close1:open1,8,15
  360. 31100 close2:open2,8,2,"datum,u,r"
  361. 31101 input#1,en,e$,et,es
  362. 31102 ifen<>0thenclose1:close2:goto31098
  363. 31103 input#2,mo$,ja%,mo%:close2:close1
  364. 31104 gosub610
  365. 31105 ifei%<255then31170
  366. 31110 fort=0to5
  367. 31111 forr=0to70:fe(t,r)=0:next:next:fe(0,1)=1:gosub31120:goto31160
  368. 31120 print"[147]da [204]ieferant zu/ab [197]preis [199]espreis [194]est.";
  369. 31130 print"----------------------------------------"
  370. 31140 gosub501:print"_=zurueck,crsr=auf,ab"
  371. 31150 print"e=eintragen,l=loeschen";:return
  372. 31160 rem
  373. 31170 z%=1:s%=3:ma%=fe(0,1):ifma%>70thenma%=1
  374. 31180 zz%=1:vo%=1
  375. 31200 ifvo%<1thenvo%=1
  376. 31201 ifvo%>70thenvo%=70
  377. 31203 bi%=vo%+15:ifbi%>ma%thenbi%=ma%
  378. 31205 fort=2toma%:fe(5,t)=fe(5,t-1)+fe(2,t)-fe(3,t):next
  379. 31210 gosub31120:print"";
  380. 31220 fort=vo%tobi%
  381. 31221 da$="**":za$="*****":ep$="******":gp$="********"
  382. 31230 iffe(0,t)<>0thenda$=right$("  "+mid$(str$(fe(0,t)),2),2):ift=1thenda$="**"
  383. 31240 li$=right$("         "+li$(abs(fe(1,t)-1)),9):ift=1thenli$="[213]ebertrag"
  384. 31250 iffe(2,t)<>0thenza$="+":fe%=2
  385. 31260 iffe(3,t)<>0thenza$="-":fe%=3
  386. 31265 ifli$="         "orza$="-"thenli$="*********"
  387. 31270 iffe(fe%,t)<>0thenza$=za$+right$("    "+mid$(str$(fe(fe%,t)),2),4)
  388. 31280 iffe(4,t)<>0thenep$=right$("      "+mid$(str$(fe(4,t)),2),6)
  389. 31290 iffe(4,t)<>0thengp$=right$("        "+mid$(str$(fe(2,t)*fe(4,t)),2),8)
  390. 31300 be$=right$("     "+str$(fe(5,t)),5)
  391. 31310 ift=1thenza$="*****":ep$="******":gp$="********"
  392. 31320 printda$" "li$" "za$" "ep$" "gp$" "be$;
  393. 31330 next
  394. 31340 print"";left$(do$,z%+1);left$(re$,14);"[157][157]>";
  395. 31350 geta$:ifa$=""then31350
  396. 31351 print"[157] ";
  397. 31360 ifa$<>""then31370
  398. 31361 z%=z%+1:zz%=zz%+1:ifzz%>ma%+1thenzz%=zz%-1:z%=z%-1
  399. 31362 ifz%>15thenz%=15:vo%=vo%+1:goto31200
  400. 31363 goto31340
  401. 31370 ifa$<>"[145]"then31400
  402. 31371 z%=z%-1:zz%=zz%-1:ifzz%<1thenzz%=zz%+1:z%=z%+1
  403. 31372 ifz%<1thenz%=1:vo%=vo%-1:goto31200
  404. 31373 goto31340
  405. 31400 ifa$<>"l"then31408
  406. 31401 gosub501:print"[211]icher(j/n)?":poke198,0
  407. 31402 geta$:ifa$<>"j"anda$<>"n"then31402
  408. 31403 ifa$<>"j"then31200
  409. 31404 ifzz%=1orzz%=ma%+1then31200
  410. 31405 ma%=ma%-1
  411. 31406 forl=zz%to70:fore=0to6:fe(e,l)=fe(e,l+1):next:next:goto31200
  412. 31408 ifa$<>"e"anda$<>"+"anda$<>"-"then31450
  413. 31409 ifa$="+"thenpoke631,asc("+"):poke198,1
  414. 31410 ifa$="-"thenpoke631,asc("-"):poke198,1
  415. 31411 ifzz%=1thena$="[194]estand:"
  416. 31412 ifzz%>1thena$="[218]u/[193]bgang(+/-):"
  417. 31413 gosub501:printa$;:close5:open5,0:input#5,ei$:close5
  418. 31414 za=val(ei$)
  419. 31415 ifzz%=1thenfe(5,1)=za:fe(2,1)=za:goto31200
  420. 31416 ifza<0thenfe(3,zz%)=abs(za)
  421. 31417 gosub501:print"[196]atum:";:close5:open5,0:input#5,ei$:close5
  422. 31418 fe(0,zz%)=val(ei$):ifza>0thenfe(2,zz%)=abs(za)
  423. 31419 ifza>0then31423
  424. 31420 ifzz%=ma%+1thenma%=ma%+1:ifma%>70thengosub501:print"[204]etzter [197]intrag!!"
  425. 31421 ifma%>70then:poke198,0:wait198,1:ma%=52:poke198,0
  426. 31422 goto31200
  427. 31423 gosub501:print"[197]preis:";:close5:open5,0:input#5,ei$:close5
  428. 31424 fe(4,zz%)=val(ei$)
  429. 31426 gosub501:print"[204]ieferant:";:close5:open5,0:input#5,ei$:close5
  430. 31427 li%=val(ei$):ifli%>0andli%<256then31432
  431. 31428 t=-1
  432. 31429 t=t+1:ifli$(t)=ei$thenli%=t+1:goto31432
  433. 31430 ift<255then31429
  434. 31431 li%=0
  435. 31432 fe(1,zz%)=li%
  436. 31433 ifzz%=ma%+1thenma%=ma%+1:ifma%>70thengosub501:print"[204]etzter [197]intrag!!"
  437. 31434 ifma%>70then:poke198,0:wait198,1:ma%=52:poke198,0
  438. 31435 goto31200
  439. 31450 ifa$<>"_"then31340
  440. 31500 close1:open1,8,15
  441. 31510 close2:open2,8,2,"datum,u,r"
  442. 31520 input#1,en,e$,et,es
  443. 31530 ifen<>0thenclose2:close1:gosub506:wait198,1:poke198,0:goto31500
  444. 31540 close1:close2:open1,8,15
  445. 31550 close2:open2,8,2,"[194]estandsliste,l,"+chr$(7)
  446. 31555 fe(0,1)=ma%
  447. 31560 fort=1toma%:p=t-1
  448. 31570 pl%=(wa%*70-69+p)-256*int((wa%*70-69+p)/256):ph%=int((wa%*70-69+p)/256)
  449. 31580 au$=chr$(fe(0,t))+chr$(fe(1,t))
  450. 31590 fe%=3
  451. 31600 iffe(2,t)<>0thenfe%=2
  452. 31610 a1%=int(fe(fe%,t)/256)
  453. 31620 a2%=fe(fe%,t)-256*int(fe(fe%,t)/256)
  454. 31630 iffe%=3thena1%=a1%or 128
  455. 31640 au$=au$+chr$(a1%)+chr$(a2%)
  456. 31650 a1%=int(fe(4,t))
  457. 31660 a2=fe(4,t)-int(fe(4,t))
  458. 31661 a2$=mid$(str$(a2)+"00",3,2)
  459. 31662 a2%=val(a2$)
  460. 31663 au$=au$+chr$(a1%)+chr$(a2%)
  461. 31690 print#1,"p"+chr$(2)+chr$(pl%)+chr$(ph%)+chr$(1)
  462. 31700 print#2,au$
  463. 31710 next
  464. 31720 close2:close1:goto1410
  465. 32000 rem *****************************
  466. 32010 rem * bestand(e) ausdrucken     *
  467. 32020 rem *****************************
  468. 32030 print"[147]":gosub505:print"[194]estandsliste(n) ausdrucken
  469. 32040 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
  470. 32050 [153]"peekitte (NULL)are oder lenodenummer eingeben"
  471. 32055 [153]"_ = zurueck"
  472. 32060 [153]"von>:";
  473. 32070 [160]1:[159]1,0
  474. 32080 [132]1,na$
  475. 32090 [153]:[160]1:[139]na$[178]"_"[167]1410
  476. 32091 vo%[178][197](na$):[139]vo%[177]0[175]vo%[179]271[167]32100
  477. 32092 t[178][171]1
  478. 32093 t[178]t[170]1:[139]wa$(t)[178]na$[167]vo%[178]t[170]1:[137]32100
  479. 32094 [139]t[179]269[167]32093
  480. 32095 [153]"ascalsche lenodenummer oder (NULL)arenname!!":[141]501
  481. 32096 [153]"peekitte (NULL)aste str$ruecken!!";:[151]198,0:[146]198,1:[151]198,0:[137]32030
  482. 32100 [153]"bis>:";
  483. 32110 [160]1:[159]1,0
  484. 32120 [132]1,na$
  485. 32130 [153]:[160]1:[139]na$[178]"_"[167]1410
  486. 32140 bi%[178][197](na$):[139]bi%[177]0[175]bi%[179]271[167]32200
  487. 32150 t[178][171]1
  488. 32160 t[178]t[170]1:[139]wa$(t)[178]na$[167]bi%[178]t[170]1:[137]32200
  489. 32170 [139]t[179]269[167]32160
  490. 32180 [153]"ascalsche lenodenummer oder (NULL)arenname!!":[141]501
  491. 32190 [153]"peekitte (NULL)aste str$ruecken!!";:[151]198,0:[146]198,1:[151]198,0:[137]31030
  492. 32200 [141]501:[153]"peekitte str$rucker anschalten,"
  493. 32210 [153]"und (NULL)aste druecken!";
  494. 32220 [151]198,0:[146]198,1:[151]198,0
  495. 32230 [160]4:[159]4,4,7
  496. 32240 [160]4:de[178]4
  497. 32250 [139](st[175][171]128)[178][171]128[175]w[178]0[167]w[178]1:[137]32200
  498. 32260 [139](st[175][171]128)[178][171]128[175]w[178]1[167]de[178]3
  499. 32270 [160]4:[159]4,de,7
  500. 32271 [141]506:[151]198,0:[146]198,1:[151]198,0
  501. 32272 [160]1:[159]1,8,15
  502. 32273 [160]2:[159]2,8,2,"datum,u,r"
  503. 32274 [132]1,en,e$,et,es
  504. 32275 [139]en[179][177]0[167][160]1:[160]2:[137]32271
  505. 32276 [132]2,mo$,ja%,mo%:[160]2:[160]1
  506. 32280 [129]q[178]vo%[164]bi%::wa%[178]q:[141]610
  507. 32285 [139]ei%[178]255[167]32540
  508. 32290 [152]4,[199](27);[199](64);
  509. 32300 [152]4,"(NULL)arenteil : ";wa$(q[171]1)
  510. 32310 [152]4,"(NULL)arengruppe:";wa%(q[171]1)
  511. 32320 [152]4,[199](27);[199](77)
  512. 32330 [152]4,"str$atum   (NULL)ieferant            (NULL)ugang   atnbgang   ";
  513. 32340 [152]4,"valinzelpreis chr$esammtpreis peekestand"
  514. 32350 [152]4,"*****   (NULL)ebertrag            ******   ******   ";
  515. 32360 [152]4,"*********** ************ ";[202]([196](fe(5,1)),2)
  516. 32370 [139]fe(0,1)[179]2[167]32520
  517. 32380 [129]r[178]2[164]fe(0,1)
  518. 32390 da$[178][202]([196](fe(0,r)),2)[170]"."[170][202]([196](mo%),2)
  519. 32400 da$[178][200](da$[170]"        ",8)
  520. 32410 li$[178][200](li$([182](fe(1,r)[171]1))[170]"                     ",21)
  521. 32411 [139]fe(2,r)[178]0[167]li$[178]"                     "
  522. 32420 zu$[178][200]([202]([196](fe(2,r)),2)[170]"         ",9)
  523. 32430 [139]fe(2,r)[178]0[167]zu$[178]"******   "
  524. 32440 ab$[178][200]([202]([196](fe(3,r)),2)[170]"         ",9)
  525. 32450 [139]fe(3,r)[178]0[167]ab$[178]"******   "
  526. 32460 ep$[178][200]([202]([196](fe(4,r)),2)[170]"            ",12)
  527. 32470 [139]fe(4,r)[178]0[167]ep$[178]"*********** "
  528. 32480 gp$[178][200]([202]([196](fe(2,r)[172]fe(4,r)),2)[170]"             ",13)
  529. 32490 [139]fe(2,r)[178]0[167]gp$[178]"************ "
  530. 32500 be$[178][202]([196](fe(5,r)),2)
  531. 32510 [152]4,da$;li$;zu$;ab$;ep$;gp$;be$
  532. 32520 [130]
  533. 32530 [152]4,[199](12);
  534. 32540 [130]:[160]4:[137]1410
  535. 41000 [143] *****************************
  536. 41010 [143] * neue datendisk            *
  537. 41020 [143] *****************************
  538. 41030 [153]"load":[141]504
  539. 41040 [153]"(NULL)eue (NULL)onatsdiskette:":h1%[178]mo%:mo%[178]0
  540. 41050 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
  541. 41060 [153]"(a) mid$anuar"
  542. 41070 [153]"(b) ascebruar"
  543. 41080 [153]"(c) (NULL)aerz"
  544. 41090 [153]"(d) atnpril"
  545. 41100 [153]"(e) (NULL)ai"
  546. 41110 [153]"(f) mid$uni"
  547. 41120 [153]"(g) mid$uli"
  548. 41130 [153]"(h) atnugust"
  549. 41140 [153]"(i) (NULL)eptember"
  550. 41150 [153]"(j) (NULL)ktober"
  551. 41160 [153]"(k) (NULL)ovember"
  552. 41170 [153]"(l) str$ezember"
  553. 41180 [153]"(_) zurueck"
  554. 41190 [161]a$:[139]a$[178]""[167]41190
  555. 41200 [139]a$[178]"_"[167]mo%[178]h1%:[137]41500
  556. 41210 [139]a$[178]"a"[167]mo$[178]"mid$anuar":mo%[178]1
  557. 41220 [139]a$[178]"b"[167]mo$[178]"ascebruar":mo%[178]2
  558. 41230 [139]a$[178]"c"[167]mo$[178]"(NULL)aerz":mo%[178]3
  559. 41240 [139]a$[178]"d"[167]mo$[178]"atnpril":mo%[178]4
  560. 41250 [139]a$[178]"e"[167]mo$[178]"(NULL)ai":mo%[178]5
  561. 41260 [139]a$[178]"f"[167]mo$[178]"mid$uni":mo%[178]6
  562. 41270 [139]a$[178]"g"[167]mo$[178]"mid$uli":mo%[178]7
  563. 41280 [139]a$[178]"h"[167]mo$[178]"atnugust":mo%[178]8
  564. 41290 [139]a$[178]"i"[167]mo$[178]"(NULL)eptember":mo%[178]9
  565. 41300 [139]a$[178]"j"[167]mo$[178]"(NULL)ktober":mo%[178]10
  566. 41310 [139]a$[178]"l"[167]mo$[178]"str$ezember":mo%[178]12
  567. 41320 [139]mo%[178]0[167]41190
  568. 41330 [133]"mid$ahr (2 (NULL)iffern):";ja$
  569. 41340 ja%[178][197]([200](ja$,2))
  570. 41350 [141]501:[153]"peekitte eine leere formatierte str$iskette"
  571. 41360 [153]"einlegen und eine (NULL)aste druecken !!onon"
  572. 41370 [151]198,0:[146]198,1:[151]198,0
  573. 41380 [160]1:[159]1,8,15,"n:"[170]mo$[170][196](ja%):[160]1
  574. 41390 [160]2:[159]2,8,2,"@:datum,u,w"
  575. 41400 [152]2,mo$
  576. 41410 [152]2,ja%
  577. 41420 [152]2,mo%
  578. 41430 [160]2
  579. 41440 [160]1:[159]1,8,15,"i"
  580. 41450 [160]2:[159]2,8,2,"peekestandsliste,l,"[170][199](7)
  581. 41460 [152]1,"p"[170][199](2)[170][199](212)[170][199](73)[170][199](1)
  582. 41470 [152]2,[199](255)
  583. 41480 [132]1,en,er$,et,es
  584. 41490 [160]2:[160]1
  585. 41500 [137]1510
  586. 42000 [143] *****************************
  587. 42010 [143] * diskettenbefehl           *
  588. 42020 [143] *****************************
  589. 42030 [153]"load":[141]505:[153]"str$iskettenbefehl     "
  590. 42040 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
  591. 42050 [153]"(NULL)ie soll der str$iskettenbefehl lauten ?"
  592. 42060 [153]"('_' + '(NULL)val(NULL)(NULL)(NULL)(NULL)' = zurueck)"
  593. 42070 [153]">";:[151]631,34:[151]198,1
  594. 42080 [160]1:[159]1,0
  595. 42090 [132]1,be$
  596. 42100 [160]1:[153]
  597. 42110 [139]be$[178]"_"[167]42190
  598. 42120 [160]1:[159]1,8,15,be$
  599. 42130 [132]1,en,er$,et,es
  600. 42140 [153]"str$iskettenstatus:"
  601. 42150 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
  602. 42160 [153]en;er$;et;es
  603. 42170 [153]"(NULL)aste druecken!"
  604. 42180 [151]198,0:[146]198,1:[151]198,0
  605. 42190 [137]1510
  606. 43000 [143] *****************************
  607. 43010 [143] * uebertrag hestellen       *
  608. 43020 [143] *****************************
  609. 43030 [153]"load":[141]505:[153]"(NULL)ebertrag herstellen"
  610. 43040 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
  611. 43050 [141]501:[153]"peekitte die str$iskette des (NULL)ormonats ein-"
  612. 43060 [153]"legen, und (NULL)aste druecken!";
  613. 43070 [151]198,0:[146]198,1:[151]198,0
  614. 43080 [160]2:[160]1:[159]1,8,15:[159]2,8,2,"datum,u,r"
  615. 43090 [132]1,en,er$,et,es
  616. 43100 [139]en[179][177]0[167][160]2:[160]1:[137]43050
  617. 43105 [132]2,mo$,ja%,mo%
  618. 43110 [160]2:[160]1
  619. 43120 [129]b[178]1[164]270:[139]wa$(b[171]1)[178]""[167]wu(b[171]1)[178][171][255]:[137]43170
  620. 43130 wa%[178]b:[141]610
  621. 43140 [153]"(NULL)arenteil:";wa$(b[171]1)"                                     "
  622. 43150 [139]ei%[179][177]255[167]wu(b[171]1)[178]fe(5,fe(0,1))
  623. 43160 [139]ei%[178]255[167]wu(b[171]1)[178][171][255]
  624. 43170 [130]
  625. 43180 [143]
  626. 43190 [141]501:[153]"peekitte die str$iskette des (NULL)achmonats ein-"
  627. 43200 [153]"legen, und (NULL)aste druecken!";
  628. 43210 [151]198,0:[146]198,1:[151]198,0
  629. 43220 [160]2:[160]1:[159]1,8,15:[159]2,8,2,"datum,u,r"
  630. 43230 [132]1,en,er$,et,es
  631. 43240 [139]en[179][177]0[167][160]2:[160]1:[137]43190
  632. 43245 [132]2,mo$,j1%,m1%:[139]j1%[178]ja%[175]m1%[178]mo%[167][160]2:[160]1:[137]43190
  633. 43250 [160]2:[159]2,8,2,"peekestandsliste,l,"[170][199](7)
  634. 43270 [129]t[178]1[164]270
  635. 43280 [139]wu(t[171]1)[178][171][255][167]43370
  636. 43290 [153]"(NULL)arenteil:";wa$(t[171]1)"                                     "
  637. 43300 pl%[178](t[172]70[171]69)[171]256[172][181]((t[172]70[171]69)[173]256):ph%[178][181]((t[172]70[171]69)[173]256)
  638. 43310 [152]1,"p"[170][199](2)[170][199](pl%)[170][199](ph%)[170][199](1)
  639. 43320 au$[178][199](1)[170][199](128)
  640. 43330 a1%[178]wu(t[171]1)[173]256
  641. 43340 a2%[178]wu(t[171]1)[171][181](wu(t[171]1)[173]256)[172]256
  642. 43350 au$[178]au$[170][199](a1%)[170][199](a2%)[170][199](0)[170][199](0)
  643. 43360 [152]2,au$
  644. 43370 [130]
  645. 43380 [160]2:[160]1:[137]1510
  646.