home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8506b.d64 / fakturierung (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  9KB  |  356 lines

  1. 10 REM ================================
  2. 15 REM =                              =
  3. 20 REM =  FAKTURIERUNG    20.03.1984  =
  4. 25 REM =                              =
  5. 30 REM ================================
  6. 35 REM =                              =
  7. 40 REM =  (C) HANS-ULLRICH SCHREIBER  =
  8. 45 REM =      HUMBOLDTSTRASSE    2 A  =
  9. 50 REM =        4950   M I N D E N    =
  10. 55 REM =                              =
  11. 60 REM =  TELEFON:      0571/4 93 60  =
  12. 65 REM =                              =
  13. 70 REM ================================
  14. 75 REM =                              =
  15. 80 REM =  COMMODORE 64 + FLOPPY 1541  =
  16. 85 REM =  MATRIXDRUCKER EPSON  RX 80  =
  17. 90 REM =  CENTRONICS INTERFACE  9200  =
  18. 92 REM =                              =
  19. 94 REM ================================
  20. 100 REM
  21. 110 REM -------------------------------
  22. 120 REM - ALLG. STEUERUNG             -
  23. 130 REM -------------------------------
  24. 140 REM
  25. 150 POKE 53280,0:POKE 53281,0
  26. 160 PRINT CHR$(147):PRINT CHR$(14)
  27. 170 CLR
  28. 180 DIM RT$(35)
  29. 300 REM
  30. 310 REM -------------------------------
  31. 320 REM - FORMULAR                    -
  32. 330 REM -------------------------------
  33. 340 REM
  34. 350 F$(1)="*****   [200][193][206][211]-[213][204][204][210][201][195][200][160][211][195][200][210][197][201][194][197][210]   *****"
  35. 360 F$(2)="       H.-U. SCHREIBER * HUMBOLDTSTR. 2 A * 4950 MINDEN"
  36. 370 F$(3)="       ------------------------------------------------"
  37. 380 F$(4)="     [210][197][195][200][206][213][206][199] [206][210]   "
  38. 390 F$(5)="=============================================="
  39. 500 REM
  40. 510 REM -------------------------------
  41. 520 REM - FESTWERTE                   -
  42. 530 REM -------------------------------
  43. 540 REM
  44. 550 ME(1)=0.14
  45. 560 C$=CHR$(13):D$=CHR$(32)
  46. 570 E$=CHR$(133)
  47. 580 L$="     "
  48. 590 LZ$="                                                                 "
  49. 600 F$(5)=L$+LEFT$(F$(5)+F$(5),82)
  50. 700 REM
  51. 705 REM -------------------------------
  52. 710 REM - DATA BEGRIFFE               -
  53. 715 REM -------------------------------
  54. 720 REM
  55. 725 FOR I=1 TO 5:READ AN$(I):NEXT
  56. 730 DATA "1) : ":DATA "2) : "
  57. 735 DATA "3) :[160]":DATA "4) : "
  58. 740 DATA "5) : "
  59. 745 REM
  60. 750 FOR I=1 TO 2:READ RN$(I):NEXT
  61. 755 DATA "RG-NR : "
  62. 760 DATA "DATUM : "
  63. 765 REM
  64. 770 FOR I=1 TO 2:READ LF$(I):NEXT
  65. 775 DATA "LFSCH :[146] ":DATA "DATUM :[146] "
  66. 780 REM
  67. 785 FOR I=1 TO 6:READ AR$(I):NEXT
  68. 790 DATA "MENGE    :[146] "
  69. 795 DATA "ME    :[146] "
  70. 800 DATA "ARTIKEL  :[146] "
  71. 805 DATA "EINZELPR :[146] "
  72. 810 DATA "GESAMTPR :[146] "
  73. 815 DATA "PE    :[146] "
  74. 820 REM
  75. 825 FOR I=1 TO 3:READ RB$(I):NEXT
  76. 830 DATA "WARENWERT : "
  77. 835 DATA "MWST 14 % : "
  78. 840 DATA "ENDBETRAG : "
  79. 1000 REM
  80. 1010 REM ------------------------------
  81. 1020 REM - PRG MASKE                  -
  82. 1030 REM ------------------------------
  83. 1035 REM
  84. 1040 PRINT CHR$(147)
  85. 1045 REM
  86. 1050 PRINT"***************************************"
  87. 1060 PRINT"*                                     *"
  88. 1070 PRINT"*    F A K T U R I E R U N G   1.1    *"
  89. 1080 PRINT"*                                     *"
  90. 1090 PRINT"***************************************"
  91. 1100 REM
  92. 1110 REM ------------------------------
  93. 1120 REM - ANSCHRIFT                  -
  94. 1130 REM ------------------------------
  95. 1140 REM
  96. 1145 FOR L=1 TO 3:PRINT:NEXT L
  97. 1150 PRINT"RECHNUNGSANSCHRIFT"
  98. 1160 PRINT"------------------"
  99. 1170 PRINT
  100. 1180 FOR I=1 TO 4:AS$(I)=""
  101. 1190 PRINT AN$(I);:INPUT AS$(I)
  102. 1200 IF AS$(I)="***" THEN END
  103. 1210 NEXT
  104. 1220 I=5:PRINT CHR$(17);
  105. 1230 PRINT AN$(I);:INPUT AS$(I)
  106. 1300 REM
  107. 1310 REM ------------------------------
  108. 1320 REM - RG DATEN                   -
  109. 1330 REM ------------------------------
  110. 1340 REM
  111. 1350 PRINT:PRINT
  112. 1360 FOR I=1 TO 2:RE$(I)=""
  113. 1370 PRINT CHR$(17);
  114. 1380 PRINT TAB(18) RN$(I);:INPUT RE$(I)
  115. 1385 IF RE$(I)="***" THEN 1040
  116. 1390 NEXT
  117. 1400 REM
  118. 1410 REM ------------------------------
  119. 1420 REM - LFSCH                      -
  120. 1430 REM ------------------------------
  121. 1440 REM
  122. 1450 PRINT CHR$(147)
  123. 1460 PRINT"LIEFERSCHEIN"
  124. 1470 PRINT"------------"
  125. 1480 PRINT
  126. 1490 I=1:LS$(1)=""
  127. 1500 PRINT LF$(1);:INPUT LS$(I)
  128. 1510 I=2:LS$(2)=""
  129. 1520 PRINT CHR$(145);
  130. 1530 PRINT TAB(24) LF$(I);:INPUT LS$(I)
  131. 1600 REM
  132. 1610 REM ------------------------------
  133. 1620 REM - ARTIKEL                    -
  134. 1630 REM ------------------------------
  135. 1640 REM
  136. 1650 FOR L=1 TO 3:PRINT:NEXT L
  137. 1660 PRINT"ARTIKELEINGABE"
  138. 1670 PRINT"--------------"
  139. 1680 PRINT
  140. 1690 I=1:AT$(I)=""
  141. 1700 PRINT AR$(I);:INPUT AT$(I)
  142. 1710 I=2:PRINT CHR$(145);
  143. 1720 PRINT TAB(24) AR$(I);:INPUT AT$(I)
  144. 1730 FOR I=3 TO 4:PRINT CHR$(17);
  145. 1740 PRINT AR$(I);:INPUT AT$(I):NEXT
  146. 1750 I=6:AT$(6)="":PRINT CHR$(145);
  147. 1760 PRINT TAB(24) AR$(I);:INPUT AT$(I)
  148. 1800 REM
  149. 1810 REM ------------------------------
  150. 1820 REM - VERZWEIGUNG 1              -
  151. 1830 REM ------------------------------
  152. 1840 REM
  153. 1850 FOR L=1 TO 3:PRINT:NEXT L
  154. 1860 PRINT"NEUER ARTIKEL -> 1   RECHNUNG ENDE -> 2[146]"
  155. 2000 REM
  156. 2010 REM ------------------------------
  157. 2020 REM - GESAMTPREIS                -
  158. 2030 REM ------------------------------
  159. 2040 REM
  160. 2050 IF AT$(6)>"3" OR AT$(6)="" THEN AT$(6)="0":GOTO 2090
  161. 2060 IF AT$(6)="1" THEN GP=VAL(AT$(1))*VAL(AT$(4))/10:GOTO 2100
  162. 2070 IF AT$(6)="2" THEN GP=VAL(AT$(1))*VAL(AT$(4))/100:GOTO 2100
  163. 2080 IF AT$(6)="3" THEN GP=VAL(AT$(1))*VAL(AT$(4))/1000:GOTO 2100
  164. 2090 IF AT$(6)="0" THEN GP=VAL(AT$(1))*VAL(AT$(4))
  165. 2100 REM
  166. 2110 GP=INT(GP*100+0.5)/100
  167. 2120 NZ$="":G=GP:GOSUB 30500:GP$=NZ$
  168. 2130 ZS=ZS+VAL(GP$)
  169. 2300 REM
  170. 2310 REM ------------------------------
  171. 2320 REM - GET                        -
  172. 2330 REM ------------------------------
  173. 2340 REM
  174. 2350 A$="":GET A$:IF A$="" THEN 2350
  175. 2360 IF A$<"1" OR A$>"2" THEN 2350
  176. 2500 REM
  177. 2510 REM ------------------------------
  178. 2520 REM - GOSUB                      -
  179. 2530 REM ------------------------------
  180. 2540 REM
  181. 2550 IF A$="2" THEN 2600
  182. 2560 REM
  183. 2570 GOSUB 31500:GOSUB 32000
  184. 2580 AT$(5)="":GOTO 1400
  185. 2590 REM
  186. 2600 GOSUB 31000:GOSUB 31500
  187. 2610 GOSUB 32000:GOSUB 32500
  188. 2620 GOSUB 33000:Z=0
  189. 2630 GOSUB 35000:GOTO 100
  190. 30000 REM
  191. 30010 REM =============================
  192. 30020 REM = ROUTINEN                  =
  193. 30030 REM =============================
  194. 30500 REM
  195. 30510 REM -----------------------------
  196. 30520 REM - NACHKOMMA / 0.00          -
  197. 30530 REM -----------------------------
  198. 30540 REM
  199. 30550 NZ$=STR$(G)
  200. 30560 IF LEFT$(RIGHT$(NZ$,3),1)= "." THEN 30590
  201. 30570 IF LEFT$(RIGHT$(NZ$,2),1)= "." THEN NZ$=NZ$+"0":GOTO 30590
  202. 30580 IF LEFT$(RIGHT$(NZ$,1),1)<>"." THEN NZ$=NZ$+".00"
  203. 30590 IF MID$(NZ$,2,1)="." THEN NZ$=LEFT$(NZ$,1)+"0"+MID$(NZ$,2,2)
  204. 30600 G$=STR$(G):G$="":G=VAL(G$)
  205. 30610 RETURN
  206. 31000 REM
  207. 31010 REM -----------------------------
  208. 31020 REM - AUFBAU ANSCHRIFT          -
  209. 31030 REM -----------------------------
  210. 31040 REM
  211. 31050 AS$(1)=L$+AS$(1):AS$(2)=L$+AS$(2)
  212. 31060 AS$(3)=L$+AS$(3):AS$(4)=L$+AS$(4)
  213. 31070 AS$(5)=L$+AS$(5)
  214. 31080 REM
  215. 31090 IF AS$(4)="" THEN 31120
  216. 31100 REM
  217. 31110 AS$=C$+AS$(1)+C$+AS$(2)+C$+AS$(3)+C$+AS$(4)+C$+C$+AS$(5):GOTO 31140
  218. 31120 AS$=AS$(1)+C$+AS$(2)+C$+AS$(3)+C$+C$+AS$(5)
  219. 31130 REM
  220. 31140 RE$=LEFT$((RE$(1)+LZ$),33)+RIGHT$(LZ$+RE$(2),35)
  221. 31150 RETURN
  222. 31500 REM
  223. 31510 REM -----------------------------
  224. 31520 REM - AUFBAU ZEILE              -
  225. 31530 REM -----------------------------
  226. 31540 REM
  227. 31550 IF LS$(1)="" AND LS$(2)="" THEN LS$=LEFT$(LZ$,16):GOTO 31600
  228. 31560 IF LS$(1)="" OR LS$(2)="" THEN LS$=LEFT$(LZ$,16):GOTO 31600
  229. 31570 REM
  230. 31580 LS$=L$+LEFT$(LS$(1),4)+D$+D$+LEFT$(LS$(2),5)
  231. 31590 REM
  232. 31600 AT$(1)=RIGHT$(LZ$+AT$(1),8)
  233. 31610 AT$(2)=LEFT$(AT$(2)+LZ$,4)
  234. 31620 AT$(3)=LEFT$(AT$(3)+LZ$,34)
  235. 31630 AT$(4)=RIGHT$(LZ$+AT$(4),8)
  236. 31640 AT$(5)=RIGHT$(LZ$+GP$,9)
  237. 31650 REM
  238. 31660 AT$=LS$+D$+D$+AT$(1)+D$+D$+AT$(2)+D$+D$+AT$(3)+D$+AT$(4)+D$+AT$(5)
  239. 31670 RETURN
  240. 32000 REM
  241. 32010 REM -----------------------------
  242. 32020 REM - AUFBAU TEXT               -
  243. 32030 REM -----------------------------
  244. 32040 REM
  245. 32050 Z=Z+1:RT$(Z)=RT$(Z)+AT$
  246. 32060 LS$="":AT$=""
  247. 32070 RETURN
  248. 32500 REM
  249. 32510 REM -----------------------------
  250. 32520 REM - SUMMENBILDUNG             -
  251. 32530 REM -----------------------------
  252. 32540 REM
  253. 32550 GP=VAL(GP$)
  254. 32560 G$=STR$(G):G$="":G=VAL(G$)
  255. 32570 NZ$="":G=ZS:GOSUB 30500:ZS$=NZ$
  256. 32580 ME=INT(ZS*ME(1)*100+0.5)/100
  257. 32590 NZ$="":G=ME:GOSUB 30500:ME$=NZ$
  258. 32600 SU=ZS+ME
  259. 32610 NZ$="":G=SU:GOSUB 30500:SU$=NZ$
  260. 32620 REM
  261. 32630 ZS$=RIGHT$(L$+ZS$,9)
  262. 32640 ME$=RIGHT$(L$+ME$,9)
  263. 32650 SU$=RIGHT$(L$+SU$,9)
  264. 32700 REM
  265. 32710 REM -----------------------------
  266. 32720 REM - SUMMENTEXT                -
  267. 32730 REM -----------------------------
  268. 32740 REM
  269. 32750 ST$(1)=RB$(1)+LEFT$(LZ$,10)+ZS$
  270. 32760 ST$(2)=RB$(2)+LEFT$(LZ$,10)+ME$
  271. 32770 ST$(3)=RB$(3)+LEFT$(LZ$,10)+SU$
  272. 32780 REM
  273. 32790 ST$(1)=LEFT$(LZ$,56)+ST$(1)
  274. 32800 ST$(2)=LEFT$(LZ$,56)+ST$(2)
  275. 32810 ST$(3)=LEFT$(LZ$,56)+ST$(3)
  276. 32820 REM
  277. 32830 RETURN
  278. 33000 REM
  279. 33010 REM -----------------------------
  280. 33020 REM - ZAHLUNGSBED.              -
  281. 33030 REM -----------------------------
  282. 33040 REM
  283. 33050 FOR L=1 TO 3:PRINT:NEXT L
  284. 33060 PRINT"2% SKONTO     -> 1   3% SKONTO     -> 2[146]"
  285. 33100 REM
  286. 33110 REM -----------------------------
  287. 33120 REM - GET                       -
  288. 33130 REM -----------------------------
  289. 33140 REM
  290. 33150 A$="":GET A$:IF A$="" THEN 33150
  291. 33160 IF A$=CHR$(13) THEN 33200
  292. 33170 IF A$<"1" OR A$>"2" THEN 33150
  293. 33200 REM
  294. 33210 REM -----------------------------
  295. 33220 REM - ZB TEXTE                  -
  296. 33230 REM -----------------------------
  297. 33240 REM
  298. 33250 ZB$(1)="ZAHLUNG :   "
  299. 33260 ZB$(2)="NACH ERHALT - OHNE ABZUG"
  300. 33270 ZB$(3)="INNERHALB  8 TAGEN "
  301. 33280 ZB$(4)="INNERHALB 30 TAGEN NETTO KASSE"
  302. 33290 ZB$(5)="MIT 2% SKONTO"
  303. 33300 ZB$(6)="MIT 3% SKONTO"
  304. 33310 REM
  305. 33320 IF A$=CHR$(13) THEN ZB$=ZB$(1)+ZB$(2):GOTO 33360
  306. 33330 IF A$="1" THEN ZB$=ZB$(1)+ZB$(3)+ZB$(5)+C$+LEFT$(LZ$,34)+ZB$(4)
  307. 33340 IF A$="2" THEN ZB$=ZB$(1)+ZB$(3)+ZB$(6)+C$+LEFT$(LZ$,34)+ZB$(4)
  308. 33350 REM
  309. 33360 ZB$=LEFT$(LZ$,22)+ZB$
  310. 33370 RETURN
  311. 35000 REM
  312. 35010 REM -----------------------------
  313. 35020 REM - PRINT DRUCKER             -
  314. 35030 REM -----------------------------
  315. 35040 REM
  316. 35050 CLOSE 4:OPEN 4,4
  317. 35060 PRINT#4,CHR$(27);"C";CHR$(0);CHR$(12);
  318. 35070 PRINT#4,CHR$(27);"J";CHR$(110);
  319. 35080 PRINT#4,CHR$(27);"P";
  320. 35090 PRINT#4,CHR$(27);"G";
  321. 35100 PRINT#4,CHR$(27);"W";CHR$(1);
  322. 35110 PRINT#4,F$(1)
  323. 35120 PRINT#4,CHR$(27);"W";CHR$(0);
  324. 35130 PRINT#4,CHR$(27);"H";
  325. 35140 PRINT#4,CHR$(27);"J";CHR$(120);
  326. 35150 PRINT#4,CHR$(27);"P";
  327. 35160 PRINT#4,CHR$(27);CHR$(15);
  328. 35170 PRINT#4,F$(2)
  329. 35180 PRINT#4,F$(3)
  330. 35190 PRINT#4,CHR$(27);"M";
  331. 35200 PRINT#4,AS$
  332. 35210 PRINT#4,CHR$(27);"J";CHR$(110);
  333. 35215 PRINT#4,F$(5)
  334. 35220 PRINT#4,CHR$(27);"G";
  335. 35230 PRINT#4,F$(4);
  336. 35240 PRINT#4,CHR$(27);"H";
  337. 35250 PRINT#4,CHR$(27);"M";
  338. 35260 PRINT#4,RE$
  339. 35265 PRINT#4,F$(5)
  340. 35270 PRINT#4,CHR$(27);"J";CHR$(20);
  341. 35280 Z=Z+1:IF RT$(Z)="" THEN 35300
  342. 35290 PRINT#4,RT$(Z):GOTO 35280
  343. 35300 PRINT#4,CHR$(27);"J";CHR$(60);
  344. 35310 PRINT#4,ST$(1)
  345. 35320 PRINT#4,ST$(2)
  346. 35330 PRINT#4,CHR$(27);"J";CHR$(15);
  347. 35340 PRINT#4,CHR$(27);"G";
  348. 35350 PRINT#4,ST$(3)
  349. 35360 PRINT#4,CHR$(27);"H";
  350. 35370 PRINT#4,CHR$(27);"J";CHR$(110);
  351. 35380 PRINT#4,ZB$
  352. 35390 PRINT#4,CHR$(07);
  353. 35400 PRINT#4,CHR$(12);
  354. 35410 PRINT#4,CHR$(27);CHR$(64)
  355. 35420 CLOSE 4:RETURN
  356.