home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
verwarn2
/
verwarn2.bas
< prev
next >
Wrap
BASIC Source File
|
1997-10-09
|
14KB
|
259 lines
1 REM
2 REM 7,"<" KEY 8,"@" KEY 9,"^" KEY 10,"\"
3 B$="A"
10 GOTO 100
20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),32):Z2=0:Y=1
21 LOCATE R,S,O:PRINT ZZ$;
22 LOCATE R,S+Y-1,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): LOCATE ,,0: RETURN
26 IF RIGHT$(ZZ$,1)="_" THEN ZZ$=LEFT$(ZZ$,INSTR(ZZ$,"_")-1)
27 LOCATE ,,0: 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 34 ELSE IF Y=1 OR Z2 THEN 23
32 Y=Y-1:GOTO 22
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,32):GOTO 21
46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,32):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,32):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
70 E$=INKEY$: IF E$="" THEN 70
71 RETURN
80 LOCATE 21,1: PRINT CHR$(32);: PRINT " JEDE EINGABE MIT RETURN BESTÄTIGEN ";: PRINT CHR$(32)
81 RETURN
85 LOCATE 21,1: PRINT CHR$(32);: PRINT " EINGABE IST ERFORDERLICH ";: PRINT CHR$(32)
86 RETURN
97 LOCATE 21,1: PRINT CHR$(32);: PRINT " GEBEN SIE DIE ZU SUCHENDE VERWARNUNGSNUMMER AN. MIT TASTE * ZURÜCK ";: PRINT CHR$(32): RETURN
98 LOCATE 21,1: PRINT CHR$(32);: PRINT " DATEN WERDEN GESPEICHERT. BITTE WARTEN. ";: PRINT CHR$(32): RETURN
99 LOCATE 21,1: PRINT CHR$(32);: PRINT " DATEN WERDEN EINGELESEN . BITTE WARTEN. ";: PRINT CHR$(32): RETURN
100 CLS: LOCATE ,,0
101 COLOR 0,7:PRINT " ------ (c) 1991 by Siegfried Hübner, Obere Vorstadt 21, 8812 Windsbach ------- ";:color 7,0:print " "
102 LOCATE 3,20: PRINT "VERWARNUNGEN-DATEI Public Domain Version 1.0"
103 LOCATE 4,1: PRINT STRING$(79,32): GOSUB 110: GOTO 142
110 LOCATE 6,1: PRINT CHR$(32);STRING$(29,32);CHR$(32)
111 LOCATE 7,1: PRINT CHR$(32);" VERWARNUNGS-NR : ";CHR$(32)
112 LOCATE 8,1: PRINT CHR$(32);STRING$(29,32);CHR$(32)
113 LOCATE 6,33: PRINT CHR$(32);STRING$(20,32);CHR$(32)
114 LOCATE 7,33: PRINT CHR$(32);" DATUM : ";CHR$(32)
115 LOCATE 8,33: PRINT CHR$(32);STRING$(20,32);CHR$(32)
116 LOCATE 6,56: PRINT CHR$(32);STRING$(23,32);CHR$(32)
117 LOCATE 7,56: PRINT CHR$(32);" ORT : ";CHR$(32)
118 LOCATE 8,56: PRINT CHR$(32);STRING$(23,32);CHR$(32)
120 LOCATE 10,1: PRINT CHR$(32);STRING$(29,32);CHR$(32)
121 LOCATE 11,1: PRINT CHR$(32);" STRASSE : ";CHR$(32)
122 LOCATE 12,1: PRINT CHR$(32);STRING$(29,32);CHR$(32)
123 LOCATE 10,33: PRINT CHR$(32);STRING$(20,32);CHR$(32)
124 LOCATE 11,33: PRINT CHR$(32);" BETRAG: ";CHR$(32)
125 LOCATE 12,33: PRINT CHR$(32);STRING$(20,32);CHR$(32)
126 LOCATE 10,56: PRINT CHR$(32);STRING$(23,32);CHR$(32)
127 LOCATE 11,56: PRINT CHR$(32);" TAT : ";CHR$(32)
128 LOCATE 12,56: PRINT CHR$(32);STRING$(23,32);CHR$(32)
130 LOCATE 14,1: PRINT CHR$(32);STRING$(29,32);CHR$(32)
131 LOCATE 15,1: PRINT CHR$(32);" 0 = UNBEZAHLT ";CHR$(32)
132 LOCATE 16,1: PRINT CHR$(32);" ZAHLUNG : 1 = BEZAHLT ";CHR$(32)
133 LOCATE 17,1: PRINT CHR$(32);STRING$(29,32);CHR$(32)
134 LOCATE 14,33: PRINT CHR$(32);STRING$(20,32);CHR$(32)
135 LOCATE 15,33: PRINT CHR$(32);" ZAHLUNGSDATUM ";CHR$(32)
136 LOCATE 16,33: PRINT CHR$(32);" DATUM : ";CHR$(32)
137 LOCATE 17,33: PRINT CHR$(32);STRING$(20,32);CHR$(32)
138 LOCATE 14,56: PRINT CHR$(32);STRING$(23,32);CHR$(32)
139 LOCATE 15,56: PRINT CHR$(32);" 0= ZAHLKARTE";CHR$(32)
140 LOCATE 16,56: PRINT CHR$(32);"BEZAHLT : 1= ÜBERWEIS.";CHR$(32)
141 LOCATE 17,56: PRINT CHR$(32);STRING$(23,32);CHR$(32): RETURN
142 LOCATE 18,1: PRINT STRING$(79,32)
144 LOCATE 20,1: PRINT CHR$(32);STRING$(78,32);CHR$(32)
145 LOCATE 21,1: PRINT CHR$(32);: PRINT " EINGABE = ^ AUSGABE = \ LW WECHSLEN = < TEXT = T ENDE = @ ";: PRINT CHR$(32)
146 LOCATE 22,1: PRINT CHR$(32);STRING$(78,32);CHR$(32)
150 E$=INKEY$: IF E$="" THEN 150
151 IF E$="^" THEN GOSUB 275: GOTO 200
152 IF E$="\" THEN GOSUB 275: GOTO 300
153 IF E$="<" THEN GOSUB 389: GOTO 145
154 IF E$="@" THEN GOSUB 399: GOTO 145
155 IF E$="T" OR E$="t" THEN 500
156 GOTO 150
200 GOSUB 80
201 ZZ$="": LOCATE 5,2: PRINT "KEINE ANGABE VON PUNKTEN"
202 R=7: S=20: L=10: PK%=1: GOSUB 20: F1$=ZZ$: IF F1$="*" THEN 100
203 IF F1$=CHR$(13) THEN BEEP: GOSUB 85: ZZ$="": GOTO 202
205 GOSUB 80
206 ZZ$=""
207 R=7: S=43: L=10: PK%=2: GOSUB 20: F2$=ZZ$
208 IF F2$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 206
215 GOSUB 80
216 ZZ$=""
217 R=7: S=64: L=15: PK%=1: GOSUB 20: F3$=ZZ$
218 IF F3$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 216
220 GOSUB 80
221 ZZ$=""
222 R=11: S=13: L=17: PK%=1: GOSUB 20: F4$=ZZ$
223 IF F4$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 221
225 GOSUB 80
230 ZZ$=""
231 R=11: S=43: L=5: PK%=2: GOSUB 20: F5$=ZZ$
232 IF F5$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 230
235 GOSUB 80
236 ZZ$=""
237 R=11: S=64: L=15: PK%=1: GOSUB 20: F6$=ZZ$
238 IF F6$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 236
240 GOSUB 80
241 ZZ$=""
242 R=16: S=13: L=1: PK%=2: GOSUB 20: F7$=ZZ$
243 IF F7$=CHR$(13) THEN F7$="0": GOTO 245
244 Z=VAL(F7$): IF Z>1 THEN BEEP: GOSUB 85: GOTO 241
245 IF F7$="0" THEN LOCATE 15,19: PRINT "UNBEZAHLT"
246 IF F7$="1" THEN LOCATE 16,19: PRINT "BEZAHLT "
247 IF F7$="1" THEN 250 ELSE 265
250 GOSUB 80
251 ZZ$=""
252 R=16: S=43: L=10: PK%=2: GOSUB 20: F8$=ZZ$
253 IF F8$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 251
255 GOSUB 80
256 ZZ$="0"
257 R=16: S=65: L=1: PK%=2: GOSUB 20: F9$=ZZ$
258 IF F9$=CHR$(13) THEN F9$="0": GOTO 260
259 Z=VAL(F9$): IF Z>1 THEN BEEP: GOSUB 85: GOTO 256
260 IF F9$="0" THEN LOCATE 15,71: PRINT "ZAHLKARTE"
261 IF F9$="1" THEN LOCATE 16,71: PRINT "ÜBERWEIS."
262 GOTO 269
265 F8$="-": F9$="-"
269 LOCATE 21,1: PRINT CHR$(32);: PRINT " WEITERE EINGABE = ^ KORREKTUR = @ ZURÜCK = \ ";: PRINT CHR$(32)
270 E$=INKEY$: IF E$="" THEN 270
271 IF E$="^" THEN GOSUB 280: GOSUB 275: GOTO 200
272 IF E$="@" THEN GOSUB 276: GOTO 201
273 IF E$="\" THEN GOSUB 280: GOTO 100
274 GOTO 270
275 F1$="": F2$="": F3$="": F4$="": F5$="": F6$="": F7$="": F8$="": F9$="": RETURN
276 LOCATE 15,19: PRINT "UNBEZAHLT"
277 LOCATE 16,19: PRINT "BEZAHLT "
278 LOCATE 15,71: PRINT "ZAHLKARTE"
279 LOCATE 16,71: PRINT "ÜBERWEIS.": RETURN
280 NA$=B$+":"+MID$(F1$,1,8)+"."+MID$(F1$,9,3): GOSUB 98
281 OPEN NA$ FOR OUTPUT AS #1
282 PRINT #1,F1$: PRINT #1,F2$: PRINT #1,F3$: PRINT #1,F4$: PRINT #1,F5$
283 PRINT #1,F6$: PRINT #1,F7$: PRINT #1,F8$: PRINT #1,F9$
284 CLOSE #1: RETURN
290 ON ERROR GOTO 294: NA$=B$+":"+MID$(SU$,1,8)+"."+MID$(SU$,9,3): GOSUB 99
291 OPEN NA$ FOR INPUT AS #1
292 INPUT #1,F1$,F2$,F3$,F4$,F5$,F6$,F7$,F8$,F9$
293 CLOSE #1: RETURN
294 IF ERR=53 AND ERR=58 OR ERR=1230 THEN 296
295 REM
296 LOCATE 21,1: PRINT CHR$(32);: PRINT " KEINE VERWARNUNGSDATEI GEFUNDEN. BELIEBIGE TASTE DRÜCKEN ";: PRINT CHR$(32)
297 GOSUB 70: GOTO 300
300 LOCATE 5,2: PRINT "KEINE ANGABE VON PUNKTEN": ZZ$="": SU$="": GOSUB 97
302 R=7: S=20: L=10: PK%=1: GOSUB 20: SU$=ZZ$: IF SU$="*" THEN 100
303 IF SU$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 300
305 GOSUB 275: GOSUB 290
306 IF F1$="" THEN 296
310 LOCATE 7,20: PRINT F1$: LOCATE 7,43: PRINT F2$: LOCATE 7,64: PRINT F3$
311 LOCATE 11,13: PRINT F4$: LOCATE 11,43: PRINT F5$: LOCATE 11,64: PRINT F6$
312 IF F7$="0" THEN LOCATE 16,13: PRINT F7$: LOCATE 15,19: PRINT "UNBEZAHLT"
313 IF F7$="1" THEN LOCATE 16,13: PRINT F7$;TAB(19);: PRINT "BEZAHLT "
314 IF F7$="0" THEN 319
315 LOCATE 16,43: PRINT F8$
316 IF F9$="0" THEN LOCATE 15,65:PRINT F9$;TAB(71);: PRINT "ZAHLKARTE"
317 IF F9$="1" THEN LOCATE 16,65:PRINT F9$;TAB(71);: PRINT "ÜBERWEIS."
319 LOCATE 21,1: PRINT CHR$(32);: PRINT " VERWARNUNG BEZAHLT = @ DRUCK= < NEUE AUSGABE= ^ ZURÜCK = \ ";: PRINT CHR$(32)
320 E$=INKEY$: IF E$="" THEN 320
321 IF E$="@" THEN GOSUB 350: GOSUB 280: GOTO 319
322 IF E$="\" THEN 100
323 IF E$="^" THEN GOSUB 110: GOTO 300
324 IF E$="<" THEN GOSUB 329: GOTO 319
325 GOTO 320
329 LOCATE 21,1: PRINT CHR$(32);: PRINT " DRUCKER EIN + TASTE = D DRÜCKEN ZURÜCK = \ ";: PRINT CHR$(32)
330 E$=INKEY$: IF E$="" THEN 330
331 IF E$="\" THEN RETURN
332 IF E$="D" OR E$="D" THEN 335
333 GOTO 330
335 LPRINT TAB(5)"VERWARNUNG NR. : ";LEFT$(F1$,2);".";MID$(F1$,3,7);".";MID$(F1$,9,1)
336 LPRINT TAB(5)"TAG DER TAT : ";F2$; TAB(40);"ORT DER TAT : ";F3$
337 LPRINT TAB(5)"VERGEHEN : ";F6$; TAB(40);"STRASSE : ";F4$
338 LPRINT TAB(5)"BETRAG : ";F5$;" DM"
339 IF F7$="1" THEN 341
340 LPRINT TAB(5)"ZAHLUNG : BETRAG NOCH NICHT BEZAHLT": GOTO 345
341 IF F9$="0" THEN A$="PER ZAHLKARTE" ELSE A$="PER ÜBERWEISUNG"
342 LPRINT TAB(5)"BETRAG BEZAHLT : ";F8$;TAB(40); "ZAHLUNGSART : ";A$
345 RETURN
350 GOSUB 80
351 IF F8$="-" THEN ZZ$="": GOTO 352 ELSE GOTO 319
352 R=16: S=43: L=10: PK%=2: GOSUB 20: F8$=ZZ$
353 IF F8$=CHR$(13) THEN BEEP: GOSUB 85: ZZ$="": GOTO 352
355 GOSUB 80
356 ZZ$="0"
357 R=16: S=65: L=1: PK%=2: GOSUB 20: F9$=ZZ$
358 IF F9$=CHR$(13) THEN F9$="0": GOTO 360
359 Z=VAL(F9$): IF Z>1 THEN BEEP: GOSUB 85: GOTO 356
360 IF F9$="0" THEN LOCATE 15,71: PRINT "ZAHLKARTE"
361 IF F9$="1" THEN LOCATE 16,71: PRINT "ÜBERWEIS."
362 RETURN
389 LOCATE 21,1: PRINT CHR$(32);: PRINT " BISHER LAUFWERK : ";B$;" NEUE LAUFWERKSANGABE : ";: PRINT CHR$(32)
390 TE$=B$: ZZ$="": R=21: S=53: L=1: PK%=1: GOSUB 20: B$=ZZ$
391 IF B$="*" THEN B$=TE$: RETURN
392 IF B$=CHR$(13) THEN BEEP: GOSUB 85: GOTO 390
393 IF B$="A" OR B$="a" OR B$="B" OR B$="b" OR B$="C" OR B$="C" THEN 395
394 BEEP: GOSUB 85: GOTO 390
395 RETURN
399 LOCATE 21,1: PRINT CHR$(32);: PRINT " PROGRAMM BEENDEN. SICHER (J/N) ? ";: PRINT CHR$(32)
400 E$=INKEY$: IF E$="" THEN 400
401 IF E$="J" OR E$="j" THEN CLS: END
402 RETURN
500 LOCATE 6,1: PRINT "Mit diesem Programm können Sie Ihre Verwarnungen, die wohl jeder Autofahrer "
501 LOCATE 7,1: PRINT "erhält, verwalten. Es können beliebig viele Verwarnungen verwaltet werden . "
502 LOCATE 8,1: PRINT "EINGABE VON VERWARNUNGSDATEN "
503 LOCATE 9,1: PRINT "Drücken Sie Taste ^ und geben Sie die entsprechende Verwarnungsnummer ohne "
504 LOCATE 10,1: PRINT "die üblichen Trennpunkte ein. Die Erweiterungsmerkmale zur Speicherung der Daten"
505 LOCATE 11,1: PRINT "übernimmt das Programm automatisch.Geben Sie dann das Tat-Datum, der Ort sowie "
506 LOCATE 12,1: PRINT "die Straße und den Betrag an. Außerdem in Stichworten das Vergehen. "
507 LOCATE 13,1: PRINT "Im Feld Zahlung geben Sie 0 oder nur Return ein, wenn das Verwarnungsgeld noch "
508 LOCATE 14,1: PRINT "nicht bezahlt wurde. Anderenfalls Ziffer 1 und das Datum der Zahlung sowie die "
509 LOCATE 15,1: PRINT "Art der Zahlungsweise (0 oder Return = per Zahlkarte, 1=per Überweisung)eingeben"
510 LOCATE 16,1: PRINT "Sind weitere Verwarnungs-Daten einzugeben, drücken Sie Taste ^. Zuvor werden "
511 LOCATE 17,1: PRINT "die Daten auf der Diskette gespeichert. Ist die Eingabe der Daten beendet, "
512 LOCATE 18,1: PRINT "drücken Sie \. Auch hier werden die Daten gespeichert.Neubeginn mit @. "
519 LOCATE 21,1: PRINT CHR$(32);: PRINT " WEITER = ^ MENÜ = \ ";: PRINT CHR$(32)
520 E$=INKEY$: IF E$="" THEN 520
521 IF E$="^" THEN 530
522 IF E$="\" THEN 100
523 GOTO 520
530 LOCATE 6,1: PRINT "AUSGABE VON VERWARNUNGSDATEN "
531 LOCATE 7,1: PRINT "Zur Ausgabe wählen Sie Taste \ und geben dann die gesuchte Verwarnungsnummer "
532 LOCATE 8,1: PRINT "ein. Wird diese auf der Diskette gefunden, so werden die restlichen Daten dazu "
533 LOCATE 9,1: PRINT "eingeblendet. Sofern die Verwarnung noch nicht bezahlt ist, können Sie mit @ "
534 LOCATE 10,1: PRINT "die Eingaben des Zahlungsdatums sowie Art der Zahlungsweise eingeben. Nach der "
535 LOCATE 11,1: PRINT "letzten Eingabe werden die Daten erneut unter der gleichen Verwarnungsnummer "
536 LOCATE 12,1: PRINT "gespeichert. Mit Taste < können Sie die Daten auf den Drucker ausgeben.Schal- "
537 LOCATE 13,1: PRINT "ten Sie den Drucker ein und drücken Sie Taste D, wenn der Ausdruck erfolgen "
538 LOCATE 14,1: PRINT "kann. Mit Taste \ kommen Sie ohne Ausdruck wieder zur Ausgabe zurück. "
539 LOCATE 15,1: PRINT "LAUFWERK WECHSELN "
540 LOCATE 16,1: PRINT "Mit der Taste < können Sie das aktuelle Laufwerk umbenennen. Mit dem Zeichen *"
541 LOCATE 17,1: PRINT "behalten Sie das derzeitige Laufwerk bei und kehren zum Menü zurück. "
542 LOCATE 18,1: PRINT "PROGRAMMENDE Mit Taste @ beenden Sie dieses Programm und kommen zum DOS. "
549 LOCATE 21,1: PRINT CHR$(32);: PRINT " ENDE DER ERKLÄRUNG WIEDERHOLEN = ^ MENÜ = \ ";: PRINT CHR$(32)
550 E$=INKEY$: IF E$="" THEN 550
551 IF E$="^" THEN 500
552 IF E$="\" THEN 100
553 GOTO 550