home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
paket__1
/
stamm.bas
< prev
Wrap
BASIC Source File
|
1997-10-09
|
12KB
|
251 lines
1 WIDTH 80
5 LOCATE 20,1: PRINT string$(80,45)
6 LOCATE 21,1: PRINT " DATENDISKETTE IN LAUFWERK : "
7 LOCATE 22,1: PRINT string$(80,45)
8 ZZ$="": R=21: S=42: L=1: PK%=1: GOSUB 20: B$=ZZ$
9 IF B$=CHR$(13) THEN BEEP: GOTO 8
10 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 12
11 BEEP: GOSUB 13: GOTO 8
12 GOTO 100
13 LOCATE 21,50: PRINT "EINGABE VON A,B,C ODER D": 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<48 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$(31)+"S T A M M D A T E N "+SPACE$(22)
63 LOCATE 4,1: PRINT SPACE$(26)+"(c) 1991 by Siegfried Hübner"+SPACE$(26)
64 LOCATE 5,1: PRINT string$(80,45): RETURN
88 LOCATE 20,1: PRINT SPACE$(80): LOCATE 21,1: PRINT SPACE$(80): LOCATE 22,1: PRINT SPACE$(80): RETURN
90 LOCATE 20,1: PRINT string$(80,45)
91 LOCATE 21,1: PRINT " EINGABE ZWINGEND ERFORDERLICH "
92 LOCATE 22,1: PRINT string$(80,45): RETURN
95 FOR T=1 TO 3: LOCATE 19+T,1: PRINT SPACE$(80): NEXT T: RETURN
100 GOSUB 60
105 LOCATE 10,27: PRINT "[ 1 ] NEU EINGABE DER DATEN"
106 LOCATE 12,27: PRINT "[ 2 ] VERÄNDERN DER DATEN"
107 LOCATE 14,27: PRINT "[ 3 ] SPEICHERN DER DATEN"
108 LOCATE 16,27: PRINT "[ 4 ] AUSDRUCK DER DATEN"
110 LOCATE 20,1: PRINT string$(80,45)
111 LOCATE 21,1: PRINT " HAUPTMENÜ = H ABBRUCH = A ";TAB(81)
112 LOCATE 22,1: PRINT string$(80,45)
120 E$=INKEY$: IF E$="" THEN 120
121 IF E$="1" THEN GOSUB 130: GOTO 200
122 IF E$="2" THEN GOSUB 140: GOTO 400
123 IF E$="3" THEN GOSUB 145: GOTO 110
124 IF E$="A" OR E$="a" THEN 500
125 IF E$="H" OR E$="h" THEN 600
126 IF E$="4" THEN GOSUB 140: GOTO 700
127 GOTO 120
130 F1$="": F2$="":F3$="": F4$="": F5$="": F6$="": F7$="": F8$="": F9$="": RETURN
140 IF F1$="" OR F1$="*" THEN GOSUB 310: RETURN
141 RETURN
145 IF F1$="" THEN 147
146 GOSUB 300: GOTO 110
147 LOCATE 20,1: PRINT string$(80,45)
148 LOCATE 21,1: PRINT " NOCH KEINE STAMMDATEN VORHANDEN BELIEBIGE TASTE "
149 LOCATE 22,1: PRINT string$(80,45)
150 E$=INKEY$: IF E$="" THEN 150
151 GOTO 110
200 GOSUB 60
201 LOCATE 7,5: PRINT "STAMMDATEN - EINGABE IM ERSTEN FELD MIT * ZUM MENÜ BEI FEHLEINGABE"
202 GOSUB 88: GOSUB 205: GOSUB 215: GOTO 229
205 LOCATE 10,5: PRINT "[1] FIRMENNAME : "
206 LOCATE 11,5: PRINT "[2] ZUSATZNAME : "
207 LOCATE 12,5: PRINT "[3] STRASSE : "
208 LOCATE 13,5: PRINT "[4] PLZ / ORT : "
209 LOCATE 14,5: PRINT "[5] TELEFON : "
210 LOCATE 15,5: PRINT "[6] BANKNAME : "
211 LOCATE 16,5: PRINT "[7] BANKORT : "
212 LOCATE 17,5: PRINT "[8] KONTO-NUMMER : "
213 LOCATE 18,5: PRINT "[9] BANKLEITZAHL : ": RETURN
215 LOCATE 10,50: PRINT STRING$(31,45): LOCATE 11,50:PRINT CHR$(45)+SPACE$(29)+CHR$(45)
216 LOCATE 12,50: PRINT CHR$(45)+SPACE$(29)+CHR$(45)
217 LOCATE 13,50: PRINT CHR$(45)+SPACE$(29)+CHR$(45)
218 LOCATE 14,50: PRINT CHR$(45)+" JEDE EINGABE BITTE MIT "+CHR$(45)
219 LOCATE 15,50: PRINT CHR$(45)+" RETURN BESTÄTIGEN. "+CHR$(45)
220 LOCATE 16,50: PRINT CHR$(45)+SPACE$(29)+CHR$(45)
221 LOCATE 17,50: PRINT CHR$(45)+SPACE$(29)+CHR$(45)
222 LOCATE 18,50: PRINT CHR$(45)+SPACE$(29)+CHR$(45)
223 LOCATE 19,50: PRINT STRING$(31,45): RETURN
229 ZZ$=""
230 R=10: S=24: L=24: PK%=1: GOSUB 20: F1$=ZZ$: IF F1$="*" THEN F1$="": GOTO 100
231 IF F1$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 229
232 GOSUB 95: IF PP=1 THEN RETURN
233 ZZ$=""
235 R=11: S=24: L=24: PK%=1: GOSUB 20: F2$=ZZ$
236 IF F2$=CHR$(13) THEN F2$="-"
237 IF PP=1 THEN RETURN
238 ZZ$=""
240 R=12: S=24: L=24: PK%=1: GOSUB 20: F3$=ZZ$
241 IF F3$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 238
242 GOSUB 95: IF PP=1 THEN RETURN
243 ZZ$=""
245 R=13: S=24: L=24: PK%=1: GOSUB 20: F4$=ZZ$
246 IF F4$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 243
247 GOSUB 95: IF PP=1 THEN RETURN
248 ZZ$=""
250 R=14: S=24: L=15: PK%=1: GOSUB 20: F5$=ZZ$
251 IF F5$=CHR$(13) THEN F5$="-"
252 IF PP=1 THEN RETURN
253 ZZ$=""
255 R=15: S=24: L=20: PK%=1: GOSUB 20: F6$=ZZ$
256 IF F6$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 253
257 GOSUB 95: IF PP=1 THEN RETURN
258 ZZ$=""
260 R=16: S=24: L=20: PK%=1: GOSUB 20: F7$=ZZ$
261 IF F7$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 258
262 GOSUB 95: IF PP=1 THEN RETURN
263 ZZ$=""
265 R=17: S=24: L=15: PK%=1: GOSUB 20: F8$=ZZ$
266 IF F8$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 263
267 GOSUB 95: IF PP=1 THEN RETURN
268 ZZ$=""
270 R=18: S=24: L=10: PK%=1: GOSUB 20: F9$=ZZ$
271 IF F9$=CHR$(13) THEN BEEP: GOSUB 90: GOTO 268
272 GOSUB 95: IF PP=1 THEN RETURN
275 LOCATE 20,1: PRINT string$(80,45)
276 LOCATE 21,1: PRINT " KORREKTUR = ZEILE 1 - 9 NEUBEGINN = N SPEICHERN = S HAUPTMENÜ = H "
277 LOCATE 22,1: PRINT string$(80,45)
278 PP=0
280 E$=INKEY$: IF E$="" THEN 280
281 IF E$="N" OR E$="n" THEN GOSUB 130: GOTO 201
282 IF E$="S" OR E$="s" THEN GOSUB 300: GOTO 275
283 IF E$="H" OR E$="h" THEN 100
284 IF E$="1" THEN GOSUB 295: ZZ$=F1$: GOSUB 230: GOTO 275
285 IF E$="2" THEN GOSUB 295: ZZ$=F2$: GOSUB 235: GOTO 275
286 IF E$="3" THEN GOSUB 295: ZZ$=F3$: GOSUB 240: GOTO 275
287 IF E$="4" THEN GOSUB 295: ZZ$=F4$: GOSUB 245: GOTO 275
288 IF E$="5" THEN GOSUB 295: ZZ$=F5$: GOSUB 250: GOTO 275
289 IF E$="6" THEN GOSUB 295: ZZ$=F6$: GOSUB 255: GOTO 275
290 IF E$="7" THEN GOSUB 295: ZZ$=F7$: GOSUB 260: GOTO 275
291 IF E$="8" THEN GOSUB 295: ZZ$=F8$: GOSUB 265: GOTO 275
292 IF E$="9" THEN GOSUB 295: ZZ$=F9$: GOSUB 270: GOTO 275
294 GOTO 280
295 PP=1: LOCATE 20,1: PRINT string$(80,45)
296 LOCATE 21,1: PRINT " MINDESTENS 1 ZEICHEN KORRIGIEREN UND RETURN DRÜCKEN "
297 LOCATE 22,1: PRINT string$(80,45): RETURN
300 NA$=B$+":stamm.dat": GOSUB 315
301 OPEN NA$ FOR OUTPUT AS #1
302 PRINT #1,F1$: PRINT #1,F2$: PRINT #1,F3$: PRINT #1,F4$: PRINT #1,F5$: PRINT #1,F6$: PRINT #1,F7$: PRINT #1,F8$: PRINT #1,F9$
303 CLOSE #1: RETURN
310 NA$=B$+":stamm.dat": ON ERROR GOTO 325 : GOSUB 320
311 OPEN NA$ FOR INPUT AS #1
312 INPUT #1,F1$,F2$,F3$,F4$,F5$,F6$,F7$,F8$,F9$
313 CLOSE #1: GOSUB 1010: RETURN
315 LOCATE 20,1: PRINT string$(80,45)
316 LOCATE 21,1: PRINT " STAMMDATEN WERDEN ABGESPEICHERT "
317 LOCATE 22,1: PRINT string$(80,45): RETURN
320 LOCATE 20,1: PRINT string$(80,45)
321 LOCATE 21,1: PRINT " STAMMDATEN WERDEN EINGELESEN "
322 LOCATE 22,1: PRINT string$(80,45): RETURN
325 IF ERR=58 AND ERR=53 OR ERR=1230 THEN GOTO 330
326 rem
330 LOCATE 20,1: PRINT string$(80,45)
331 LOCATE 21,1: PRINT " NOCH KEINE STAMMDATEI AUF DISK ANGELEGT BELIEBIGE TASTE "
332 LOCATE 22,1: PRINT string$(80,45)
335 E$=INKEY$: IF E$="" THEN 335
336 GOTO 100
380 LOCATE 10,24: PRINT F1$: LOCATE 11,24: PRINT F2$: LOCATE 12,24: PRINT F3$: LOCATE 13,24: PRINT F4$: LOCATE 14,24: PRINT F5$
381 LOCATE 15,24: PRINT F6$: LOCATE 16,24: PRINT F7$: LOCATE 17,24: PRINT F8$: LOCATE 18,24: PRINT F9$
383 RETURN
400 GOSUB 60
401 LOCATE 7,5: PRINT "STAMMDATEN - AUSGABE"
402 GOSUB 205: GOSUB 380
410 LOCATE 20,1: PRINT string$(80,45)
411 LOCATE 21,1: PRINT " KORREKTUR = ZEILE 1 - 9 SPEICHERN = S HAUPTMENÜ = H "
412 LOCATE 22,1: PRINT string$(80,45)
413 PP=0
414 E$=""
415 E$=INKEY$: IF E$="" THEN 415
416 IF E$="S" OR E$="s" THEN GOSUB 300: GOTO 275
417 IF E$="H" OR E$="h" THEN 100
418 IF E$="1" THEN GOSUB 295: ZZ$=F1$: GOSUB 230: GOTO 410
419 IF E$="2" THEN GOSUB 295: ZZ$=F2$: GOSUB 235: GOTO 410
420 IF E$="3" THEN GOSUB 295: ZZ$=F3$: GOSUB 240: GOTO 410
421 IF E$="4" THEN GOSUB 295: ZZ$=F4$: GOSUB 245: GOTO 410
422 IF E$="5" THEN GOSUB 295: ZZ$=F5$: GOSUB 250: GOTO 410
423 IF E$="6" THEN GOSUB 295: ZZ$=F6$: GOSUB 255: GOTO 410
424 IF E$="7" THEN GOSUB 295: ZZ$=F7$: GOSUB 260: GOTO 410
425 IF E$="8" THEN GOSUB 295: ZZ$=F8$: GOSUB 265: GOTO 410
426 IF E$="9" THEN GOSUB 295: ZZ$=F9$: GOSUB 270: GOTO 410
428 GOTO 415
500 LOCATE 20,1: PRINT string$(80,45)
501 LOCATE 21,1: PRINT " SICHER (J/N) ? "
502 LOCATE 22,1: PRINT string$(80,45)
505 E$=INKEY$: IF E$="" THEN 505
506 IF E$="j" OR E$="J" THEN CLS: END
507 GOTO 110
600 LOCATE 20,1: PRINT string$(80,45)
601 LOCATE 21,1: PRINT " HAUPTMENÜ WIRD GELADEN "
602 LOCATE 22,1: PRINT string$(80,45)
603 RUN "MENUE"
700 LOCATE 20,1: PRINT string$(80,45)
701 LOCATE 21,1: PRINT " DRUCKER EINSCHALTEN + TASTE D ABBRUCH OHNE DRUCK = H "
702 LOCATE 22,1: PRINT string$(80,45)
705 E$=INKEY$: IF E$="" THEN 705
706 IF E$="D" OR E$="d" THEN GOSUB 800: GOTO 710
707 IF E$="H" OR E$="h" THEN 110
708 GOTO 705
710 LOCATE 20,1: PRINT string$(80,45)
711 LOCATE 21,1: PRINT " DRUCKER IN BETRIEB "
712 LOCATE 22,1: PRINT string$(80,45)
715 LPRINT TAB(5);CHR$(14);"STAMMDATEN VON ";F1$: LPRINT " "
716 LPRINT TAB(5)"FIRMENNAME : ";F1$
717 LPRINT TAB(5)"ZUSATZNAME : ";F2$
718 LPRINT TAB(5)"STRASSE : ";F3$
719 LPRINT TAB(5)"PLZ / ORT : ";F4$
720 LPRINT TAB(5)"TELEFON : ";F5$
721 LPRINT TAB(5)"BANKVERBINDUNG : ";F6$;" ";F7$
722 LPRINT TAB(5)"KONTO-NUMMER : ";F8$
723 LPRINT TAB(5)"BANKLEITZAHL : ";F9$
725 CLOSE: GOTO 100
800 ON ERROR GOTO 803
801 RETURN
802 OPEN "LPT1:" FOR OUTPUT AS #1
803 IF ERR=27 THEN 810
804 rem
810 LOCATE 20,1: PRINT string$(80,45)
811 LOCATE 21,1: PRINT " KEIN DRUCKER EINGESCHALTET BELIEBIGE TASTE DRÜCKEN "
812 LOCATE 22,1: PRINT string$(80,45)
815 E$=INKEY$: IF E$="" THEN 815
816 GOTO 100
1010 IF F1$="" THEN 330
1011 RETURN