home *** CD-ROM | disk | FTP | other *** search
/ M.u.C.S. Disc 2000 / MUCS2000.iso / sigisoft / paket__1 / arti.bas < prev    next >
BASIC Source File  |  1997-10-09  |  24KB  |  495 lines

  1. 1 WIDTH 80
  2. 3 DIM A$(500,9)
  3. 4 GOTO 185
  4. 12 LOCATE 20,1: PRINT string$(80,45)
  5. 13 LOCATE 21,1: PRINT "                  KEINE ARTIKEL DATEN IM SPEICHER     BELIEBIGE TASTE           "
  6. 14 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOTO 110
  7. 15 LOCATE 20,1: PRINT string$(80,45)
  8. 16 LOCATE 21,1: PRINT "                       ARTIKELDATEN WERDEN EINGELESEN                           "
  9. 17 LOCATE 22,1: PRINT string$(80,45): RETURN
  10. 20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),95):Z2=0:Y=1
  11. 21 LOCATE R,S:PRINT ZZ$;
  12. 22 LOCATE R,S+Y-1
  13. 23 Z$=INKEY$: IF Z$="" THEN 23 ELSE Z=ASC(Z$): Z1=0: IF Z=0 THEN Z1=ASC(RIGHT$(Z$,1))
  14. 24 IF Z<>13 THEN 28 ELSE IF Z2 >0 THEN 23
  15. 25 IF Y=1   THEN  ZZ$=CHR$(13): RETURN
  16. 26 IF RIGHT$(ZZ$,1)="_" THEN ZZ$=LEFT$(ZZ$,INSTR(ZZ$,"_")-1)
  17. 27 RETURN
  18. 28 IF Z<>0 THEN 48
  19. 29 IF Z1<>71 THEN 31 ELSE IF Y=1 OR Z2 THEN 23
  20. 30 Y=1:GOTO 22
  21. 31 IF Z1<>75 THEN 33 ELSE IF Y=1 OR Z2 THEN 23
  22. 32 Y=Y-1:GOTO 22
  23. 33 REM
  24. 34 Y=Y+1:GOTO 22
  25. 35 IF Z1<>79 THEN 39 ELSE IF Y>L OR Z2 THEN 23
  26. 36 IF MID$(ZZ$,Y,1)="_" THEN 23
  27. 37 Y=Y+1
  28. 38 IF MID$(ZZ$,Y,1)="_" THEN 22 ELSE 37
  29. 39 IF Z1<>82 THEN 42 ELSE IF RIGHT$(ZZ$,1)<>"_" THEN 23
  30. 40 IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  31. 41 ZZ$=LEFT$(ZZ$,Y-1)+"_"+MID$(ZZ$,Y,L-Y):Z2=Z2+1:GOTO 21
  32. 42 IF Z1<>83 THEN 44 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  33. 43 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+MID$(ZZ$,Y+1)+"_":GOTO 21
  34. 44 IF Z1<>117 THEN 46 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  35. 45 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+STRING$(L-Y+1,95):GOTO 21
  36. 46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
  37. 47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,95):Y=1:GOTO 21
  38. 48 IF Z<>8 THEN 50 ELSE IF Y=1 THEN 23
  39. 49 ZZ$=LEFT$(ZZ$,Y-2)+MID$(ZZ$,Y)+"_":Y=Y-1:GOTO 21
  40. 50 IF Z<>27 THEN 51 ELSE ZZ$=STRING$(L,95):Y=1:Z2=0: GOTO 21
  41. 51 IF Z=95 OR Y>L OR Z=44 OR Z=34 THEN 23
  42. 52 ON PK% GOTO 55,53,54
  43. 53 IF Z<46 OR Z>58 THEN 23 ELSE 55
  44. 54 IF Z<>106 AND Z<>110 THEN 23
  45. 55 IF Z=44 THEN 23 ELSE GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+Z$+MID$(ZZ$,Y+1):PRINT Z$;:Y=Y+1:GOTO 22
  46. 56 IF Z2 THEN Z2=Z2-1
  47. 57 RETURN
  48. 60 CLS
  49. 61 LOCATE 2,1: PRINT string$(80,45)
  50. 62 LOCATE 3,1: PRINT SPACE$(29)+"A R T I K E L - S T A M M  "+SPACE$(24)
  51. 63 LOCATE 4,1: PRINT SPACE$(27)+"(c) 1991 by Siegfried Hübner"+SPACE$(26)
  52. 64 LOCATE 5,1: PRINT string$(80,45): RETURN
  53. 65 LOCATE 20,1: PRINT string$(80,45)
  54. 66 LOCATE 21,1: PRINT "                       ARTIKELDATEN WERDEN ABGESPEICHERT                        "
  55. 67 LOCATE 22,1: PRINT string$(80,45): RETURN
  56. 70 LOCATE 19,1: PRINT  SPACE$(80): PP=1: LOCATE 20,1: PRINT string$(80,45)
  57. 71 LOCATE 21,1: PRINT "             MINDESTENS 1 ZEICHEN KORRIGIEREN UND RETURN DRÜCKEN                "
  58. 72 LOCATE 22,1: PRINT string$(80,45): RETURN
  59. 75  LOCATE 19,1: PRINT SPACE$(80): LOCATE 20,1: PRINT string$(80,45)
  60. 76  LOCATE 21,1: PRINT "    DRUCKER EINSCHALTEN + TASTE = D           ZUM HAUPTMENÜ TASTE = H           "
  61. 77  LOCATE 22,1: PRINT string$(80,45)
  62. 78  E$=INKEY$: IF E$="" THEN 78
  63. 79 IF E$="D" OR E$="d" THEN GOSUB 85: RETURN
  64. 80 IF E$="H" OR E$="h" THEN 100
  65. 81 GOTO 78
  66. 85  LOCATE 20,1: PRINT string$(80,45)
  67. 86  LOCATE 21,1: PRINT "                  DRUCKER IN BETRIEB            BITTE WARTEN                    "
  68. 87  LOCATE 22,1: PRINT string$(80,45): RETURN
  69. 90  LOCATE 20,1: PRINT string$(80,45)
  70. 91  LOCATE 21,1: PRINT "                            BELIEBIGE TASTE DRÜCKEN                             "
  71. 92  LOCATE 22,1: PRINT string$(80,45)
  72. 93 E$=INKEY$: IF E$="" THEN 93
  73. 94 RETURN
  74. 100 GOSUB 60
  75. 104 LOCATE  8,27: PRINT "[ 1 ] EINGABE     DER DATEN"
  76. 105 LOCATE 10,27: PRINT "[ 2 ] AUSGABE     DER DATEN"
  77. 106 LOCATE 12,27: PRINT "[ 3 ] SUCHEN      DER DATEN"
  78. 107 LOCATE 14,27: PRINT "[ 4 ] LISTEN      DER DATEN"
  79. 108 LOCATE 16,27: PRINT "[ 5 ] AUSDRUCK    DER DATEN"
  80. 109 LOCATE 18,27: PRINT "[ 6 ] SPEICHERN   DER DATEN"
  81. 110 LOCATE 20,1: PRINT string$(80,45)
  82. 111 LOCATE 21,1: PRINT "      HAUPTMENÜ =  H                                         ABBRUCH =  A ";TAB(81)
  83. 112 LOCATE 22,1: PRINT string$(80,45)
  84. 113 LOCATE 3,3: PRINT "ARTIKEL-DATEN :";A
  85. 120 E$=INKEY$: IF E$="" THEN 120
  86. 121 IF E$="1" THEN 2000
  87. 122 IF E$="2" THEN GOSUB 140: GOTO 400
  88. 123 IF E$="3" THEN GOSUB 140: GOTO 700
  89. 124 IF E$="4" THEN GOSUB 140: GOTO 840
  90. 125 IF E$="5" THEN GOSUB 140: GOTO 900
  91. 126 IF E$="H" OR E$="h" THEN GOTO 180
  92. 127 IF E$="A" OR E$="a" THEN 170
  93. 128 IF E$="6" THEN GOSUB 150: GOSUB 380: GOTO 110
  94. 129 GOTO 120
  95. 140 IF A=0 THEN GOSUB 390: RETURN
  96. 141 RETURN
  97. 150 IF A=0 THEN 12
  98. 151 RETURN
  99. 160 LOCATE 20,1: PRINT string$(80,45)
  100. 161 LOCATE 21,1: PRINT "             DATENDISKETTE IN LAUFWERK :                                        "
  101. 162 LOCATE 22,1: PRINT string$(80,45)
  102. 163 ZZ$="": R=21: S=43: L=1: PK%=1: GOSUB 20: B$=ZZ$
  103. 164 IF B$=CHR$(13) THEN BEEP: GOSUB 168: GOTO 163
  104. 165 IF B$="A" OR B$="a" OR B$="B" OR B$="b" OR B$="C" OR B$="c" or B$="D" or b$="d" THEN 167
  105. 166 BEEP: GOSUB 168: GOTO 163
  106. 167 GOTO 100
  107. 168 LOCATE 21,50: PRINT "EINGABEN A,B,C ODER D": RETURN
  108. 170 LOCATE 20,1: PRINT string$(80,45)
  109. 171 LOCATE 21,1: PRINT "                                SICHER  (J/N)  ?                                "
  110. 172 LOCATE 22,1: PRINT string$(80,45)
  111. 173 E$=INKEY$: IF E$="" THEN 173
  112. 174 IF E$="j" OR E$="J" THEN CLS: END
  113. 175 GOTO 110
  114. 180 LOCATE 20,1: PRINT string$(80,45)
  115. 181 LOCATE 21,1: PRINT "                           HAUPTMENÜ WIRD GELADEN                               "
  116. 182 LOCATE 22,1: PRINT string$(80,45)
  117. 183 RUN "MENUE"
  118. 185 LOCATE 20,1: PRINT string$(80,45)
  119. 186 LOCATE 21,1: PRINT "                        HEUTIGES DATUM :    .  .19                              "
  120. 187 LOCATE 22,1: PRINT string$(80,45)
  121. 188 ZZ$="": R=21: S=43: L=2: PK%=2: GOSUB 20: D1$=ZZ$
  122. 189 IF D1$=CHR$(13) THEN BEEP: GOTO 188
  123. 190 SU=VAL(D1$): IF LEN(D1$)<>2 OR SU <=0 OR SU>31 THEN BEEP: GOTO 188
  124. 191 ZZ$="": R=21: S=46: L=2: PK%=2: GOSUB 20: D2$=ZZ$
  125. 192 IF D2$=CHR$(13) THEN BEEP: GOTO 191
  126. 193 SU=VAL(D2$): IF LEN(D2$)<>2 OR SU <=0 OR SU>12 THEN BEEP: GOTO 191
  127. 194 ZZ$="": R=21: S=51: L=2: PK%=2: GOSUB 20: D3$=ZZ$
  128. 195 IF D3$=CHR$(13) THEN BEEP: GOTO 194
  129. 196 SU=VAL(D3$): IF LEN(D3$)<>2 OR SU <=85 OR SU>99 THEN BEEP: GOTO 194
  130. 197 P$=D1$+"."+D2$+".19"+D3$
  131. 198 GOTO 160
  132. 200 GOSUB 60: LOCATE 4,5: PRINT "MAXIMAL : 500": SU=0
  133. 201 A=A+1: LOCATE 4,60: PRINT "DATENSATZ :";A: GOSUB 375
  134. 202 LOCATE 6,1: COLOR 0,7: PRINT "ARTIKEL STAMM - EINGABE";: COLOR 7,0: PRINT "        IM ERSTEN FELD MIT * ZUR BEFEHLSZEILE"
  135. 203 IF A>=500 THEN 205
  136. 204 GOTO 209
  137. 205 LOCATE 20,1: PRINT string$(80,45)
  138. 206 LOCATE 21,1: PRINT "             MAXIMALE EINGABELÄNGE ERREICHT  BELIEBIGE TASTE DRÜCKEN            "
  139. 207 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOSUB 380: GOTO 100
  140. 209 GOSUB 210: GOTO 229
  141. 210 PP=0: LOCATE 8,1: PRINT "[ 1 ] ARTIKEL-NUMMER      :                 "
  142. 211 LOCATE 10,1: PRINT "[ 2 ] BEZEICHNUNG (TEXT)  :                                                "
  143. 214 LOCATE 12,1: PRINT "[ 3 ] MEHRWERTSTEUER      :                                               "
  144. 215 LOCATE 14,1: PRINT "[ 4 ] LIEFERANT 1         :               [ 5 ] LIEFERANT 2    :             "
  145. 216 LOCATE 16,1: PRINT "[ 6 ] BESTAND             :               [ 7 ] MINDESTBESTAND :             "
  146. 217 LOCATE 18,1: PRINT "[ 8 ] PREIS VK-NETTO      :               [ 9 ] PREIS EK-NETTO :             "
  147. 220 RETURN
  148. 229 ZZ$=""
  149. 230 R=8: S=29: L=6: PK%=1: GOSUB 20: A$(A,1)=ZZ$: IF A$(A,1)="*" THEN A$(A,1)="": A=A-1: GOSUB 210: GOTO 329
  150. 231 IF A$(A,1)=CHR$(13) THEN BEEP: GOSUB 370: GOTO 229
  151. 232 Z=VAL(A$(A,1)): IF LEN(A$(A,1))<>6 OR Z<=0 THEN BEEP: GOSUB 370: GOTO 229
  152. 233 GOSUB 375: IF PP=1 THEN RETURN
  153. 234 ZZ$=""
  154. 240 R=10: S=29: L=25: PK%=1: GOSUB 20: A$(A,2)=ZZ$
  155. 241 IF A$(A,2)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 240
  156. 242 IF PP=1 THEN RETURN
  157. 243 GOSUB 375
  158. 248 ZZ$="-"
  159. 253 ZZ$="14"
  160. 255 R=12: S=29: L=2 : PK%=2: GOSUB 20: A$(A,3)=ZZ$: IF A$(A,3)=CHR$(13) THEN A$(A,3)="14"
  161. 256 Z=VAL(A$(A,3)): IF Z>19 THEN BEEP: GOTO 253
  162. 258 LOCATE 12,29: PRINT A$(A,3);TAB(32);"%": IF PP=1 THEN RETURN
  163. 259 ZZ$=""
  164. 260 R=14: S=29: L=6: PK%=2: GOSUB 20: A$(A,4)=ZZ$
  165. 261 IF A$(A,4)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 260
  166. 262 Z=VAL(A$(A,4)): IF LEN(A$(A,4))<>6 OR Z<=0 THEN BEEP: ZZ$="": GOTO 260
  167. 263 GOSUB 375: IF PP=1 THEN RETURN
  168. 264 ZZ$="-"
  169. 265 R=14: S=66: L=6: PK%=2: GOSUB 20: A$(A,5)=ZZ$
  170. 266 IF A$(A,5)=CHR$(13) THEN A$(A,5)="-"
  171. 267 IF PP=1 THEN RETURN
  172. 268 ZZ$="0"
  173. 270 R=16: S=29: L=4: PK%=2: GOSUB 20: A$(A,6)=ZZ$
  174. 271 IF A$(A,6)=CHR$(13) THEN A$(A,6)="0"
  175. 272 IF PP=1 THEN RETURN
  176. 273 ZZ$="0"
  177. 275 R=16: S=66: L=4: PK%=2: GOSUB 20: A$(A,7)=ZZ$
  178. 276 IF A$(A,7)=CHR$(13) THEN A$(A,7)="0"
  179. 277 IF PP=1 THEN RETURN
  180. 278 ZZ$=""
  181. 280 R=18: S=29: L=9: PK%=2: GOSUB 20: A$(A,8)=ZZ$
  182. 281 IF A$(A,8)=CHR$(13) THEN BEEP: GOSUB 370 : GOTO 278
  183. 282 SU=VAL(A$(A,8)): LOCATE 18,29: PRINT USING"#####,#.##";SU
  184. 283 IF PP=1 THEN RETURN
  185. 284 GOSUB 375
  186. 299 ZZ$=""
  187. 300 R=18: S=66: L=9: PK%=2: GOSUB 20: A$(A,9)=ZZ$
  188. 301 IF A$(A,9)=CHR$(13) THEN BEEP: GOSUB 370: GOTO 299
  189. 302 SU=VAL(A$(A,9)): LOCATE 18,66: PRINT USING"#####,#.##";SU
  190. 303 IF PP=1 THEN RETURN
  191. 329 LOCATE 20,1: PRINT string$(80,45)
  192. 330 LOCATE 21,1: PRINT "  WEITER=  W        KORREKTUR= 1-9         SPEICHERN =  S     HAUPTMENÜ =  H    "
  193. 331 LOCATE 22,1: PRINT string$(80,45)
  194. 332 PP=0
  195. 340 E$=INKEY$: IF E$="" THEN 340
  196. 341 IF E$="W" OR E$="w" THEN 201
  197. 342 IF E$="H" OR E$="h" THEN 100
  198. 343 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 329
  199. 344 IF E$="1" THEN GOSUB 70: ZZ$=A$(A,1): GOSUB 230: GOTO 329
  200. 346 IF E$="2" THEN GOSUB 70: ZZ$=A$(A,2): GOSUB 240: GOTO 329
  201. 348 IF E$="3" THEN GOSUB 70: ZZ$=A$(A,3): GOSUB 255: GOTO 329
  202. 349 IF E$="4" THEN GOSUB 70: ZZ$=A$(A,4): GOSUB 260: GOTO 329
  203. 350 IF E$="5" THEN GOSUB 70: ZZ$=A$(A,5): GOSUB 265: GOTO 329
  204. 351 IF E$="6" THEN GOSUB 70: ZZ$=A$(A,6): GOSUB 270: GOTO 329
  205. 352 IF E$="7" THEN GOSUB 70: ZZ$=A$(A,7): GOSUB 275: GOTO 329
  206. 353 IF E$="8" THEN GOSUB 70: ZZ$=A$(A,8): GOSUB 280: GOTO 329
  207. 354 IF E$="9" THEN GOSUB 70: ZZ$=A$(A,9): GOSUB 300: GOTO 329
  208. 361 GOTO 340
  209. 370 LOCATE 20,1: PRINT string$(80,45)
  210. 371 LOCATE 21,1: PRINT "                  ACHTUNG !  EINGABE ZWINGEND ERFORDERLICH                      "
  211. 372 LOCATE 22,1: PRINT string$(80,45): RETURN
  212. 375 LOCATE 20,1: PRINT SPACE$(80): LOCATE 21,1: PRINT SPACE$(80): LOCATE 22,1: PRINT SPACE$(80): RETURN
  213. 380 LOCATE 19,1: PRINT SPACE$(80): GOSUB 65: NA$=B$+":TIKEL.DAT": DA$=P$
  214. 381 OPEN NA$ FOR OUTPUT AS #1
  215. 382 PRINT #1,DA$
  216. 383 PRINT #1,A
  217. 384 FOR I=1 TO A: FOR M=1 TO 9
  218. 385 PRINT #1,A$(I,M)
  219. 386 NEXT M: NEXT I: CLOSE #1: RETURN
  220. 390 ON ERROR GOTO 398: GOSUB 15: NA$=B$+":TIKEL.DAT"
  221. 391 OPEN NA$ FOR INPUT AS #1
  222. 392 INPUT #1,DA$
  223. 393 INPUT #1,A
  224. 394 FOR I=1 TO A: FOR M=1 TO 9
  225. 395 INPUT #1,A$(I,M)
  226. 396 NEXT M: NEXT I
  227. 397 CLOSE #1: GOSUB 3030: RETURN
  228. 398 IF ERR=58 AND ERR=53 OR ERR=1230 THEN 3020
  229. 399 REM
  230. 400 GOSUB 60: LOCATE 4,5: PRINT "DATUM : ";DA$
  231. 402 LOCATE 6,1: COLOR 0,7: PRINT  "ARTIKEL STAMM - AUSGABE": COLOR 7,0
  232. 403 FOR Q=1 TO A
  233. 404 LOCATE 4,60: PRINT "DATENSATZ :";Q
  234. 405 GOSUB 210: GOSUB 470
  235. 410 LOCATE 19,1: PRINT string$(80,45)
  236. 411 LOCATE 20,1: PRINT "  KORREKTUR = 1-9         LÖSCHEN =  L      SPEICHERN =  S         MENÜ =  H    "
  237. 412 LOCATE 21,1: PRINT "  WEITER    =  W          ZURÜCK =   Z      AUSDRUCK  =  P     NEUSTART =  N    "
  238. 413 LOCATE 22,1: PRINT string$(80,45)
  239. 420 E$=INKEY$: IF E$="" THEN 420
  240. 421 IF E$="W" OR E$="w" THEN 449
  241. 422 IF E$="Z" OR E$="z" THEN 460
  242. 423 IF E$="L" OR E$="l" THEN GOSUB 40000: GOTO 410
  243. 424 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 410
  244. 425 IF E$="H" OR E$="h" THEN 100
  245. 426 IF E$="N" OR E$="n" THEN 403
  246. 427 IF E$="P" OR E$="p" THEN GOSUB 3000: GOSUB 620: GOTO 410
  247. 428 IF E$="1" THEN GOSUB 70: ZZ$=A$(Q,1): GOSUB 530: GOTO 410
  248. 429 IF E$="2" THEN GOSUB 70: ZZ$=A$(Q,2): GOSUB 540: GOTO 410
  249. 431 IF E$="3" THEN GOSUB 70: ZZ$=A$(Q,3): GOSUB 555: GOTO 410
  250. 432 IF E$="4" THEN GOSUB 70: ZZ$=A$(Q,4): GOSUB 560: GOTO 410
  251. 433 IF E$="5" THEN GOSUB 70: ZZ$=A$(Q,5): GOSUB 565: GOTO 410
  252. 434 IF E$="6" THEN GOSUB 70: ZZ$=A$(Q,6): GOSUB 570: GOTO 410
  253. 435 IF E$="7" THEN GOSUB 70: ZZ$=A$(Q,7): GOSUB 575: GOTO 410
  254. 436 IF E$="8" THEN GOSUB 70: ZZ$=A$(Q,8): GOSUB 580: GOTO 410
  255. 437 IF E$="9" THEN GOSUB 70: ZZ$=A$(Q,9): GOSUB 600: GOTO 410
  256. 446 GOTO 420
  257. 449 IF Q=A THEN 451
  258. 450 NEXT
  259. 451 GOSUB 210: LOCATE 19,1: PRINT SPACE$(80)
  260. 452 LOCATE 20,1: PRINT string$(80,45)
  261. 453 LOCATE 21,1: PRINT " DATENENDE                 ZURÜCK =  Z       NEUSTART  =  N    HAUPTMENÜ =  H   "
  262. 454 LOCATE 22,1: PRINT string$(80,45)
  263. 455 E$=INKEY$: IF E$="" THEN 455
  264. 456 IF E$="Z" OR E$="z" THEN 460
  265. 457 IF E$="N" OR E$="n" THEN 403
  266. 458 IF E$="H" OR E$="h" THEN 100
  267. 459 GOTO 455
  268. 460 Q=Q-1
  269. 461 IF Q<= 0 THEN Q=1: GOTO 403
  270. 462 GOTO 404
  271. 470 LOCATE 8,29: PRINT A$(Q,1): LOCATE 10,29: PRINT A$(Q,2)
  272. 471 LOCATE 12,29: PRINT A$(Q,3);TAB(32);"%"
  273. 473 LOCATE 14,29: PRINT A$(Q,4): LOCATE 14,66: PRINT A$(Q,5)
  274. 474 LOCATE 16,29: PRINT A$(Q,6): LOCATE 16,66: PRINT A$(Q,7)
  275. 475 SU=VAL(A$(Q,8)): LOCATE 18,29: PRINT USING"####,#.##";SU
  276. 476 SU=VAL(A$(Q,9)): LOCATE 18,66: PRINT USING"####,#.##";SU
  277. 480 RETURN
  278. 530 R=8: S=29: L=6: PK%=2: GOSUB 20: A$(Q,1)=ZZ$
  279. 531 IF A$(Q,1)=CHR$(13) THEN BEEP: GOSUB 370  : ZZ$="": GOTO 530
  280. 532 Z=VAL(A$(Q,1)): IF LEN(A$(Q,1))<>6 OR Z<=0 THEN BEEP: ZZ$="": GOTO 530
  281. 533 RETURN
  282. 540 R=10: S=29: L=25: PK%=1: GOSUB 20: A$(Q,2)=ZZ$
  283. 541 IF A$(Q,2)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 540
  284. 542 RETURN
  285. 555 R=12: S=29: L=2 : PK%=2: GOSUB 20: A$(Q,3)=ZZ$: IF A$(Q,3)=CHR$(13) THEN A$(Q,3)="14"
  286. 556 Z=VAL(A$(Q,3)): IF Z>19 THEN BEEP: ZZ$="14": GOTO 555
  287. 558 LOCATE 12,29: PRINT A$(Q,3);TAB(32);"%"
  288. 559 RETURN
  289. 560 R=14: S=29: L=6: PK%=2: GOSUB 20: A$(Q,4)=ZZ$
  290. 561 IF A$(Q,4)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 560
  291. 562 Z=VAL(A$(Q,4)): IF LEN(A$(Q,4))<>6 OR Z<=0 THEN BEEP: ZZ$="": GOTO 560
  292. 563 RETURN
  293. 565 R=14: S=66: L=6: PK%=2: GOSUB 20: A$(Q,5)=ZZ$
  294. 566 IF A$(Q,5)=CHR$(13) THEN A$(Q,5)="-"
  295. 567 RETURN
  296. 570 R=16: S=29: L=4: PK%=2: GOSUB 20: A$(Q,6)=ZZ$
  297. 571 IF A$(Q,6)=CHR$(13) THEN A$(Q,6)="0"
  298. 572 RETURN
  299. 575 R=16: S=66: L=4: PK%=2: GOSUB 20: A$(Q,7)=ZZ$
  300. 576 IF A$(Q,7)=CHR$(13) THEN A$(Q,7)="0"
  301. 577 RETURN
  302. 580 R=18: S=29: L=9: PK%=2: GOSUB 20: A$(Q,8)=ZZ$
  303. 581 IF A$(Q,8)=CHR$(13) THEN BEEP: GOSUB 370 : ZZ$="": GOTO 580
  304. 582 SU=VAL(A$(Q,8)): LOCATE 18,29: PRINT USING"#####,#.##";SU
  305. 583 RETURN
  306. 600 R=18: S=66: L=9: PK%=2: GOSUB 20: A$(Q,9)=ZZ$
  307. 601 IF A$(Q,9)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 600
  308. 602 SU=VAL(A$(Q,9)): LOCATE 18,66: PRINT USING"#####,#.##";SU
  309. 603 RETURN
  310. 620 GOSUB 75
  311. 621 LPRINT TAB(5)CHR$(14);"AUSGABE ARTIKEL DATENSATZ :";Q
  312. 622 LPRINT TAB(5)"LETZTER EINTRAG          : ";DA$: LPRINT " "
  313. 623 LPRINT TAB(5)"ARTIKEL-NUMMER           : ";A$(Q,1)
  314. 625 LPRINT TAB(5)"ARTIKELBEZEICHNUNG       : ";A$(Q,2)
  315. 629 LPRINT TAB(5)"MEHRWERSTEUER            : ";A$(Q,3);" %"
  316. 630 LPRINT TAB(5)"LIEFERANT 1              : ";A$(Q,4)
  317. 631 LPRINT TAB(5)"LIEFERANT 2              : ";A$(Q,5)
  318. 632 LPRINT TAB(5)"BESTAND                  : ";: SU=VAL(A$(Q,6)): LPRINT USING"####";SU
  319. 633 LPRINT TAB(5)"MINDESTBESTAND           : ";: SU=VAL(A$(Q,7)): LPRINT USING"####";SU
  320. 634 LPRINT TAB(5)"VERKAUFSPREIS NETTO      : ";: SU=VAL(A$(Q,8)): LPRINT USING"#####,#.##";SU;: LPRINT " DM"
  321. 635 LPRINT TAB(5)"EINKAUFSPREIS NETTO      : ";: SU=VAL(A$(Q,9)): LPRINT USING"#####,#.##";SU;: LPRINT " DM"
  322. 640 RETURN
  323. 700 GOSUB 60: PP=0
  324. 701 LOCATE 3,5: PRINT "SUCHEN TEXT : #": LOCATE 4,5: PRINT "HAUPTMENÜ   : *"
  325. 702 GOSUB 375: LOCATE 19,1: PRINT SPACE$(80): GOSUB 210: ZZ$=""
  326. 705 ZZ$="": R=8: S=29: L=6: PK%=1: GOSUB 20: SU$=ZZ$
  327. 706 IF SU$="#" THEN 710
  328. 707 IF SU$="*" THEN 100
  329. 708 IF SU$=CHR$(13) THEN GOSUB 370: GOTO 705
  330. 709 GOTO 720
  331. 710 ZZ$="": R=9: S=29: L=20: PK%=1: GOSUB 20: SU$=ZZ$: GOSUB 375
  332. 711 IF SU$="#" THEN 705
  333. 712 IF SU$="*" THEN 100
  334. 713 IF SU$=CHR$(13) THEN GOSUB 370: GOTO 710
  335. 714 GOTO 730
  336. 720 FOR Q=1 TO A
  337. 721 IF SU$=A$(Q,1) THEN 740
  338. 722 NEXT
  339. 725 LOCATE 19,1: PRINT  SPACE$(80): PP=1: LOCATE 20,1: PRINT string$(80,45)
  340. 726 LOCATE 21,1: PRINT "                  KEIN DATENSATZ GEFUNDEN   BELIEBIGE TASTE DRÜCKEN             "
  341. 727 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOTO 702
  342. 730 FOR Q=1 TO A: FOR J=1 TO 20
  343. 731 IF SU$=LEFT$(A$(Q,2),J) THEN 740
  344. 732 NEXT: NEXT: GOTO 725
  345. 740 LOCATE 4,5: PRINT "DATUM : ";DA$
  346. 741 LOCATE 4,60: PRINT "DATENSATZ :";Q: GOSUB 470
  347. 750 PP=0: LOCATE 19,1: PRINT string$(80,45)
  348. 751 LOCATE 20,1: PRINT "  KORREKTUR = 1-9         LÖSCHEN =  L      SPEICHERN =  S         MENÜ =  H    "
  349. 752 LOCATE 21,1: PRINT "                                            AUSDRUCK  =  P     NEUSTART =  N    "
  350. 753 LOCATE 22,1: PRINT string$(80,45)
  351. 760 E$=INKEY$: IF E$="" THEN 760
  352. 761 IF E$="L" OR E$="l" THEN GOSUB 4000: GOTO 750
  353. 762 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 750
  354. 765 IF E$="H" OR E$="h" THEN 100
  355. 766 IF E$="N" OR E$="n" THEN 702
  356. 767 IF E$="P" OR E$="p" THEN GOSUB 3000: GOSUB 620: GOTO 750
  357. 768 IF E$="1" THEN GOSUB 70: ZZ$=A$(Q,1): GOSUB 530: GOTO 750
  358. 769 IF E$="2" THEN GOSUB 70: ZZ$=A$(Q,2): GOSUB 540: GOTO 750
  359. 771 IF E$="3" THEN GOSUB 70: ZZ$=A$(Q,3): GOSUB 555: GOTO 750
  360. 772 IF E$="4" THEN GOSUB 70: ZZ$=A$(Q,4): GOSUB 560: GOTO 750
  361. 773 IF E$="5" THEN GOSUB 70: ZZ$=A$(Q,5): GOSUB 565: GOTO 750
  362. 774 IF E$="6" THEN GOSUB 70: ZZ$=A$(Q,6): GOSUB 570: GOTO 750
  363. 775 IF E$="7" THEN GOSUB 70: ZZ$=A$(Q,7): GOSUB 575: GOTO 750
  364. 776 IF E$="8" THEN GOSUB 70: ZZ$=A$(Q,8): GOSUB 580: GOTO 750
  365. 777 IF E$="9" THEN GOSUB 70: ZZ$=A$(Q,9): GOSUB 600: GOTO 750
  366. 786 GOTO 760
  367. 840 GOSUB 60
  368. 841 LOCATE 6,1: PRINT "ART.NR  TEXT             BESTAND MI-BEST  VK-PREIS   EK-PREIS   "
  369. 845 LOCATE 7,1: V=0: FOR Q=1 TO A: V=V+1
  370. 846 PRINT TAB(1);A$(Q,1);TAB(9);LEFT$(A$(Q,2),15);TAB(26);: SU=VAL(A$(Q,6)): PRINT USING"####";SU;
  371. 847 PRINT TAB(34);: SU=VAL(A$(Q,7)): PRINT USING"####";SU;: PRINT TAB(43);: SU=VAL(A$(Q,8)): PRINT USING"#####.##";SU;
  372. 848 PRINT TAB(54);: SU=VAL(A$(Q,9)): PRINT USING"#####.##";SU
  373. 850 IF V=11 THEN 865
  374. 851 IF Q=A THEN 853
  375. 852 NEXT
  376. 853 LOCATE 20,1: PRINT string$(80,45)
  377. 854 LOCATE 21,1: PRINT "  DATENENDE           ZURÜCK = Z      NEUSTART = N      HAUPTMENÜ = H           "
  378. 855 LOCATE 22,1: PRINT string$(80,45)
  379. 860 E$=INKEY$: IF E$="" THEN 860
  380. 861 IF E$="Z" OR E$="z" THEN 883
  381. 862 IF E$="N" OR E$="n" THEN GOSUB 890: GOTO 845
  382. 863 IF E$="H" OR E$="h" THEN 100
  383. 864 GOTO 860
  384. 865 LOCATE 20,1: PRINT string$(80,45)
  385. 866 LOCATE 21,1: PRINT "  WEITER = W          ZURÜCK = Z      NEUSTART = N      HAUPTMENÜ = H           "
  386. 867 LOCATE 22,1: PRINT string$(80,45)
  387. 870 E$=INKEY$: IF E$="" THEN 870
  388. 871 IF E$="H" OR E$="h" THEN 100
  389. 872 IF E$="N" OR E$="n" THEN GOSUB 890: GOTO 845
  390. 873 IF E$="W" OR E$="w" THEN GOSUB 890: LOCATE 7,1: GOTO 852
  391. 874 IF E$="Z" OR E$="z" THEN 880
  392. 875 GOTO 870
  393. 880 Q=Q-22
  394. 881 IF Q<=0 THEN Q=1: GOSUB 890: GOTO 845
  395. 882 V=0: GOSUB 890: LOCATE 7,1: GOTO 846
  396. 883 Q=Q-V-11: GOTO 881
  397. 890 FOR T=1 TO 12
  398. 891 LOCATE 6+T,1: PRINT SPACE$(80): NEXT: RETURN
  399. 900 LOCATE 20,1: PRINT string$(80,45)
  400. 901 LOCATE 21,1: PRINT "  DATENSÄTZE = D         GESAMTDRUCK= G       KURZ-LISTE = K        MENÜ = H    "
  401. 902 LOCATE 22,1: PRINT string$(80,45)
  402. 905 E$=INKEY$: IF E$="" THEN 905
  403. 906 IF E$="D" OR E$="d" THEN GOSUB 3000: GOSUB 75: GOTO 920
  404. 907 IF E$="G" OR E$="g" THEN GOSUB 3000: GOSUB 75: GOTO 950
  405. 908 IF E$="K" OR E$="k" THEN GOSUB 3000: GOSUB 75: GOTO 1000
  406. 909 IF E$="H" OR E$="h" THEN 110
  407. 910 GOTO 905
  408. 920 FOR Q=1 TO A
  409. 921 GOSUB 621
  410. 925 LOCATE 20,1: PRINT string$(80,45)
  411. 926 LOCATE 21,1: PRINT "            WEITER DRUCKEN = W                   AUSDRUCK STOPP = S             "
  412. 927 LOCATE 22,1: PRINT string$(80,45)
  413. 930 E$=INKEY$: IF E$="" THEN 930
  414. 931 IF E$="W" OR E$="w" THEN 935
  415. 932 IF E$="S" OR E$="s" THEN CLOSE: GOTO 100
  416. 933 GOTO 930
  417. 935 IF Q=A THEN 937
  418. 936 NEXT
  419. 937 LOCATE 20,1: PRINT string$(80,45)
  420. 938 LOCATE 21,1: PRINT "             AUSDRUCK BEENDET              BELIEBIGE TASTE DRÜCKEN              "
  421. 939 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOTO 110
  422. 950 GOSUB 951: GOTO 955
  423. 951 LPRINT TAB(1)"ART.-NR TEXT             MWST  VK-PREIS   EK-PREIS  BESTAND";TAB(65)"MI-BES"
  424. 952 LPRINT TAB(1)"____________________________________________________________________________": RETURN
  425. 955 V=0: FOR Q=1 TO A: V=V+1
  426. 956 LPRINT TAB(1);A$(Q,1);TAB(9);LEFT$(A$(Q,2),15);TAB(26);
  427. 958 LPRINT A$(Q,3);TAB(32);: SU=VAL(A$(Q,8)): LPRINT USING"#####.##";SU;: LPRINT TAB(43);: SU=VAL(A$(Q,9)): LPRINT USING"#####.##";SU;: LPRINT TAB(56);
  428. 959 SU=VAL(A$(Q,6)): LPRINT USING"####";SU;: LPRINT TAB(65);: SU=VAL(A$(Q,7)): LPRINT USING"####";SU
  429. 960 IF V=68 THEN V=0: GOSUB 965
  430. 961 NEXT
  431. 962 LPRINT TAB(1)"____________________________________________________________________________": LPRINT " "
  432. 963 LPRINT TAB(1)"ANZAHL DER DATENSÄTZE : ";A: CLOSE: GOTO 937
  433. 965 FOR T=1 TO 6: LPRINT " ": NEXT: GOSUB 951: RETURN
  434. 971 LPRINT TAB(1)"ART.-NR TEXT             MWST  VK-PREIS   EK-PREIS   BESTAND   MI-BES"
  435. 972 LPRINT TAB(1)"____________________________________________________________________________": RETURN
  436. 1000 LPRINT TAB(5);CHR$(14)"KURZLISTE - ARTIKEL DATEI "
  437. 1001 LPRINT TAB(5)"STAND VOM : ";DA$: LPRINT " ": GOSUB 1005: GOTO 1010
  438. 1005 LPRINT TAB(5)"ARTIKEL-NUMMER  WARENTEXT             VERKAUF NETTO"
  439. 1007 LPRINT TAB(5)"______________________________________________________________________________": RETURN
  440. 1010 V=0: FOR Q=1 TO A: V=V+1
  441. 1011 LPRINT TAB(5);A$(Q,1);TAB(21);A$(Q,2);: SU=VAL(A$(Q,8)): LPRINT TAB(43) USING"###,##.##";SU;: LPRINT " DM"
  442. 1012 IF V=68 THEN V=0: GOSUB 1020
  443. 1013 NEXT
  444. 1014 LPRINT TAB(1)"______________________________________________________________________________": LPRINT " "
  445. 1015 LPRINT TAB(1)"ANZAHL DER DATENSÄTZE : ";A: CLOSE: GOTO 937
  446. 1020 FOR T=1 TO 6: LPRINT " ": NEXT: GOSUB 1005: RETURN
  447. 2000 LOCATE 20,1: PRINT string$(80,45)
  448. 2001 LOCATE 21,1: PRINT "      VORHANDENE DATEN ZULADEN = L    NEUBEGINN = N     HAUPTMENÜ = H           "
  449. 2002 LOCATE 22,1: PRINT string$(80,45)
  450. 2005 E$=INKEY$: IF E$="" THEN 2005
  451. 2006 IF E$="L" OR E$="l" THEN GOSUB 140: GOTO 200
  452. 2007 IF E$="N" OR E$="n" THEN A=0: GOTO 200
  453. 2008 IF E$="H" OR E$="h" THEN 110
  454. 2009 GOTO 2005
  455. 3000 ON ERROR GOTO 3003
  456. 3001 RETURN
  457. 3002 OPEN "LPT1:" FOR OUTPUT AS #1
  458. 3003 IF ERR=27 THEN 3010
  459. 3004 REM
  460. 3010 LOCATE 19,1: PRINT  SPACE$(80): LOCATE 20,1: PRINT string$(80,45)
  461. 3011 LOCATE 21,1: PRINT "             KEIN DRUCKER ANGESCHLOSSEN. BELIEBIGE TASTE DRÜCKEN                "
  462. 3012 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOTO 100
  463. 3020 LOCATE 19,1: PRINT  SPACE$(80): LOCATE 20,1: PRINT string$(80,45)
  464. 3021 LOCATE 21,1: PRINT "            ARTIKELDATEI AUF DISK NICHT GEFUNDEN.  TASTE DRÜCKEN                "
  465. 3022 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOTO 100
  466. 3030 IF A<=0 THEN 3020
  467. 3031 RETURN
  468. 4000 LOCATE 19,1: PRINT  SPACE$(80): LOCATE 20,1: PRINT string$(80,45)
  469. 4001 LOCATE 21,1: PRINT "      DATENSATZ LÖSCHEN = L                  OHNE LÖSCHUNG ZURÜCK = Z     ";TAB(81)
  470. 4002 LOCATE 22,1: PRINT string$(80,45)
  471. 4010 E$=INKEY$: IF E$="" THEN 4010
  472. 4011 IF E$="l" OR E$="L" THEN 4020
  473. 4012 IF E$="Z" OR E$="z" THEN RETURN
  474. 4013 GOTO 4010
  475. 4020 Y=0: J=0: FOR Y=Q TO A: FOR J=1 TO 9: A$(Y,J)=A$(Y+1,J): NEXT J,Y
  476. 4021 FOR J=1 TO 9: A$(A,J)=" ": NEXT: A=A-1
  477. 4030 LOCATE 20,1: PRINT string$(80,45)
  478. 4031 LOCATE 21,1: PRINT "             DATENSATZ IST GELÖSCHT       BELIEBIGE TASTE DRÜCKEN               "
  479. 4032 LOCATE 22,1: PRINT string$(80,45): GOSUB 93
  480. 4033 LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 100
  481. 40000 LOCATE 19,1: PRINT  SPACE$(80): LOCATE 20,1: PRINT string$(80,45)
  482. 40001 LOCATE 21,1: PRINT "      DATENSATZ LÖSCHEN = L                  OHNE LÖSCHUNG ZURÜCK = Z     ";TAB(81)
  483. 40002 LOCATE 22,1: PRINT string$(80,45)
  484. 40010 E$=INKEY$: IF E$="" THEN 40010
  485. 40011 IF E$="l" OR E$="L" THEN 40020
  486. 40012 IF E$="Z" OR E$="z" THEN RETURN
  487. 40013 GOTO 40010
  488. 40020 Y=0: J=0: FOR Y=Q TO A: FOR J=1 TO 9: A$(Y,J)=A$(Y+1,J): NEXT J,Y
  489. 40021 FOR J=1 TO 9: A$(A,J)=" ": NEXT: A=A-1
  490. 40030 LOCATE 20,1: PRINT string$(80,45)
  491. 40031 LOCATE 21,1: PRINT "             DATENSATZ IST GELÖSCHT       BELIEBIGE TASTE DRÜCKEN               "
  492. 40032 LOCATE 22,1: PRINT string$(80,45): GOSUB 93
  493. 40033 LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOSUB 210: RETURN
  494.  
  495.