home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
paket__1
/
kunde.bas
< prev
next >
Wrap
BASIC Source File
|
1997-10-09
|
26KB
|
562 lines
1 WIDTH 80
3 DIM K$(401,9),Q(401)
4 GOTO 185
10 IF K<=0 THEN 12
11 RETURN
12 LOCATE 20,1: PRINT STRING$(80,45)
13 LOCATE 21,1: PRINT " NOCH KEINE KUNDENDATEI AUF DISK ANGELEGT BELIEBIGE TASTE "
14 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOTO 110
15 LOCATE 20,1: PRINT STRING$(80,45)
16 LOCATE 21,1: PRINT " KUNDENDATEN WERDEN EINGELESEN "
17 LOCATE 22,1: PRINT STRING$(80,45): RETURN
20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),95):Z2=0:Y=1
21 LOCATE R,S:PRINT ZZ$;
22 LOCATE R,S+Y-1
23 Z$=INKEY$: IF Z$="" THEN 23 ELSE Z=ASC(Z$): Z1=0: IF Z=0 THEN Z1=ASC(RIGHT$(Z$,1))
24 IF Z<>13 THEN 28 ELSE IF Z2 >0 THEN 23
25 IF Y=1 THEN ZZ$=CHR$(13): RETURN
26 IF RIGHT$(ZZ$,1)="_" THEN ZZ$=LEFT$(ZZ$,INSTR(ZZ$,"_")-1)
27 RETURN
28 IF Z<>0 THEN 48
29 IF Z1<>71 THEN 31 ELSE IF Y=1 OR Z2 THEN 23
30 Y=1:GOTO 22
31 IF Z1<>75 THEN 33 ELSE IF Y=1 OR Z2 THEN 23
32 Y=Y-1:GOTO 22
33 REM
34 Y=Y+1:GOTO 22
35 IF Z1<>79 THEN 39 ELSE IF Y>L OR Z2 THEN 23
36 IF MID$(ZZ$,Y,1)="_" THEN 23
37 Y=Y+1
38 IF MID$(ZZ$,Y,1)="_" THEN 22 ELSE 37
39 IF Z1<>82 THEN 42 ELSE IF RIGHT$(ZZ$,1)<>"_" THEN 23
40 IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
41 ZZ$=LEFT$(ZZ$,Y-1)+"_"+MID$(ZZ$,Y,L-Y):Z2=Z2+1:GOTO 21
42 IF Z1<>83 THEN 44 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
43 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+MID$(ZZ$,Y+1)+"_":GOTO 21
44 IF Z1<>117 THEN 46 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
45 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+STRING$(L-Y+1,95):GOTO 21
46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,95):Y=1:GOTO 21
48 IF Z<>8 THEN 50 ELSE IF Y=1 THEN 23
49 ZZ$=LEFT$(ZZ$,Y-2)+MID$(ZZ$,Y)+"_":Y=Y-1:GOTO 21
50 IF Z<>27 THEN 51 ELSE ZZ$=STRING$(L,95):Y=1:Z2=0: GOTO 21
51 IF Z=95 OR Y>L THEN 23
52 ON PK% GOTO 55,53,54
53 IF Z<46 OR Z>58 THEN 23 ELSE 55
54 IF Z<>106 AND Z<>110 THEN 23
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
56 IF Z2 THEN Z2=Z2-1
57 RETURN
60 CLS
61 LOCATE 2,1: PRINT STRING$(80,45)
62 LOCATE 3,1: PRINT SPACE$(29)+" K U N D E N - S T A M M "+SPACE$(24)
63 LOCATE 4,1: PRINT SPACE$(28)+"(c) 1991 by Siegfried Hübner"+SPACE$(26)
64 LOCATE 5,1: PRINT STRING$(80,45): RETURN
65 LOCATE 20,1: PRINT STRING$(80,45)
66 LOCATE 21,1: PRINT " KUNDENDATEN WERDEN ABGESPEICHERT "
67 LOCATE 22,1: PRINT STRING$(80,45): RETURN
70 LOCATE 19,1: PRINT SPACE$(80): PP=1: LOCATE 20,1: PRINT STRING$(80,45)
71 LOCATE 21,1: PRINT " MINDESTENS 1 ZEICHEN KORRIGIEREN UND RETURN DRÜCKEN "
72 LOCATE 22,1: PRINT STRING$(80,45): RETURN
75 GOSUB 900: LOCATE 19,1: PRINT SPACE$(80): LOCATE 20,1: PRINT STRING$(80,45)
76 LOCATE 21,1: PRINT " DRUCKER EINSCHALTEN + TASTE = D ZUM HAUPTMENÜ TASTE = H "
77 LOCATE 22,1: PRINT STRING$(80,45)
78 E$=INKEY$: IF E$="" THEN 78
79 IF E$="D" OR E$="d" THEN GOSUB 85: RETURN
80 IF E$="H" OR E$="h" THEN 100
81 GOTO 78
85 LOCATE 19,1: PRINT SPACE$(80): LOCATE 20,1: PRINT STRING$(80,45)
86 LOCATE 21,1: PRINT " DRUCKER IN BETRIEB BITTE WARTEN "
87 LOCATE 22,1: PRINT STRING$(80,45): RETURN
90 LOCATE 20,1: PRINT STRING$(80,45)
91 LOCATE 21,1: PRINT " BELIEBIGE TASTE DRÜCKEN "
92 LOCATE 22,1: PRINT STRING$(80,45)
93 E$=INKEY$: IF E$="" THEN 93
94 RETURN
95 LOCATE 20,1: PRINT STRING$(80,45)
96 LOCATE 21,1: PRINT " NEUES PAPIER EINLEGEN BELIEBIGE TASTE DRÜCKEN "
97 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: RETURN
100 GOSUB 60
103 LOCATE 7,27: PRINT "[ 1 ] EINGABE DER DATEN"
104 LOCATE 9,27: PRINT "[ 2 ] AUSGABE DER DATEN"
105 LOCATE 11,27: PRINT "[ 3 ] SUCHEN DER DATEN"
106 LOCATE 13,27: PRINT "[ 4 ] LISTEN DER DATEN"
107 LOCATE 15,27: PRINT "[ 5 ] AUSDRUCK DER DATEN"
108 LOCATE 17,27: PRINT "[ 6 ] SORTIEREN DER DATEN"
109 LOCATE 19,27: PRINT "[ 7 ] SPEICHERN DER DATEN"
110 LOCATE 20,1: PRINT STRING$(80,45)
111 LOCATE 21,1: PRINT " HAUPTMENÜ = H ABBRUCH = A ";TAB(80)
112 LOCATE 22,1: PRINT STRING$(80,45)
113 LOCATE 4,5: PRINT "DATENSÄTZE :";K
120 E$=INKEY$: IF E$="" THEN 120
121 IF E$="1" THEN 2000
122 IF E$="2" THEN GOSUB 140: GOTO 400
123 IF E$="3" THEN GOSUB 140: GOTO 600
124 IF E$="4" THEN GOSUB 140: GOTO 700
125 IF E$="5" THEN GOSUB 140: GOTO 800
126 IF E$="H" OR E$="h" THEN 180
127 IF E$="A" OR E$="a" THEN 170
129 IF E$="6" THEN GOSUB 140: GOTO 5000
130 IF E$="7" THEN GOSUB 150: GOSUB 380: GOTO 110
131 GOTO 120
140 IF K=0 THEN GOSUB 390: RETURN
141 RETURN
150 IF K=0 THEN 12
151 RETURN
170 LOCATE 20,1: PRINT STRING$(80,45)
171 LOCATE 21,1: PRINT " SICHER (J/N) ? "
172 LOCATE 22,1: PRINT STRING$(80,45)
173 E$=INKEY$: IF E$="" THEN 173
174 IF E$="j" OR E$="J" THEN CLS: END
175 GOTO 110
180 LOCATE 20,1: PRINT STRING$(80,45)
181 LOCATE 21,1: PRINT " HAUPTMENÜ WIRD GELADEN "
182 LOCATE 22,1: PRINT STRING$(80,45)
183 RUN "MENUE"
185 LOCATE 20,1: PRINT STRING$(80,45)
186 LOCATE 21,1: PRINT " HEUTIGES DATUM : . .19 "
187 LOCATE 22,1: PRINT STRING$(80,45)
188 ZZ$="": R=21: S=43: L=2: PK%=2: GOSUB 20: D1$=ZZ$
189 IF D1$=CHR$(13) THEN BEEP: GOTO 188
190 SU=VAL(D1$): IF LEN(D1$)<>2 OR SU <=0 OR SU>31 THEN BEEP: GOTO 188
191 ZZ$="": R=21: S=46: L=2: PK%=2: GOSUB 20: D2$=ZZ$
192 IF D2$=CHR$(13) THEN BEEP: GOTO 191
193 SU=VAL(D2$): IF LEN(D2$)<>2 OR SU <=0 OR SU>12 THEN BEEP: GOTO 191
194 ZZ$="": R=21: S=51: L=2: PK%=2: GOSUB 20: D3$=ZZ$
195 IF D3$=CHR$(13) THEN BEEP: GOTO 194
196 SU=VAL(D3$): IF LEN(D3$)<>2 OR SU <=85 OR SU>99 THEN BEEP: GOTO 194
197 P$=D1$+"."+D2$+".19"+D3$
198 GOTO 6000
200 GOSUB 60: LOCATE 3,5: PRINT "DATUM : ";P$: LOCATE 4,5: PRINT "MAXIMAL : 400"
201 K=K+1: LOCATE 4,60: PRINT "DATENSATZ :";K: GOSUB 375
202 LOCATE 6,1: COLOR 0,7: PRINT " KUNDEN STAMM - EINGABE";: COLOR 7,0: PRINT " IM ERSTEN FELD MIT * ZUR BEFEHLSZEILE"
203 IF K>=400 THEN 205
204 GOTO 209
205 LOCATE 20,1: PRINT STRING$(80,45)
206 LOCATE 21,1: PRINT " MAXIMALE EINGABELÄNGE ERREICHT BELIEBIGE TASTE DRÜCKEN "
207 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOSUB 380: GOTO 100
209 GOSUB 210: GOTO 229
210 LOCATE 8,1: PRINT "[ 1 ] KUNDEN - NUMMER : "
211 LOCATE 9,1: PRINT "[ 2 ] VORNAME : "
212 LOCATE 10,1: PRINT "[ 3 ] NACHNAME : "
213 LOCATE 11,1: PRINT "[ 4 ] ZUSATZTEXT : "
214 LOCATE 12,1: PRINT "[ 5 ] STRASSE : "
215 LOCATE 13,1: PRINT "[ 6 ] PLZ / ORT : "
216 LOCATE 14,1: PRINT "[ 7 ] TELEFON : "
217 LOCATE 16,1: PRINT "[ 8 ] RABATT IN % : "
218 LOCATE 17,1: PRINT "[ 9 ] LIEFERSPERRE : (0=OHNE / 1=MIT)"
220 RETURN
229 ZZ$=""
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
231 IF K$(K,1)=CHR$(13) THEN BEEP: GOSUB 370: GOTO 229
232 Z=VAL(K$(K,1)): IF LEN(K$(K,1))<>6 OR Z<=0 THEN BEEP: GOSUB 370: GOTO 229
233 GOSUB 375
234 ZZ$="": IF PP=1 THEN RETURN
235 R=9: S=29: L=15: PK%=1: GOSUB 20: K$(K,2)=ZZ$
236 IF K$(K,2)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 235
237 IF PP=1 THEN RETURN
238 GOSUB 375
239 ZZ$=""
240 R=10: S=29: L=20: PK%=1: GOSUB 20: K$(K,3)=ZZ$
241 IF K$(K,3)=CHR$(13) THEN K$(K,3)="-"
242 IF PP=1 THEN RETURN
243 ZZ$="-"
245 R=11: S=29: L=20: PK%=1: GOSUB 20: K$(K,4)=ZZ$
246 IF K$(K,4)=CHR$(13) THEN K$(K,4)="-"
247 IF PP=1 THEN RETURN
249 ZZ$=""
250 R=12: S=29: L=25: PK%=1: GOSUB 20: K$(K,5)=ZZ$
251 IF K$(K,5)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 250
252 IF PP=1 THEN RETURN
253 GOSUB 375
254 ZZ$=""
255 R=13: S=29: L=25: PK%=1: GOSUB 20: K$(K,6)=ZZ$
256 IF K$(K,6)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 255
257 IF PP=1 THEN RETURN
258 GOSUB 375
259 ZZ$="-"
260 R=14: S=29: L=15: PK%=1: GOSUB 20: K$(K,7)=ZZ$
261 IF K$(K,7)=CHR$(13) THEN K$(K,7)="-"
262 IF PP=1 THEN RETURN
263 ZZ$="0"
265 R=16: S=29: L= 2: PK%=2: GOSUB 20: K$(K,8)=ZZ$
266 IF K$(K,8)=CHR$(13) THEN K$(K,8)="0"
267 IF K$(K,8)="0" THEN F$="OHNE" ELSE F$="MIT "
268 LOCATE 16,29: PRINT K$(K,8);TAB(32);F$: IF PP=1 THEN RETURN
269 ZZ$="0"
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
271 IF K$(K,9)="0" OR K$(K,9)="1" THEN 273
272 BEEP: GOTO 269
273 IF K$(K,9)="0" THEN F$="NEIN" ELSE F$="JA "
274 LOCATE 17,29: PRINT K$(K,9);TAB(32);F$: ZZ$="": IF PP=1 THEN RETURN
329 LOCATE 20,1: PRINT STRING$(80,45)
330 LOCATE 21,1: PRINT " WEITER= W KORREKTUR = 1 - 9 SPEICHERN = S HAUPTMENÜ = H "
331 LOCATE 22,1: PRINT STRING$(80,45)
332 PP=0
340 E$=INKEY$: IF E$="" THEN 340
341 IF E$="W" OR E$="w" THEN 201
342 IF E$="H" OR E$="h" THEN 100
343 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 329
344 IF E$="1" THEN GOSUB 70: ZZ$=K$(K,1): GOSUB 230: GOTO 329
345 IF E$="2" THEN GOSUB 70: ZZ$=K$(K,2): GOSUB 235: GOTO 329
346 IF E$="3" THEN GOSUB 70: ZZ$=K$(K,3): GOSUB 240: GOTO 329
347 IF E$="4" THEN GOSUB 70: ZZ$=K$(K,4): GOSUB 245: GOTO 329
348 IF E$="5" THEN GOSUB 70: ZZ$=K$(K,5): GOSUB 250: GOTO 329
349 IF E$="6" THEN GOSUB 70: ZZ$=K$(K,6): GOSUB 255: GOTO 329
350 IF E$="7" THEN GOSUB 70: ZZ$=K$(K,7): GOSUB 260: GOTO 329
351 IF E$="8" THEN GOSUB 70: ZZ$=K$(K,8): GOSUB 265: GOTO 329
352 IF E$="9" THEN GOSUB 70: ZZ$=K$(K,9): GOSUB 270: GOTO 329
361 GOTO 340
370 LOCATE 20,1: PRINT STRING$(80,45)
371 LOCATE 21,1: PRINT " ACHTUNG ! EINGABE ZWINGEND ERFORDERLICH "
372 LOCATE 22,1: PRINT STRING$(80,45): RETURN
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
380 GOSUB 65: NA$=B$+":DATKUN.DAT": DA$=P$
381 OPEN NA$ FOR OUTPUT AS #1
382 PRINT #1,DA$
383 PRINT #1,K
384 FOR I=1 TO K: FOR M=1 TO 9
385 PRINT #1,K$(I,M)
386 NEXT: NEXT: CLOSE #1: RETURN
390 ON ERROR GOTO 398: GOSUB 15: NA$=B$+":DATKUN.DAT"
391 OPEN NA$ FOR INPUT AS #1
392 INPUT #1,DA$
393 INPUT #1,K
394 FOR I=1 TO K: FOR M=1 TO 9
395 INPUT #1,K$(I,M)
396 NEXT: NEXT
397 CLOSE #1: GOSUB 10: RETURN
398 IF ERR=58 AND ERR=53 OR ERR =1230 THEN 12
399 REM
400 GOSUB 60: LOCATE 4,5: PRINT "DATUM : ";DA$
402 LOCATE 6,1: COLOR 0,7: PRINT " KUNDEN STAMM - AUSGABE": COLOR 7,0
403 FOR W=1 TO K
404 LOCATE 4,60: PRINT "DATENSATZ :";W
405 GOSUB 210: GOSUB 470
410 LOCATE 19,1: PRINT STRING$(80,45)
411 LOCATE 20,1: PRINT " KORREKTUR = 1 - 9 LÖSCHEN = L SPEICHERN = S MENÜ = H "
412 LOCATE 21,1: PRINT " WEITER = W ZURÜCK = Z AUSDRUCK = P NEUSTART = N "
413 LOCATE 22,1: PRINT STRING$(80,45)
420 E$=INKEY$: IF E$="" THEN 420
421 IF E$="W" OR E$="w" THEN 441
422 IF E$="Z" OR E$="z" THEN 455
423 IF E$="H" OR E$="h" THEN 100
424 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 410
425 IF E$="P" OR E$="p" THEN GOSUB 900: GOSUB 85: GOSUB 630: GOTO 410
426 IF E$="N" OR E$="n" THEN 403
427 IF E$="L" OR E$="l" THEN GOSUB 40000: GOTO 410
430 IF E$="1" THEN GOSUB 70: ZZ$=K$(W,1): GOSUB 530: GOTO 410
431 IF E$="2" THEN GOSUB 70: ZZ$=K$(W,2): GOSUB 535: GOTO 410
432 IF E$="3" THEN GOSUB 70: ZZ$=K$(W,3): GOSUB 540: GOTO 410
433 IF E$="4" THEN GOSUB 70: ZZ$=K$(W,4): GOSUB 545: GOTO 410
434 IF E$="5" THEN GOSUB 70: ZZ$=K$(W,5): GOSUB 550: GOTO 410
435 IF E$="6" THEN GOSUB 70: ZZ$=K$(W,6): GOSUB 555: GOTO 410
436 IF E$="7" THEN GOSUB 70: ZZ$=K$(W,7): GOSUB 560: GOTO 410
437 IF E$="8" THEN GOSUB 70: ZZ$=K$(W,8): GOSUB 565: GOTO 410
438 IF E$="9" THEN GOSUB 70: ZZ$=K$(W,9): GOSUB 570: GOTO 410
440 GOTO 420
441 IF W=K THEN 443
442 NEXT
443 GOSUB 210: LOCATE 19,1: PRINT STRING$(80,45)
444 LOCATE 20,1: PRINT " DATENENDE MENÜ = H "
445 LOCATE 21,1: PRINT " ZURÜCK = Z NEUSTART = N "
446 LOCATE 22,1: PRINT STRING$(80,45)
450 E$=INKEY$: IF E$="" THEN 450
451 IF E$="Z" OR E$="z" THEN 455
452 IF E$="H" OR E$="h" THEN 100
453 IF E$="N" OR E$="n" THEN 403
454 GOTO 450
455 W=W-1
456 IF W<=0 THEN W=1: GOTO 403
457 GOTO 404
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)
471 LOCATE 13,29: PRINT K$(W,6): LOCATE 14,29: PRINT K$(W,7)
472 IF K$(W,8)="0" THEN F$="OHNE" ELSE F$="MIT "
473 LOCATE 16,29: PRINT K$(W,8);TAB(32);F$
474 IF K$(W,9)="0" THEN F$="NEIN" ELSE F$="JA "
475 LOCATE 17,29: PRINT K$(W,9);TAB(32);F$
477 RETURN
530 R=8: S=29: L=6: PK%=2: GOSUB 20: K$(W,1)=ZZ$
531 IF K$(W,1)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 530
532 Z=VAL(K$(W,1)): IF Z<=0 THEN BEEP: GOSUB 370: ZZ$="": GOTO 530
534 RETURN
535 R=9: S=29: L=15: PK%=1: GOSUB 20: K$(W,2)=ZZ$
536 IF K$(W,2)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 535
537 RETURN
540 R=10: S=29: L=20: PK%=1: GOSUB 20: K$(W,3)=ZZ$
541 IF K$(W,3)=CHR$(13) THEN K$(W,3)="-"
542 RETURN
545 R=11: S=29: L=20: PK%=1: GOSUB 20: K$(W,4)=ZZ$
546 IF K$(W,4)=CHR$(13) THEN K$(W,4)="-"
547 RETURN
550 R=12: S=29: L=25: PK%=1: GOSUB 20: K$(W,5)=ZZ$
551 IF K$(W,5)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 550
552 RETURN
555 R=13: S=29: L=25: PK%=1: GOSUB 20: K$(W,6)=ZZ$
556 IF K$(W,6)=CHR$(13) THEN BEEP: GOSUB 370: ZZ$="": GOTO 555
557 RETURN
560 R=14: S=29: L=15: PK%=1: GOSUB 20: K$(W,7)=ZZ$
561 IF K$(W,7)=CHR$(13) THEN K$(W,7)="-"
562 RETURN
565 R=16: S=29: L= 2: PK%=2: GOSUB 20: K$(W,8)=ZZ$
566 IF K$(W,8)=CHR$(13) THEN K$(W,8)="0"
567 IF K$(W,8)="0" THEN F$="OHNE" ELSE F$="MIT "
568 GOTO 585
569 RETURN
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
571 IF K$(W,9)="0" OR K$(W,9)="1" THEN 573
572 ZZ$="": BEEP: GOTO 570
573 IF K$(W,9)="0" THEN F$="NEIN" ELSE F$="JA "
581 IF K$(W,9)="0" THEN LOCATE 17,29: PRINT "0";TAB(32);F$
582 IF K$(W,9)="1" THEN LOCATE 17,29: PRINT "1";TAB(32);F$
583 RETURN
585 IF K$(W,8)="0" THEN LOCATE 16,29: PRINT "0";TAB(32);F$: GOTO 587
586 LOCATE 16,29: PRINT K$(W,8);TAB(32);F$
587 RETURN
600 GOSUB 60: LOCATE 4,5: PRINT "DATUM : ";DA$
602 LOCATE 6,1: COLOR 0,7: PRINT " NAMEN SUCHEN = # ZUM HAUPTMENÜ = *": COLOR 7,0
603 GOSUB 210
605 GOSUB 375: ZZ$="": R=8: S=29: L=6: PK%=1: GOSUB 20: SU$=ZZ$: IF SU$="*" THEN 100
607 IF SU$="#" THEN GOSUB 375: GOTO 610
608 IF SU$=CHR$(13) THEN BEEP: GOSUB 370: GOTO 605
609 GOTO 615
610 GOSUB 375: ZZ$="": R=10: S=29: L=20: PK%=1: GOSUB 20: SU$=ZZ$: IF SU$="*" THEN 100
611 IF SU$="#" THEN ZZ$="": GOTO 605
612 IF SU$=CHR$(13) THEN BEEP: GOSUB 370: GOTO 610
613 GOTO 620
615 FOR W=1 TO K: FOR J=1 TO 6
616 IF SU$=LEFT$(K$(W,1),J) THEN 650
617 NEXT: NEXT
618 GOSUB 90: ZZ$="": GOTO 605
620 FOR W=1 TO K: FOR J=1 TO 20
621 IF SU$=LEFT$(K$(W,3),J) THEN 650
622 NEXT: NEXT
623 GOSUB 90: GOTO 610
630 LPRINT TAB(5)CHR$(14)"AUSGABE KUNDEN-DATENSATZ ";W: LPRINT TAB(5)"STAND VOM : ";DA$
631 LPRINT TAB(5)"KUNDEN-NUMMER : ";K$(W,1)
632 LPRINT TAB(5)"KUNDEN-NAME : ";K$(W,2);" ";K$(W,3)
633 LPRINT TAB(5)"ZUSATZTEXT : ";K$(W,4)
634 LPRINT TAB(5)"STRASSE : ";K$(W,5)
635 LPRINT TAB(5)"PLZ / ORT : ";K$(W,6)
636 LPRINT TAB(5)"TELEFON : ";K$(W,7)
637 IF K$(W,8)="0" THEN F$="OHNE RABATT" ELSE F$="MIT RABATT"
638 LPRINT TAB(5)"RABATT / SKONTI : ";K$(W,8);" ";F$
639 IF K$(W,9)="0" THEN F$="KEINE SPERRE" ELSE F$="ACHTUNG ! LIEFERSPERRE"
640 LPRINT TAB(5)"LIEFERSPERRE : ";F$
642 CLOSE: RETURN
650 LOCATE 4,5: PRINT "DATUM : ";DA$
654 LOCATE 4,60: PRINT "DATENSATZ :";W
655 GOSUB 470
660 LOCATE 19,1: PRINT STRING$(80,45)
661 LOCATE 20,1: PRINT " KORREKTUR = 1 - 9 LÖSCHEN = L SPEICHERN = S MENÜ = H "
662 LOCATE 21,1: PRINT " AUSDRUCK = P NEUSTART = N "
663 LOCATE 22,1: PRINT STRING$(80,45)
665 E$=INKEY$: IF E$="" THEN 665
666 IF E$="H" OR E$="h" THEN 100
667 IF E$="S" OR E$="s" THEN LOCATE 19,1: PRINT SPACE$(80): GOSUB 380: GOTO 410
668 IF E$="P" OR E$="p" THEN GOSUB 900: GOSUB 85: GOSUB 630: GOTO 660
669 IF E$="N" OR E$="n" THEN 602
670 IF E$="L" OR E$="l" THEN GOSUB 4000: GOTO 660
671 IF E$="1" THEN GOSUB 70: ZZ$=K$(W,1): GOSUB 530: GOTO 660
672 IF E$="2" THEN GOSUB 70: ZZ$=K$(W,2): GOSUB 535: GOTO 660
673 IF E$="3" THEN GOSUB 70: ZZ$=K$(W,3): GOSUB 540: GOTO 660
674 IF E$="4" THEN GOSUB 70: ZZ$=K$(W,4): GOSUB 545: GOTO 660
675 IF E$="5" THEN GOSUB 70: ZZ$=K$(W,5): GOSUB 550: GOTO 660
676 IF E$="6" THEN GOSUB 70: ZZ$=K$(W,6): GOSUB 555: GOTO 660
677 IF E$="7" THEN GOSUB 70: ZZ$=K$(W,7): GOSUB 560: GOTO 660
678 IF E$="8" THEN GOSUB 70: ZZ$=K$(W,8): GOSUB 565: GOTO 660
679 IF E$="9" THEN GOSUB 70: ZZ$=K$(W,9): GOSUB 570: GOTO 660
681 GOTO 665
700 LOCATE 20,1: PRINT STRING$(80,45)
701 LOCATE 21,1: PRINT " GESAMT = G LIEFERSPERRE = L HAUPTMENÜ = H "
702 LOCATE 22,1: PRINT STRING$(80,45)
705 E$=INKEY$: IF E$="" THEN 705
706 IF E$="G" OR E$="g" THEN 720
707 IF E$="L" OR E$="l" THEN N=9: A$="LIEFERSPERRE": VG$="0": N1$="NEIN": N2$="JA ": GOTO 770
709 IF E$="H" OR E$="h" THEN 110
710 GOTO 705
720 GOSUB 60
721 LOCATE 6,2: PRINT "KD-NR NACHNAME ORT RABATT"
725 V=0: LOCATE 7,2: FOR W=1 TO K : V=V+1
726 PRINT TAB(2);K$(W,1);TAB(10);K$(W,3);TAB(32);K$(W,6);TAB(59);K$(W,8);
727 IF K$(W,8)="0" THEN F$="NEIN" ELSE F$="JA "
728 PRINT TAB(63);F$
729 IF V=12 THEN 740
730 IF W=K THEN 732
731 NEXT
732 LOCATE 20,1: PRINT STRING$(80,45)
733 LOCATE 21,1: PRINT " DATENENDE ZURÜCK = Z NEUBEGINN = N HAUPTMENÜ = H "
734 LOCATE 22,1: PRINT STRING$(80,45)
735 E$=INKEY$: IF E$="" THEN 735
736 IF E$="Z" OR E$="z" THEN 758
737 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 725
738 IF E$="H" OR E$="h" THEN 100
739 GOTO 735
740 LOCATE 20,1: PRINT STRING$(80,45)
741 LOCATE 21,1: PRINT " WEITER = W ZURÜCK = Z NEUBEGINN = N HAUPTMENÜ = H "
742 LOCATE 22,1: PRINT STRING$(80,45)
745 E$=INKEY$: IF E$="" THEN 745
746 IF E$="Z" OR E$="z" THEN 755
747 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 725
748 IF E$="H" OR E$="h" THEN 100
749 IF E$="W" OR E$="w" THEN GOSUB 760: V=0: LOCATE 7,2: GOTO 731
750 GOTO 745
755 W=W-24
756 IF W<=0 THEN W=1: GOSUB 760: GOTO 725
757 V=0: GOSUB 760: LOCATE 7,2: GOTO 726
758 W=W-V-12: GOTO 756
760 J=0: FOR J=1 TO 12
761 LOCATE 5+J,2: PRINT SPACE$(80): NEXT: RETURN
770 GOSUB 60
771 LOCATE 6,2: PRINT "KD-NR NACHNAME ORT ";A$
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$
773 PRINT TAB(2);K$(W,1);TAB(10);K$(W,3);TAB(32);K$(W,6);TAB(59);K$(W,N);
775 PRINT TAB(63);F$
776 IF V=12 THEN 790
777 IF W=K THEN 780
778 NEXT
780 LOCATE 20,1: PRINT STRING$(80,45)
781 LOCATE 21,1: PRINT " DATENENDE NEUBEGINN = N HAUPTMENÜ = H "
782 LOCATE 22,1: PRINT STRING$(80,45)
785 E$=INKEY$: IF E$="" THEN 785
787 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 772
788 IF E$="H" OR E$="h" THEN 100
789 GOTO 785
790 LOCATE 20,1: PRINT STRING$(80,45)
791 LOCATE 21,1: PRINT " WEITER = W NEUBEGINN = N HAUPTMENÜ = H "
792 LOCATE 22,1: PRINT STRING$(80,45)
795 E$=INKEY$: IF E$="" THEN 795
796 IF E$="N" OR E$="n" THEN GOSUB 760 : GOTO 772
797 IF E$="H" OR E$="h" THEN 100
798 IF E$="W" OR E$="w" THEN GOSUB 760 : V=0: LOCATE 7,2: GOTO 778
799 GOTO 795
800 LOCATE 20,1: PRINT STRING$(80,45)
801 LOCATE 21,5: PRINT " GESAMTDRUCK = G DATENSÄTZE = S LIEFERSPERREN = L MENÜ = H"
802 LOCATE 22,1: PRINT STRING$(80,45)
805 E$=INKEY$: IF E$="" THEN 805
806 IF E$="G" OR E$="g" THEN GOSUB 75: GOTO 820
807 IF E$="S" OR E$="s" THEN 860
808 IF E$="L" OR E$="l" THEN GOSUB 75: GOTO 840
809 IF E$="H" OR E$="h" THEN 110
810 GOTO 805
820 GOSUB 821: GOTO 825
821 LPRINT TAB(2);"KU-NR. NACHNAME STRASSE PLZ / ORT"
822 LPRINT TAB(2);"____________________________________________________________________________": RETURN
825 V=0: FOR W=1 TO K: V=V+1
826 LPRINT TAB(1);K$(W,1);TAB(9);K$(W,3);TAB(31);K$(W,5);TAB(58);LEFT$(K$(W,6),20)
827 IF V=60 THEN V=0: GOSUB 95: GOSUB 85: GOSUB 821
828 NEXT
829 LPRINT " ": LPRINT TAB(2);"____________________________________________________________________________": LPRINT " "
830 LPRINT TAB(2)"ANZAHL DER DATENSÄTZE : ";K;" AKTUELLER STAND VOM : ";DA$: LPRINT "": CLOSE: GOTO 100
840 GOSUB 841: GOTO 845
841 LPRINT TAB(2);"KU-NR. NACHNAME ORT LIEFERSPERRE"
842 LPRINT TAB(2);"____________________________________________________________________________": RETURN
845 V=0: FOR W=1 TO K: V=V+1
846 LPRINT TAB(1);K$(W,1);TAB(9);K$(W,3);TAB(31);K$(W,6);TAB(58);K$(W,9);
847 IF K$(W,9)="0" THEN F$="KEINE SPERRE" ELSE F$="ACHTUNG! SPERRE"
848 LPRINT TAB(62);F$
849 IF V=60 THEN V=0: GOSUB 95: GOSUB 85: GOSUB 841
850 NEXT
851 LPRINT " ": LPRINT TAB(2);"____________________________________________________________________________": LPRINT " "
852 LPRINT TAB(2)"ANZAHL DER DATENSÄTZE : ";K;" AKTUELLER STAND VOM : ";DA$: LPRINT "": CLOSE: GOTO 100
860 LOCATE 21,5: PRINT SPACE$(74): FOR W=1 TO K
861 LOCATE 21,5: PRINT K$(W,1);TAB(13);K$(W,3);TAB(40)"DRUCKEN = D WEITER= W MENÜ = H"
865 E$=INKEY$: IF E$="" THEN 865
866 IF E$="D" OR E$="d" THEN GOSUB 900: GOSUB 85: GOSUB 630: GOTO 871
867 IF E$="W" OR E$="w" THEN 870
868 IF E$="H" OR E$="h" THEN 110
869 GOTO 865
870 IF W=K THEN 872
871 NEXT
872 LOCATE 21,5: PRINT SPACE$(74)
873 LOCATE 21,5: PRINT " DATENENDE NEUBEGINN = N HAUPTMENÜ = H"
875 E$=INKEY$: IF E$="" THEN 875
876 IF E$="N" OR E$="n" THEN 860
877 IF E$="H" OR E$="h" THEN 110
878 GOTO 875
900 ON ERROR GOTO 903
901 RETURN
902 OPEN "lpt1:" FOR OUTPUT AS #1
903 IF ERR=27 OR ERR= 57 OR ERR=24 OR ERR=25 THEN 910
904 REM
910 LOCATE 19,1: PRINT SPACE$(80): PP=1: LOCATE 20,1: PRINT STRING$(80,45)
911 LOCATE 21,1: PRINT " KEIN DRUCKER EINGESCHALTET . BELIEBIGE TASTE DRÜCKEN "
912 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOTO 100
2000 LOCATE 20,1: PRINT STRING$(80,45)
2001 LOCATE 21,1: PRINT " VORHANDENE DATEN ZULADEN = L NEUBEGINN = N HAUPTMENÜ = H "
2002 LOCATE 22,1: PRINT STRING$(80,45)
2005 E$=INKEY$: IF E$="" THEN 2005
2006 IF E$="L" OR E$="l" THEN GOSUB 390: GOTO 200
2007 IF E$="N" OR E$="n" THEN K=0: GOTO 200
2008 IF E$="H" OR E$="h" THEN 110
2009 GOTO 2005
4000 LOCATE 19,1: PRINT SPACE$(80)
4001 LOCATE 20,1: PRINT STRING$(80,45)
4002 LOCATE 21,1: PRINT " DATENSATZ LÖSCHEN = L OHNE LÖSCHUNG ZURÜCK = Z ";TAB(80)
4003 LOCATE 22,1: PRINT STRING$(80,45)
4010 E$=INKEY$: IF E$="" THEN 4010
4011 IF E$="l" OR E$="L" THEN 4020
4012 IF E$="Z" OR E$="z" THEN RETURN
4013 GOTO 4010
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
4021 FOR J=1 TO 9: K$(K,J)=" ": NEXT: K=K-1
4022 LOCATE 20,1: PRINT STRING$(80,45)
4023 LOCATE 21,1: PRINT " DATENSATZ GELÖSCHT BELIEBIGE TASTE DRÜCKEN "
4024 LOCATE 22,1: PRINT STRING$(80,45): GOSUB 93: GOSUB 380: GOTO 100
5000 LOCATE 20,1: PRINT STRING$(80,45)
5001 LOCATE 21,1: PRINT " nach KUNDEN-NUMMER = K nach NACHNAMEN = N HAUPTMENÜ = H "
5002 LOCATE 22,1: PRINT STRING$(80,45)
5005 E$=INKEY$: IF E$="" THEN 5005
5006 IF E$="K" OR E$="k" THEN N=1: GOSUB 45000: GOTO 110
5007 IF E$="N" OR E$="n" THEN N=3: GOSUB 45000: GOTO 110
5008 IF E$="H" OR E$="h" THEN 110
5009 GOTO 5005
6000 LOCATE 20,1: PRINT STRING$(80,45)
6001 LOCATE 21,1: PRINT " DATENDISKETTE IN LAUFWERK : "
6002 LOCATE 22,1: PRINT STRING$(80,45)
6003 ZZ$="": R=21: S=42: L=1: PK%=1: GOSUB 20: B$=ZZ$
6004 IF B$=CHR$(13) THEN BEEP: GOSUB 6010: GOTO 6003
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
6006 BEEP: GOSUB 6010: GOTO 6003
6007 GOTO 100
6010 LOCATE 21,50: PRINT "EINGABEN A,B,C ODER D": RETURN
40000 LOCATE 19,1: PRINT SPACE$(80)
40001 LOCATE 20,1: PRINT string$(80,45)
40002 LOCATE 21,1: PRINT " DATENSATZ LÖSCHEN = L OHNE LÖSCHUNG ZURÜCK = Z ";TAB(80)
40003 LOCATE 22,1: PRINT string$(80,45)
40010 E$=INKEY$: IF E$="" THEN 40010
40011 IF E$="l" OR E$="L" THEN 40020
40012 IF E$="Z" OR E$="z" THEN RETURN
40013 GOTO 40010
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
40021 FOR J=1 TO 9: K$(K,J)=" ": NEXT: K=K-1
40022 LOCATE 20,1: PRINT string$(80,45)
40023 LOCATE 21,1: PRINT " DATENSATZ GELÖSCHT BELIEBIGE TASTE DRÜCKEN "
40024 LOCATE 22,1: PRINT string$(80,45): GOSUB 93: GOSUB 210: RETURN
45000 J=0 : L=0 : I=0 : L=1 : Q(L)=K+1 : M=1
45001 J=Q(L) : I=M-1
45002 IF J-M<3 THEN 45016
45003 GOSUB 45022 : M1=INT((I+J)/2)
45004 I=I+1
45005 IF I=J THEN 45012
45006 IF K$(I,N) <= K$(M1,N) THEN 45004
45007 J=J-1
45008 IF I=J THEN 45012
45009 IF K$(J,N)>= K$(M1,N) THEN 45007
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
45011 GOTO 45004
45012 IF I>=M1 THEN I=I-1
45013 IF J=M1 THEN 45015
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
45015 L=L+1 : Q(L)=I : GOTO 45001
45016 IF J-M<2 THEN 45019
45017 IF K$(M,N)<K$(M+1,N) THEN 45019
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
45019 M=Q(L) +1 : L=L-1
45020 IF L> 0 THEN 45001
45021 RETURN
45022 LOCATE 20,1: PRINT string$(80,45)
45023 LOCATE 21,5: PRINT " SORTIERVORGANG IN ARBEIT : ";I;" "
45024 LOCATE 22,1: PRINT string$(80,45): RETURN