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

  1. 1 WIDTH 80
  2. 3 DIM K$(401,9),Q(401)
  3. 4 GOTO 185
  4. 10 IF K<=0 THEN 12
  5. 11 RETURN
  6. 12 LOCATE 20,1: PRINT STRING$(80,45)
  7. 13  LOCATE 21,1: PRINT "          NOCH KEINE KUNDENDATEI AUF DISK ANGELEGT   BELIEBIGE TASTE            "
  8. 14  LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOTO 110
  9. 15 LOCATE 20,1: PRINT STRING$(80,45)
  10. 16 LOCATE 21,1: PRINT "                        KUNDENDATEN WERDEN EINGELESEN                           "
  11. 17 LOCATE 22,1: PRINT STRING$(80,45): RETURN
  12. 20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),95):Z2=0:Y=1
  13. 21 LOCATE R,S:PRINT ZZ$;
  14. 22 LOCATE R,S+Y-1
  15. 23 Z$=INKEY$: IF Z$="" THEN 23 ELSE Z=ASC(Z$): Z1=0: IF Z=0 THEN Z1=ASC(RIGHT$(Z$,1))
  16. 24 IF Z<>13 THEN 28 ELSE IF Z2 >0 THEN 23
  17. 25 IF Y=1 THEN ZZ$=CHR$(13): RETURN
  18. 26 IF RIGHT$(ZZ$,1)="_" THEN ZZ$=LEFT$(ZZ$,INSTR(ZZ$,"_")-1)
  19. 27 RETURN
  20. 28 IF Z<>0 THEN 48
  21. 29 IF Z1<>71 THEN 31 ELSE IF Y=1 OR Z2 THEN 23
  22. 30 Y=1:GOTO 22
  23. 31 IF Z1<>75 THEN 33 ELSE IF Y=1 OR Z2 THEN 23
  24. 32 Y=Y-1:GOTO 22
  25. 33 REM
  26. 34 Y=Y+1:GOTO 22
  27. 35 IF Z1<>79 THEN 39 ELSE IF Y>L OR Z2 THEN 23
  28. 36 IF MID$(ZZ$,Y,1)="_" THEN 23
  29. 37 Y=Y+1
  30. 38 IF MID$(ZZ$,Y,1)="_" THEN 22 ELSE 37
  31. 39 IF Z1<>82 THEN 42 ELSE IF RIGHT$(ZZ$,1)<>"_" THEN 23
  32. 40 IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  33. 41 ZZ$=LEFT$(ZZ$,Y-1)+"_"+MID$(ZZ$,Y,L-Y):Z2=Z2+1:GOTO 21
  34. 42 IF Z1<>83 THEN 44 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  35. 43 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+MID$(ZZ$,Y+1)+"_":GOTO 21
  36. 44 IF Z1<>117 THEN 46 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
  37. 45 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+STRING$(L-Y+1,95):GOTO 21
  38. 46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
  39. 47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,95):Y=1:GOTO 21
  40. 48 IF Z<>8 THEN 50 ELSE IF Y=1 THEN 23
  41. 49 ZZ$=LEFT$(ZZ$,Y-2)+MID$(ZZ$,Y)+"_":Y=Y-1:GOTO 21
  42. 50 IF Z<>27 THEN 51 ELSE ZZ$=STRING$(L,95):Y=1:Z2=0: GOTO 21
  43. 51 IF Z=95 OR Y>L THEN 23
  44. 52 ON PK% GOTO 55,53,54
  45. 53 IF Z<46 OR Z>58 THEN 23 ELSE 55
  46. 54 IF Z<>106 AND Z<>110 THEN 23
  47. 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
  48. 56 IF Z2 THEN Z2=Z2-1
  49. 57 RETURN
  50. 60 CLS
  51. 61 LOCATE 2,1: PRINT STRING$(80,45)
  52. 62 LOCATE 3,1: PRINT SPACE$(29)+"  K U N D E N - S T A M M  "+SPACE$(24)
  53. 63 LOCATE 4,1: PRINT SPACE$(28)+"(c) 1991 by Siegfried Hübner"+SPACE$(26)
  54. 64 LOCATE 5,1: PRINT STRING$(80,45): RETURN
  55. 65 LOCATE 20,1: PRINT STRING$(80,45)
  56. 66 LOCATE 21,1: PRINT "                      KUNDENDATEN WERDEN ABGESPEICHERT                          "
  57. 67 LOCATE 22,1: PRINT STRING$(80,45): RETURN
  58. 70 LOCATE 19,1: PRINT  SPACE$(80): PP=1: LOCATE 20,1: PRINT STRING$(80,45)
  59. 71 LOCATE 21,1: PRINT "             MINDESTENS 1 ZEICHEN KORRIGIEREN UND RETURN DRÜCKEN                "
  60. 72 LOCATE 22,1: PRINT STRING$(80,45): RETURN
  61. 75  GOSUB 900: LOCATE 19,1: PRINT SPACE$(80): LOCATE 20,1: PRINT STRING$(80,45)
  62. 76  LOCATE 21,1: PRINT "    DRUCKER EINSCHALTEN + TASTE = D           ZUM HAUPTMENÜ TASTE = H           "
  63. 77  LOCATE 22,1: PRINT STRING$(80,45)
  64. 78  E$=INKEY$: IF E$="" THEN 78
  65. 79 IF E$="D" OR E$="d" THEN GOSUB 85: RETURN
  66. 80 IF E$="H" OR E$="h" THEN 100
  67. 81 GOTO 78
  68. 85  LOCATE 19,1: PRINT SPACE$(80): LOCATE 20,1: PRINT STRING$(80,45)
  69. 86  LOCATE 21,1: PRINT "                  DRUCKER IN BETRIEB            BITTE WARTEN                    "
  70. 87  LOCATE 22,1: PRINT STRING$(80,45): RETURN
  71. 90  LOCATE 20,1: PRINT STRING$(80,45)
  72. 91  LOCATE 21,1: PRINT "                            BELIEBIGE TASTE DRÜCKEN                             "
  73. 92  LOCATE 22,1: PRINT STRING$(80,45)
  74. 93 E$=INKEY$: IF E$="" THEN 93
  75. 94 RETURN
  76. 95  LOCATE 20,1: PRINT STRING$(80,45)
  77. 96  LOCATE 21,1: PRINT "             NEUES PAPIER EINLEGEN      BELIEBIGE TASTE DRÜCKEN                 "
  78. 97  LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: RETURN
  79. 100 GOSUB 60
  80. 103 LOCATE  7,27: PRINT "[ 1 ] EINGABE     DER DATEN"
  81. 104 LOCATE  9,27: PRINT "[ 2 ] AUSGABE     DER DATEN"
  82. 105 LOCATE 11,27: PRINT "[ 3 ] SUCHEN      DER DATEN"
  83. 106 LOCATE 13,27: PRINT "[ 4 ] LISTEN      DER DATEN"
  84. 107 LOCATE 15,27: PRINT "[ 5 ] AUSDRUCK    DER DATEN"
  85. 108 LOCATE 17,27: PRINT "[ 6 ] SORTIEREN   DER DATEN"
  86. 109 LOCATE 19,27: PRINT "[ 7 ] SPEICHERN   DER DATEN"
  87. 110 LOCATE 20,1: PRINT STRING$(80,45)
  88. 111 LOCATE 21,1: PRINT "      HAUPTMENÜ =  H                                         ABBRUCH =  A  ";TAB(80)
  89. 112 LOCATE 22,1: PRINT STRING$(80,45)
  90. 113 LOCATE 4,5: PRINT "DATENSÄTZE :";K
  91. 120 E$=INKEY$: IF E$="" THEN 120
  92. 121 IF E$="1" THEN 2000
  93. 122 IF E$="2" THEN GOSUB 140: GOTO 400
  94. 123 IF E$="3" THEN GOSUB 140: GOTO 600
  95. 124 IF E$="4" THEN GOSUB 140: GOTO 700
  96. 125 IF E$="5" THEN GOSUB 140: GOTO 800
  97. 126 IF E$="H" OR E$="h" THEN 180
  98. 127 IF E$="A" OR E$="a" THEN 170
  99. 129 IF E$="6" THEN GOSUB 140: GOTO 5000
  100. 130 IF E$="7" THEN GOSUB 150: GOSUB 380: GOTO 110
  101. 131 GOTO 120
  102. 140 IF K=0 THEN GOSUB 390: RETURN
  103. 141 RETURN
  104. 150 IF K=0 THEN 12
  105. 151 RETURN
  106. 170 LOCATE 20,1: PRINT STRING$(80,45)
  107. 171 LOCATE 21,1: PRINT "                                SICHER  (J/N)  ?                                "
  108. 172 LOCATE 22,1: PRINT STRING$(80,45)
  109. 173 E$=INKEY$: IF E$="" THEN 173
  110. 174 IF E$="j" OR E$="J" THEN CLS: END
  111. 175 GOTO 110
  112. 180 LOCATE 20,1: PRINT STRING$(80,45)
  113. 181 LOCATE 21,1: PRINT "                           HAUPTMENÜ WIRD GELADEN                               "
  114. 182 LOCATE 22,1: PRINT STRING$(80,45)
  115. 183 RUN "MENUE"
  116. 185 LOCATE 20,1: PRINT STRING$(80,45)
  117. 186 LOCATE 21,1: PRINT "                        HEUTIGES DATUM :    .  .19                              "
  118. 187 LOCATE 22,1: PRINT STRING$(80,45)
  119. 188 ZZ$="": R=21: S=43: L=2: PK%=2: GOSUB 20: D1$=ZZ$
  120. 189 IF D1$=CHR$(13) THEN BEEP: GOTO 188
  121. 190 SU=VAL(D1$): IF LEN(D1$)<>2 OR SU <=0 OR SU>31 THEN BEEP: GOTO 188
  122. 191 ZZ$="": R=21: S=46: L=2: PK%=2: GOSUB 20: D2$=ZZ$
  123. 192 IF D2$=CHR$(13) THEN BEEP: GOTO 191
  124. 193 SU=VAL(D2$): IF LEN(D2$)<>2 OR SU <=0 OR SU>12 THEN BEEP: GOTO 191
  125. 194 ZZ$="": R=21: S=51: L=2: PK%=2: GOSUB 20: D3$=ZZ$
  126. 195 IF D3$=CHR$(13) THEN BEEP: GOTO 194
  127. 196 SU=VAL(D3$): IF LEN(D3$)<>2 OR SU <=85 OR SU>99 THEN BEEP: GOTO 194
  128. 197 P$=D1$+"."+D2$+".19"+D3$
  129. 198 GOTO 6000
  130. 200 GOSUB 60: LOCATE 3,5: PRINT "DATUM   : ";P$: LOCATE 4,5: PRINT "MAXIMAL : 400"
  131. 201 K=K+1: LOCATE 4,60: PRINT "DATENSATZ :";K: GOSUB 375
  132. 202 LOCATE 6,1: COLOR 0,7: PRINT " KUNDEN STAMM - EINGABE";: COLOR 7,0: PRINT "        IM ERSTEN FELD MIT * ZUR BEFEHLSZEILE"
  133. 203 IF K>=400 THEN 205
  134. 204 GOTO 209
  135. 205 LOCATE 20,1: PRINT STRING$(80,45)
  136. 206 LOCATE 21,1: PRINT "             MAXIMALE EINGABELÄNGE ERREICHT  BELIEBIGE TASTE DRÜCKEN            "
  137. 207 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOSUB 380: GOTO 100
  138. 209 GOSUB 210: GOTO 229
  139. 210 LOCATE 8,1: PRINT "[ 1 ] KUNDEN - NUMMER     :               "
  140. 211 LOCATE 9,1: PRINT "[ 2 ] VORNAME             :                       "
  141. 212 LOCATE 10,1: PRINT "[ 3 ] NACHNAME            :                      "
  142. 213 LOCATE 11,1: PRINT "[ 4 ] ZUSATZTEXT          :                      "
  143. 214 LOCATE 12,1: PRINT "[ 5 ] STRASSE             :                               "
  144. 215 LOCATE 13,1: PRINT "[ 6 ] PLZ / ORT           :                            "
  145. 216 LOCATE 14,1: PRINT "[ 7 ] TELEFON             :                  "
  146. 217 LOCATE 16,1: PRINT "[ 8 ] RABATT IN %         :         "
  147. 218 LOCATE 17,1: PRINT "[ 9 ] LIEFERSPERRE        :                 (0=OHNE / 1=MIT)"
  148. 220 RETURN
  149. 229 ZZ$=""
  150. 230 R=8: S=29: L=6: PK%=1: GOSUB 20: K$(K,1)=ZZ$: IF K$(K,1)="*" THEN K$(K,1)="": K=K-1: GOSUB 210: GOTO 329
  151. 231 IF K$(K,1)=CHR$(13) THEN BEEP: GOSUB 370: GOTO 229
  152. 232 Z=VAL(K$(K,1)): IF LEN(K$(K,1))<>6 OR Z<=0 THEN BEEP: GOSUB 370: GOTO 229
  153. 233 GOSUB 375
  154. 234 ZZ$="": IF PP=1 THEN RETURN
  155. 235 R=9: S=29: L=15: PK%=1: GOSUB 20: K$(K,2)=ZZ$
  156. 236 IF K$(K,2)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 235
  157. 237 IF PP=1 THEN RETURN
  158. 238 GOSUB 375
  159. 239 ZZ$=""
  160. 240 R=10: S=29: L=20: PK%=1: GOSUB 20: K$(K,3)=ZZ$
  161. 241 IF K$(K,3)=CHR$(13) THEN K$(K,3)="-"
  162. 242 IF PP=1 THEN RETURN
  163. 243 ZZ$="-"
  164. 245 R=11: S=29: L=20: PK%=1: GOSUB 20: K$(K,4)=ZZ$
  165. 246 IF K$(K,4)=CHR$(13) THEN K$(K,4)="-"
  166. 247 IF PP=1 THEN RETURN
  167. 249 ZZ$=""
  168. 250 R=12: S=29: L=25: PK%=1: GOSUB 20: K$(K,5)=ZZ$
  169. 251 IF K$(K,5)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 250
  170. 252 IF PP=1 THEN RETURN
  171. 253 GOSUB 375
  172. 254 ZZ$=""
  173. 255 R=13: S=29: L=25: PK%=1: GOSUB 20: K$(K,6)=ZZ$
  174. 256 IF K$(K,6)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 255
  175. 257 IF PP=1 THEN RETURN
  176. 258 GOSUB 375
  177. 259 ZZ$="-"
  178. 260 R=14: S=29: L=15: PK%=1: GOSUB 20: K$(K,7)=ZZ$
  179. 261 IF K$(K,7)=CHR$(13) THEN K$(K,7)="-"
  180. 262 IF PP=1 THEN RETURN
  181. 263 ZZ$="0"
  182. 265 R=16: S=29: L= 2: PK%=2: GOSUB 20: K$(K,8)=ZZ$
  183. 266 IF K$(K,8)=CHR$(13) THEN K$(K,8)="0"
  184. 267 IF K$(K,8)="0" THEN F$="OHNE" ELSE F$="MIT "
  185. 268 LOCATE 16,29: PRINT K$(K,8);TAB(32);F$: IF PP=1 THEN RETURN
  186. 269 ZZ$="0"
  187. 270 R=17: S=29: L=1: PK%=2: GOSUB 20: K$(K,9)=ZZ$: IF K$(K,9)=CHR$(13) THEN K$(K,9)="0": GOTO 273
  188. 271 IF K$(K,9)="0" OR K$(K,9)="1" THEN 273
  189. 272 BEEP: GOTO 269
  190. 273 IF K$(K,9)="0" THEN F$="NEIN" ELSE F$="JA  "
  191. 274 LOCATE 17,29: PRINT K$(K,9);TAB(32);F$: ZZ$="": IF PP=1 THEN RETURN
  192. 329 LOCATE 20,1: PRINT STRING$(80,45)
  193. 330 LOCATE 21,1: PRINT "  WEITER=  W        KORREKTUR = 1 - 9      SPEICHERN =  S     HAUPTMENÜ =  H    "
  194. 331 LOCATE 22,1: PRINT STRING$(80,45)
  195. 332 PP=0
  196. 340 E$=INKEY$: IF E$="" THEN 340
  197. 341 IF E$="W" OR E$="w" THEN 201
  198. 342 IF E$="H" OR E$="h" THEN 100
  199. 343 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 329
  200. 344 IF E$="1" THEN GOSUB 70: ZZ$=K$(K,1): GOSUB 230: GOTO 329
  201. 345 IF E$="2" THEN GOSUB 70: ZZ$=K$(K,2): GOSUB 235: GOTO 329
  202. 346 IF E$="3" THEN GOSUB 70: ZZ$=K$(K,3): GOSUB 240: GOTO 329
  203. 347 IF E$="4" THEN GOSUB 70: ZZ$=K$(K,4): GOSUB 245: GOTO 329
  204. 348 IF E$="5" THEN GOSUB 70: ZZ$=K$(K,5): GOSUB 250: GOTO 329
  205. 349 IF E$="6" THEN GOSUB 70: ZZ$=K$(K,6): GOSUB 255: GOTO 329
  206. 350 IF E$="7" THEN GOSUB 70: ZZ$=K$(K,7): GOSUB 260: GOTO 329
  207. 351 IF E$="8" THEN GOSUB 70: ZZ$=K$(K,8): GOSUB 265: GOTO 329
  208. 352 IF E$="9" THEN GOSUB 70: ZZ$=K$(K,9): GOSUB 270: GOTO 329
  209. 361 GOTO 340
  210. 370 LOCATE 20,1: PRINT STRING$(80,45)
  211. 371 LOCATE 21,1: PRINT "                  ACHTUNG !  EINGABE ZWINGEND ERFORDERLICH                      "
  212. 372 LOCATE 22,1: PRINT STRING$(80,45): RETURN
  213. 375 LOCATE 19,1: PRINT SPACE$(80): LOCATE 20,1: PRINT SPACE$(80): LOCATE 21,1: PRINT SPACE$(80): LOCATE 22,1: PRINT SPACE$(80): RETURN
  214. 380 GOSUB 65: NA$=B$+":DATKUN.DAT": DA$=P$
  215. 381 OPEN NA$ FOR OUTPUT AS #1
  216. 382 PRINT #1,DA$
  217. 383 PRINT #1,K
  218. 384 FOR I=1 TO K: FOR M=1 TO 9
  219. 385 PRINT #1,K$(I,M)
  220. 386 NEXT: NEXT: CLOSE #1: RETURN
  221. 390 ON ERROR GOTO 398: GOSUB 15: NA$=B$+":DATKUN.DAT"
  222. 391 OPEN NA$ FOR INPUT AS #1
  223. 392 INPUT #1,DA$
  224. 393 INPUT #1,K
  225. 394 FOR I=1 TO K: FOR M=1 TO 9
  226. 395 INPUT #1,K$(I,M)
  227. 396 NEXT: NEXT
  228. 397 CLOSE #1: GOSUB 10: RETURN
  229. 398 IF ERR=58 AND ERR=53 OR ERR =1230 THEN 12
  230. 399 REM
  231. 400 GOSUB 60: LOCATE 4,5: PRINT "DATUM : ";DA$
  232. 402 LOCATE 6,1: COLOR 0,7: PRINT  " KUNDEN STAMM - AUSGABE": COLOR 7,0
  233. 403 FOR W=1 TO K
  234. 404 LOCATE 4,60: PRINT "DATENSATZ :";W
  235. 405 GOSUB 210: GOSUB 470
  236. 410 LOCATE 19,1: PRINT STRING$(80,45)
  237. 411 LOCATE 20,1: PRINT "  KORREKTUR = 1 - 9       LÖSCHEN =  L      SPEICHERN =  S         MENÜ =  H    "
  238. 412 LOCATE 21,1: PRINT "  WEITER    =     W       ZURÜCK =   Z      AUSDRUCK  =  P     NEUSTART =  N    "
  239. 413 LOCATE 22,1: PRINT STRING$(80,45)
  240. 420 E$=INKEY$: IF E$="" THEN 420
  241. 421 IF E$="W" OR E$="w" THEN 441
  242. 422 IF E$="Z" OR E$="z" THEN 455
  243. 423 IF E$="H" OR E$="h" THEN 100
  244. 424 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 410
  245. 425 IF E$="P" OR E$="p" THEN GOSUB 900: GOSUB 85: GOSUB 630: GOTO 410
  246. 426 IF E$="N" OR E$="n" THEN 403
  247. 427 IF E$="L" OR E$="l" THEN GOSUB 40000: GOTO 410
  248. 430 IF E$="1" THEN GOSUB 70: ZZ$=K$(W,1): GOSUB 530: GOTO 410
  249. 431 IF E$="2" THEN GOSUB 70: ZZ$=K$(W,2): GOSUB 535: GOTO 410
  250. 432 IF E$="3" THEN GOSUB 70: ZZ$=K$(W,3): GOSUB 540: GOTO 410
  251. 433 IF E$="4" THEN GOSUB 70: ZZ$=K$(W,4): GOSUB 545: GOTO 410
  252. 434 IF E$="5" THEN GOSUB 70: ZZ$=K$(W,5): GOSUB 550: GOTO 410
  253. 435 IF E$="6" THEN GOSUB 70: ZZ$=K$(W,6): GOSUB 555: GOTO 410
  254. 436 IF E$="7" THEN GOSUB 70: ZZ$=K$(W,7): GOSUB 560: GOTO 410
  255. 437 IF E$="8" THEN GOSUB 70: ZZ$=K$(W,8): GOSUB 565: GOTO 410
  256. 438 IF E$="9" THEN GOSUB 70: ZZ$=K$(W,9): GOSUB 570: GOTO 410
  257. 440 GOTO 420
  258. 441 IF W=K THEN 443
  259. 442 NEXT
  260. 443 GOSUB 210: LOCATE 19,1: PRINT STRING$(80,45)
  261. 444 LOCATE 20,1: PRINT "  DATENENDE                                                        MENÜ =  H    "
  262. 445 LOCATE 21,1: PRINT "                          ZURÜCK =   Z                         NEUSTART =  N    "
  263. 446 LOCATE 22,1: PRINT STRING$(80,45)
  264. 450 E$=INKEY$: IF E$="" THEN 450
  265. 451 IF E$="Z" OR E$="z" THEN 455
  266. 452 IF E$="H" OR E$="h" THEN 100
  267. 453 IF E$="N" OR E$="n" THEN 403
  268. 454 GOTO 450
  269. 455 W=W-1
  270. 456 IF W<=0 THEN W=1: GOTO 403
  271. 457 GOTO 404
  272. 470 LOCATE 8,29: PRINT K$(W,1): LOCATE 9,29: PRINT K$(W,2): LOCATE 10,29: PRINT K$(W,3): LOCATE 11,29: PRINT K$(W,4): LOCATE 12,29: PRINT K$(W,5)
  273. 471 LOCATE 13,29: PRINT K$(W,6): LOCATE 14,29: PRINT K$(W,7)
  274. 472 IF K$(W,8)="0" THEN F$="OHNE" ELSE F$="MIT   "
  275. 473 LOCATE 16,29: PRINT K$(W,8);TAB(32);F$
  276. 474 IF K$(W,9)="0" THEN F$="NEIN" ELSE F$="JA  "
  277. 475 LOCATE 17,29: PRINT K$(W,9);TAB(32);F$
  278. 477 RETURN
  279. 530 R=8: S=29: L=6: PK%=2: GOSUB 20: K$(W,1)=ZZ$
  280. 531 IF K$(W,1)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 530
  281. 532 Z=VAL(K$(W,1)): IF Z<=0 THEN BEEP: GOSUB 370: ZZ$="": GOTO 530
  282. 534 RETURN
  283. 535 R=9: S=29: L=15: PK%=1: GOSUB 20: K$(W,2)=ZZ$
  284. 536 IF K$(W,2)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 535
  285. 537 RETURN
  286. 540 R=10: S=29: L=20: PK%=1: GOSUB 20: K$(W,3)=ZZ$
  287. 541 IF K$(W,3)=CHR$(13) THEN K$(W,3)="-"
  288. 542 RETURN
  289. 545 R=11: S=29: L=20: PK%=1: GOSUB 20: K$(W,4)=ZZ$
  290. 546 IF K$(W,4)=CHR$(13) THEN K$(W,4)="-"
  291. 547 RETURN
  292. 550 R=12: S=29: L=25: PK%=1: GOSUB 20: K$(W,5)=ZZ$
  293. 551 IF K$(W,5)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 550
  294. 552 RETURN
  295. 555 R=13: S=29: L=25: PK%=1: GOSUB 20: K$(W,6)=ZZ$
  296. 556 IF K$(W,6)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 555
  297. 557 RETURN
  298. 560 R=14: S=29: L=15: PK%=1: GOSUB 20: K$(W,7)=ZZ$
  299. 561 IF K$(W,7)=CHR$(13) THEN K$(W,7)="-"
  300. 562 RETURN
  301. 565 R=16: S=29: L= 2: PK%=2: GOSUB 20: K$(W,8)=ZZ$
  302. 566 IF K$(W,8)=CHR$(13) THEN K$(W,8)="0"
  303. 567 IF K$(W,8)="0" THEN F$="OHNE" ELSE F$="MIT "
  304. 568 GOTO 585
  305. 569 RETURN
  306. 570 R=17: S=29: L=1: PK%=2: GOSUB 20: K$(W,9)=ZZ$: IF K$(W,9)=CHR$(13) THEN K$(W,9)="0": GOTO 573
  307. 571 IF K$(W,9)="0" OR K$(W,9)="1" THEN 573
  308. 572 ZZ$="": BEEP: GOTO 570
  309. 573 IF K$(W,9)="0" THEN F$="NEIN" ELSE F$="JA  "
  310. 581 IF K$(W,9)="0" THEN LOCATE 17,29: PRINT "0";TAB(32);F$
  311. 582 IF K$(W,9)="1" THEN LOCATE 17,29: PRINT "1";TAB(32);F$
  312. 583 RETURN
  313. 585 IF K$(W,8)="0" THEN LOCATE 16,29: PRINT "0";TAB(32);F$: GOTO 587
  314. 586 LOCATE 16,29: PRINT K$(W,8);TAB(32);F$
  315. 587 RETURN
  316. 600 GOSUB 60: LOCATE 4,5: PRINT "DATUM : ";DA$
  317. 602 LOCATE 6,1: COLOR 0,7: PRINT  " NAMEN SUCHEN = #      ZUM HAUPTMENÜ = *": COLOR 7,0
  318. 603 GOSUB 210
  319. 605 GOSUB 375: ZZ$="": R=8: S=29: L=6: PK%=1: GOSUB 20: SU$=ZZ$: IF SU$="*" THEN 100
  320. 607 IF SU$="#" THEN GOSUB 375: GOTO 610
  321. 608 IF SU$=CHR$(13) THEN BEEP: GOSUB 370: GOTO 605
  322. 609 GOTO 615
  323. 610 GOSUB 375: ZZ$="": R=10: S=29: L=20: PK%=1: GOSUB 20: SU$=ZZ$: IF SU$="*" THEN 100
  324. 611 IF SU$="#" THEN ZZ$="": GOTO 605
  325. 612 IF SU$=CHR$(13) THEN BEEP: GOSUB 370: GOTO 610
  326. 613 GOTO 620
  327. 615 FOR W=1 TO K: FOR J=1 TO 6
  328. 616 IF SU$=LEFT$(K$(W,1),J) THEN 650
  329. 617 NEXT: NEXT
  330. 618 GOSUB 90: ZZ$="": GOTO 605
  331. 620 FOR W=1 TO K: FOR J=1 TO 20
  332. 621 IF SU$=LEFT$(K$(W,3),J) THEN 650
  333. 622 NEXT: NEXT
  334. 623 GOSUB 90: GOTO 610
  335. 630 LPRINT TAB(5)CHR$(14)"AUSGABE KUNDEN-DATENSATZ ";W: LPRINT TAB(5)"STAND VOM         : ";DA$
  336. 631 LPRINT TAB(5)"KUNDEN-NUMMER     : ";K$(W,1)
  337. 632 LPRINT TAB(5)"KUNDEN-NAME       : ";K$(W,2);" ";K$(W,3)
  338. 633 LPRINT TAB(5)"ZUSATZTEXT        : ";K$(W,4)
  339. 634 LPRINT TAB(5)"STRASSE           : ";K$(W,5)
  340. 635 LPRINT TAB(5)"PLZ / ORT         : ";K$(W,6)
  341. 636 LPRINT TAB(5)"TELEFON           : ";K$(W,7)
  342. 637 IF K$(W,8)="0" THEN F$="OHNE RABATT" ELSE F$="MIT RABATT"
  343. 638 LPRINT TAB(5)"RABATT / SKONTI   : ";K$(W,8);"  ";F$
  344. 639 IF K$(W,9)="0" THEN F$="KEINE SPERRE" ELSE F$="ACHTUNG ! LIEFERSPERRE"
  345. 640 LPRINT TAB(5)"LIEFERSPERRE      : ";F$
  346. 642 CLOSE: RETURN
  347. 650 LOCATE 4,5: PRINT "DATUM : ";DA$
  348. 654 LOCATE 4,60: PRINT "DATENSATZ :";W
  349. 655 GOSUB 470
  350. 660 LOCATE 19,1: PRINT STRING$(80,45)
  351. 661 LOCATE 20,1: PRINT "  KORREKTUR = 1 - 9       LÖSCHEN =  L      SPEICHERN =  S         MENÜ =  H    "
  352. 662 LOCATE 21,1: PRINT "                                            AUSDRUCK  =  P     NEUSTART =  N    "
  353. 663 LOCATE 22,1: PRINT STRING$(80,45)
  354. 665 E$=INKEY$: IF E$="" THEN 665
  355. 666 IF E$="H" OR E$="h" THEN 100
  356. 667 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 410
  357. 668 IF E$="P" OR E$="p" THEN GOSUB 900: GOSUB 85: GOSUB 630: GOTO 660
  358. 669 IF E$="N" OR E$="n" THEN 602
  359. 670 IF E$="L" OR E$="l" THEN GOSUB 4000: GOTO 660
  360. 671 IF E$="1" THEN GOSUB 70: ZZ$=K$(W,1): GOSUB 530: GOTO 660
  361. 672 IF E$="2" THEN GOSUB 70: ZZ$=K$(W,2): GOSUB 535: GOTO 660
  362. 673 IF E$="3" THEN GOSUB 70: ZZ$=K$(W,3): GOSUB 540: GOTO 660
  363. 674 IF E$="4" THEN GOSUB 70: ZZ$=K$(W,4): GOSUB 545: GOTO 660
  364. 675 IF E$="5" THEN GOSUB 70: ZZ$=K$(W,5): GOSUB 550: GOTO 660
  365. 676 IF E$="6" THEN GOSUB 70: ZZ$=K$(W,6): GOSUB 555: GOTO 660
  366. 677 IF E$="7" THEN GOSUB 70: ZZ$=K$(W,7): GOSUB 560: GOTO 660
  367. 678 IF E$="8" THEN GOSUB 70: ZZ$=K$(W,8): GOSUB 565: GOTO 660
  368. 679 IF E$="9" THEN GOSUB 70: ZZ$=K$(W,9): GOSUB 570: GOTO 660
  369. 681 GOTO 665
  370. 700 LOCATE 20,1: PRINT STRING$(80,45)
  371. 701 LOCATE 21,1: PRINT "       GESAMT = G     LIEFERSPERRE = L                  HAUPTMENÜ = H           "
  372. 702 LOCATE 22,1: PRINT STRING$(80,45)
  373. 705 E$=INKEY$: IF E$="" THEN 705
  374. 706 IF E$="G" OR E$="g" THEN 720
  375. 707 IF E$="L" OR E$="l" THEN N=9: A$="LIEFERSPERRE": VG$="0": N1$="NEIN": N2$="JA  ": GOTO 770
  376. 709 IF E$="H" OR E$="h" THEN 110
  377. 710 GOTO 705
  378. 720 GOSUB 60
  379. 721 LOCATE 6,2: PRINT "KD-NR   NACHNAME              ORT                        RABATT"
  380. 725 V=0: LOCATE 7,2: FOR W=1 TO K : V=V+1
  381. 726 PRINT TAB(2);K$(W,1);TAB(10);K$(W,3);TAB(32);K$(W,6);TAB(59);K$(W,8);
  382. 727 IF K$(W,8)="0" THEN F$="NEIN" ELSE F$="JA  "
  383. 728 PRINT TAB(63);F$
  384. 729 IF V=12 THEN 740
  385. 730 IF W=K THEN 732
  386. 731 NEXT
  387. 732 LOCATE 20,1: PRINT STRING$(80,45)
  388. 733 LOCATE 21,1: PRINT "     DATENENDE           ZURÜCK = Z      NEUBEGINN = N      HAUPTMENÜ = H       "
  389. 734 LOCATE 22,1: PRINT STRING$(80,45)
  390. 735 E$=INKEY$: IF E$="" THEN 735
  391. 736 IF E$="Z" OR E$="z" THEN 758
  392. 737 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 725
  393. 738 IF E$="H" OR E$="h" THEN 100
  394. 739 GOTO 735
  395. 740 LOCATE 20,1: PRINT STRING$(80,45)
  396. 741 LOCATE 21,1: PRINT "     WEITER = W          ZURÜCK = Z      NEUBEGINN = N      HAUPTMENÜ = H       "
  397. 742 LOCATE 22,1: PRINT STRING$(80,45)
  398. 745 E$=INKEY$: IF E$="" THEN 745
  399. 746 IF E$="Z" OR E$="z" THEN 755
  400. 747 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 725
  401. 748 IF E$="H" OR E$="h" THEN 100
  402. 749 IF E$="W" OR E$="w" THEN GOSUB 760: V=0: LOCATE 7,2: GOTO 731
  403. 750 GOTO 745
  404. 755 W=W-24
  405. 756 IF W<=0 THEN W=1: GOSUB 760: GOTO 725
  406. 757 V=0: GOSUB 760: LOCATE 7,2: GOTO 726
  407. 758 W=W-V-12: GOTO 756
  408. 760 J=0: FOR J=1 TO 12
  409. 761 LOCATE 5+J,2: PRINT SPACE$(80): NEXT: RETURN
  410. 770 GOSUB 60
  411. 771 LOCATE 6,2: PRINT "KD-NR   NACHNAME              ORT                       ";A$
  412. 772 V=0: LOCATE 7,2: FOR W=1 TO K: V=V+1: IF K$(W,N)=VG$ THEN F$=N1$ ELSE F$=N2$
  413. 773 PRINT TAB(2);K$(W,1);TAB(10);K$(W,3);TAB(32);K$(W,6);TAB(59);K$(W,N);
  414. 775 PRINT TAB(63);F$
  415. 776 IF V=12 THEN 790
  416. 777 IF W=K THEN 780
  417. 778 NEXT
  418. 780 LOCATE 20,1: PRINT STRING$(80,45)
  419. 781 LOCATE 21,1: PRINT "     DATENENDE                           NEUBEGINN = N      HAUPTMENÜ = H       "
  420. 782 LOCATE 22,1: PRINT STRING$(80,45)
  421. 785 E$=INKEY$: IF E$="" THEN 785
  422. 787 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 772
  423. 788 IF E$="H" OR E$="h" THEN 100
  424. 789 GOTO 785
  425. 790 LOCATE 20,1: PRINT STRING$(80,45)
  426. 791 LOCATE 21,1: PRINT "     WEITER = W                          NEUBEGINN = N      HAUPTMENÜ = H       "
  427. 792 LOCATE 22,1: PRINT STRING$(80,45)
  428. 795 E$=INKEY$: IF E$="" THEN 795
  429. 796 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 772
  430. 797 IF E$="H" OR E$="h" THEN 100
  431. 798 IF E$="W" OR E$="w" THEN GOSUB 760 : V=0: LOCATE 7,2: GOTO 778
  432. 799 GOTO 795
  433. 800 LOCATE 20,1: PRINT STRING$(80,45)
  434. 801 LOCATE 21,5: PRINT "  GESAMTDRUCK = G     DATENSÄTZE = S   LIEFERSPERREN = L     MENÜ = H"
  435. 802 LOCATE 22,1: PRINT STRING$(80,45)
  436. 805 E$=INKEY$: IF E$="" THEN 805
  437. 806 IF E$="G" OR E$="g" THEN GOSUB 75: GOTO 820
  438. 807 IF E$="S" OR E$="s" THEN 860
  439. 808 IF E$="L" OR E$="l" THEN GOSUB 75: GOTO 840
  440. 809 IF E$="H" OR E$="h" THEN 110
  441. 810 GOTO 805
  442. 820 GOSUB 821: GOTO 825
  443. 821 LPRINT TAB(2);"KU-NR.  NACHNAME              STRASSE                    PLZ / ORT"
  444. 822 LPRINT TAB(2);"____________________________________________________________________________": RETURN
  445. 825 V=0: FOR W=1 TO K: V=V+1
  446. 826 LPRINT TAB(1);K$(W,1);TAB(9);K$(W,3);TAB(31);K$(W,5);TAB(58);LEFT$(K$(W,6),20)
  447. 827 IF V=60 THEN V=0: GOSUB 95: GOSUB 85: GOSUB 821
  448. 828 NEXT
  449. 829 LPRINT " ": LPRINT TAB(2);"____________________________________________________________________________": LPRINT " "
  450. 830 LPRINT TAB(2)"ANZAHL DER DATENSÄTZE : ";K;"   AKTUELLER STAND VOM : ";DA$: LPRINT "": CLOSE: GOTO 100
  451. 840 GOSUB 841: GOTO 845
  452. 841 LPRINT TAB(2);"KU-NR.  NACHNAME              ORT                        LIEFERSPERRE"
  453. 842 LPRINT TAB(2);"____________________________________________________________________________": RETURN
  454. 845 V=0: FOR W=1 TO K: V=V+1
  455. 846 LPRINT TAB(1);K$(W,1);TAB(9);K$(W,3);TAB(31);K$(W,6);TAB(58);K$(W,9);
  456. 847 IF K$(W,9)="0" THEN F$="KEINE SPERRE" ELSE F$="ACHTUNG! SPERRE"
  457. 848 LPRINT TAB(62);F$
  458. 849 IF V=60 THEN V=0: GOSUB 95: GOSUB 85: GOSUB 841
  459. 850 NEXT
  460. 851 LPRINT " ": LPRINT TAB(2);"____________________________________________________________________________": LPRINT " "
  461. 852 LPRINT TAB(2)"ANZAHL DER DATENSÄTZE : ";K;"    AKTUELLER STAND VOM : ";DA$: LPRINT "": CLOSE: GOTO 100
  462. 860 LOCATE 21,5: PRINT SPACE$(74): FOR W=1 TO K
  463. 861 LOCATE 21,5: PRINT K$(W,1);TAB(13);K$(W,3);TAB(40)"DRUCKEN = D   WEITER= W   MENÜ = H"
  464. 865 E$=INKEY$: IF E$="" THEN 865
  465. 866 IF E$="D" OR E$="d" THEN GOSUB 900: GOSUB 85: GOSUB 630: GOTO 871
  466. 867 IF E$="W" OR E$="w" THEN 870
  467. 868 IF E$="H" OR E$="h" THEN 110
  468. 869 GOTO 865
  469. 870 IF W=K THEN 872
  470. 871 NEXT
  471. 872 LOCATE 21,5: PRINT SPACE$(74)
  472. 873 LOCATE 21,5: PRINT "      DATENENDE           NEUBEGINN = N           HAUPTMENÜ = H"
  473. 875 E$=INKEY$: IF E$="" THEN 875
  474. 876 IF E$="N" OR E$="n" THEN 860
  475. 877 IF E$="H" OR E$="h" THEN 110
  476. 878 GOTO 875
  477. 900 ON ERROR GOTO 903
  478. 901 RETURN
  479. 902 OPEN "lpt1:" FOR OUTPUT AS #1
  480. 903 IF ERR=27 OR ERR= 57 OR ERR=24 OR ERR=25 THEN 910
  481. 904 REM
  482. 910 LOCATE 19,1: PRINT  SPACE$(80): PP=1: LOCATE 20,1: PRINT STRING$(80,45)
  483. 911 LOCATE 21,1: PRINT "            KEIN DRUCKER EINGESCHALTET . BELIEBIGE TASTE DRÜCKEN                "
  484. 912 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOTO 100
  485. 2000 LOCATE 20,1: PRINT STRING$(80,45)
  486. 2001 LOCATE 21,1: PRINT "        VORHANDENE DATEN ZULADEN = L   NEUBEGINN = N     HAUPTMENÜ = H          "
  487. 2002 LOCATE 22,1: PRINT STRING$(80,45)
  488. 2005 E$=INKEY$: IF E$="" THEN 2005
  489. 2006 IF E$="L" OR E$="l" THEN GOSUB 390: GOTO 200
  490. 2007 IF E$="N" OR E$="n" THEN K=0: GOTO 200
  491. 2008 IF E$="H" OR E$="h" THEN 110
  492. 2009 GOTO 2005
  493. 4000  LOCATE 19,1: PRINT SPACE$(80)
  494. 4001  LOCATE 20,1: PRINT STRING$(80,45)
  495. 4002 LOCATE 21,1: PRINT "      DATENSATZ LÖSCHEN = L                  OHNE LÖSCHUNG ZURÜCK = Z      ";TAB(80)
  496. 4003 LOCATE 22,1: PRINT STRING$(80,45)
  497. 4010 E$=INKEY$: IF E$="" THEN 4010
  498. 4011 IF E$="l" OR E$="L" THEN 4020
  499. 4012 IF E$="Z" OR E$="z" THEN RETURN
  500. 4013 GOTO 4010
  501. 4020 Y=0: J=0: FOR Y=W TO K: FOR J=1 TO 9: K$(Y,J)=K$(Y+1,J): NEXT J,Y
  502. 4021 FOR J=1 TO 9: K$(K,J)=" ": NEXT: K=K-1
  503. 4022 LOCATE 20,1: PRINT STRING$(80,45)
  504. 4023 LOCATE 21,1: PRINT "            DATENSATZ GELÖSCHT       BELIEBIGE TASTE DRÜCKEN                    "
  505. 4024 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOSUB 380: GOTO 100
  506. 5000 LOCATE 20,1: PRINT STRING$(80,45)
  507. 5001 LOCATE 21,1: PRINT "        nach KUNDEN-NUMMER = K    nach NACHNAMEN = N    HAUPTMENÜ = H           "
  508. 5002 LOCATE 22,1: PRINT STRING$(80,45)
  509. 5005 E$=INKEY$: IF E$="" THEN 5005
  510. 5006 IF E$="K" OR E$="k" THEN N=1: GOSUB 45000: GOTO 110
  511. 5007 IF E$="N" OR E$="n" THEN N=3: GOSUB 45000: GOTO 110
  512. 5008 IF E$="H" OR E$="h" THEN 110
  513. 5009 GOTO 5005
  514. 6000 LOCATE 20,1: PRINT STRING$(80,45)
  515. 6001 LOCATE 21,1: PRINT "             DATENDISKETTE IN LAUFWERK :                                        "
  516. 6002 LOCATE 22,1: PRINT STRING$(80,45)
  517. 6003 ZZ$="": R=21: S=42: L=1: PK%=1: GOSUB 20: B$=ZZ$
  518. 6004 IF B$=CHR$(13) THEN BEEP: GOSUB 6010: GOTO 6003
  519. 6005 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 6007
  520. 6006 BEEP: GOSUB 6010: GOTO 6003
  521. 6007 GOTO 100
  522. 6010 LOCATE 21,50: PRINT "EINGABEN A,B,C ODER D": RETURN
  523. 40000 LOCATE 19,1: PRINT SPACE$(80)
  524. 40001 LOCATE 20,1: PRINT string$(80,45)
  525. 40002 LOCATE 21,1: PRINT "      DATENSATZ LÖSCHEN = L                  OHNE LÖSCHUNG ZURÜCK = Z      ";TAB(80)
  526. 40003 LOCATE 22,1: PRINT string$(80,45)
  527. 40010 E$=INKEY$: IF E$="" THEN 40010
  528. 40011 IF E$="l" OR E$="L" THEN 40020
  529. 40012 IF E$="Z" OR E$="z" THEN RETURN
  530. 40013 GOTO 40010
  531. 40020 Y=0: J=0: FOR Y=W TO K: FOR J=1 TO 9: K$(Y,J)=K$(Y+1,J): NEXT J,Y
  532. 40021 FOR J=1 TO 9: K$(K,J)=" ": NEXT: K=K-1
  533. 40022 LOCATE 20,1: PRINT string$(80,45)
  534. 40023 LOCATE 21,1: PRINT "            DATENSATZ GELÖSCHT       BELIEBIGE TASTE DRÜCKEN                    "
  535. 40024 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOSUB 210: RETURN
  536. 45000 J=0 : L=0 : I=0 : L=1 : Q(L)=K+1 : M=1
  537. 45001 J=Q(L) : I=M-1
  538. 45002 IF J-M<3 THEN 45016
  539. 45003 GOSUB 45022 : M1=INT((I+J)/2)
  540. 45004 I=I+1
  541. 45005 IF I=J THEN 45012
  542. 45006 IF K$(I,N) <= K$(M1,N) THEN 45004
  543. 45007 J=J-1
  544. 45008 IF I=J THEN 45012
  545. 45009 IF K$(J,N)>= K$(M1,N) THEN 45007
  546. 45010 FOR Z=1 TO 9 : K$(O,Z)=K$(I,Z) : K$(I,Z)=K$(J,Z) : K$(J,Z)=K$(O,Z) : NEXT Z
  547. 45011 GOTO 45004
  548. 45012 IF I>=M1 THEN I=I-1
  549. 45013 IF J=M1 THEN 45015
  550. 45014 FOR Z=1 TO 9: K$(O,Z)=K$(I,Z) : K$(I,Z)=K$(M1,Z) : K$(M1,Z)=K$(O,Z) : NEXT
  551. 45015 L=L+1 : Q(L)=I : GOTO 45001
  552. 45016 IF J-M<2 THEN 45019
  553. 45017 IF K$(M,N)<K$(M+1,N) THEN 45019
  554. 45018 FOR Z=1 TO 9: K$(O,Z)=K$(M,Z) : K$(M,Z)=K$(M+1,Z) : K$(M+1,Z)=K$(O,Z) : NEXT
  555. 45019 M=Q(L) +1 : L=L-1
  556. 45020 IF L> 0 THEN 45001
  557. 45021 RETURN
  558. 45022 LOCATE 20,1: PRINT string$(80,45)
  559. 45023 LOCATE 21,5: PRINT "     SORTIERVORGANG IN ARBEIT    : ";I;"                                  "
  560. 45024 LOCATE 22,1: PRINT string$(80,45): RETURN
  561.  
  562.