home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
shur
/
shur.bas
< prev
next >
Wrap
BASIC Source File
|
1997-10-09
|
21KB
|
403 lines
1 rem
2 rem 9,"N" KEY 10,"M" KEY 8,"Y"
4 DIM D$(52,12),M$(12):
6 RESTORE 14: FOR I=1 TO 12: READ M$(I): NEXT
7 LOCATE 22,5: COLOR 0,7: PRINT " AKTUELLES JAHR : ": COLOR 7,0
8 ZZ$="": R=22: S=46: L=2: PK%=2: GOSUB 20: SU$=ZZ$
9 IF SU$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 8
10 Z=VAL(SU$): IF LEN(SU$)<>2 OR Z<=86 OR Z>99 THEN BEEP: GOSUB 190: GOTO 8
11 JA$="19"+SU$: SU$="": GOTO 100
12 LOCATE 22,5: COLOR 0,7: PRINT " DATEN WERDEN GESPEICHERT. BITTE WARTEN ": COLOR 7,0: RETURN
13 LOCATE 22,5: COLOR 0,7: PRINT " DATEN WERDEN EINGELESEN . BITTE WARTEN ": COLOR 7,0: RETURN
14 DATA JANUAR,FEBRUAR,MÄRZ,APRIL,MAI,JUNI,JULI,AUGUST,SEPTEMBER,OKTOBER,NOVEMBER,DEZEMBER
20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),45):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):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 IF Z1<>77 THEN GOTO 35 ELSE IF MID$(ZZ$,Y,1)="_" OR Y>L THEN GOTO 23
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,45):GOTO 21
46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,45):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,45):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 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 CHR$(45)+STRING$(78,45)+CHR$(45)
62 LOCATE 3,1: PRINT CHR$(45)+SPACE$(28)+" S T E C H U H R "+SPACE$(23)+CHR$(45)
63 LOCATE 4,1: PRINT CHR$(45)+SPACE$(25)+"(c) 1991 by Siegfried Hübner"+SPACE$(25)+CHR$(45)
64 LOCATE 5,1: PRINT CHR$(45)+STRING$(78,45)+CHR$(45): RETURN
90 LOCATE 22,5: COLOR 0,7: PRINT " BELIEBIGE TASTE DRÜCKEN ": COLOR 7,0
91 E$=INKEY$: IF E$="" THEN 91
92 RETURN
100 GOSUB 60: LOCATE ,,0
105 LOCATE 7,26: PRINT "[1] EINGABE DER PERSONALDATEN"
106 LOCATE 9,26: PRINT "[2] AUSGABE DER PERSONALDATEN"
107 LOCATE 11,26: PRINT "[3] EINGABE DER STECHZEITEN"
108 LOCATE 13,26: PRINT "[4] AUSGABE DER STECHZEITEN"
109 LOCATE 15,26: PRINT "[5] DRUCK DER STECHZEITEN"
111 LOCATE 17,26: PRINT "[6] PROGRAMM BEENDEN"
112 rem
120 E$=INKEY$: IF E$="" THEN 120
121 IF E$="1" THEN 200
122 IF E$="2" THEN 1500
123 IF E$="3" THEN GOSUB 160: GOTO 1000
124 IF E$="4" THEN GOSUB 600: GOTO 500
125 IF E$="5" THEN GOSUB 600: GOTO 650
126 rem
127 IF E$="6" THEN CLS: END
128 GOTO 120
150 NA$=F1$+".dat": GOSUB 12
151 OPEN NA$ FOR OUTPUT AS #1
152 PRINT #1,F1$: PRINT #1,F2$: PRINT #1,F3$: PRINT #1,F4$
156 CLOSE #1: RETURN
160 ZW1=0: ZW2=0: ZW3=0: ZW4=0: UNTER=0: SUMME=0: GESAMT=0: GES=0: UEBER=0: TA=0: SOLL$="": RETURN
180 F1$="": F2$="": F3$="": F4$="": RETURN
190 LOCATE 22,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 22,5: PRINT " EINGABE ZWINGEND VORGEGEBEN ": COLOR 7,0
191 RETURN
192 LOCATE 22,5: PRINT SPACE$(75): RETURN
193 LOCATE 22,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 22,5: PRINT " FALSCHE EINGABE MIT ";FA$: COLOR 7,0: RETURN
194 LOCATE 22,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 22,5: PRINT " ACHTUNG ! WOCHENENDE ! NEUE EINGABE TASTE DRÜCKEN ": COLOR 7,0 : GOSUB 91: RETURN
195 COLOR 0,7: LOCATE 22,5: PRINT " MONAT : ";M$ ;" ZU ENDE. BELIEBIGE TASTE DRÜCKEN ": COLOR 7,0: GOSUB 91: GOTO 480
196 PP=1: LOCATE 22,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 22,5: PRINT " MINDESTENS 1 ZEICHEN KORRIGIEREN ": COLOR 7,0 : RETURN
200 GOSUB 180: GOSUB 60: GOSUB 201: GOTO 219
201 LOCATE 7,10: PRINT "[1] PERSONAL-NUMMER : "
202 LOCATE 9,10: PRINT "[2] VORNAME : "
203 LOCATE 11,10: PRINT "[3] NACHNAME : "
204 LOCATE 13,10: PRINT "[4] +/-HABEN : "
208 RETURN
219 ZZ$=""
220 R=7: S=32: L=6: PK%=1: GOSUB 20: F1$=ZZ$: IF F1$="*" THEN GOSUB 180: GOTO 100
221 IF F1$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 219
223 GOSUB 192
224 ZZ$="": IF PP=1 THEN RETURN
225 R=9: S=32: L=20: PK%=1: GOSUB 20: F2$=ZZ$
226 IF F2$=CHR$(13) THEN F2$="-"
227 IF PP=1 THEN RETURN
228 ZZ$=""
230 R=11: S=32: L=20: PK%=1: GOSUB 20: F3$=ZZ$
231 IF F3$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 228
232 IF PP=1 THEN RETURN
233 GOSUB 192
234 ZZ$=""
240 R=13: S=32: L=4 : PK%=1: GOSUB 20: F4$=ZZ$
241 IF F4$=CHR$(13) THEN BEEP: F4$="0"
242 IF PP=1 THEN RETURN
248 ZZ$=""
279 COLOR 0,7: LOCATE 22,5: PRINT " WEITERE EINGABE = N KORREKTUR = 1 - 4 HAUPTMENÜ = M ": COLOR 7,0: PP=0
280 E$=INKEY$: IF E$="" THEN 280
281 IF E$="N" OR E$="n" THEN GOSUB 150: GOTO 200
282 IF E$="M" OR E$="m" THEN GOSUB 150: GOTO 100
283 IF E$="1" THEN GOSUB 196: ZZ$=F1$: GOSUB 220: GOTO 279
284 IF E$="2" THEN GOSUB 196: ZZ$=F2$: GOSUB 225: GOTO 279
285 IF E$="3" THEN GOSUB 196: ZZ$=F3$: GOSUB 230: GOTO 279
286 IF E$="4" THEN GOSUB 196: ZZ$=F4$: GOSUB 240: GOTO 279
290 GOTO 280
300 GOSUB 60: SUMME=0: GOSUB 1070: STUNDE=0: STUNDEN=0: GES=0: GESAMT=0: UEBER=0: SU$="": TAG=0: GE=0: GOTO 325
309 DATA SONNTAG,MONTAG,DIENSTAG,MITTWOCH,DONNERSTAG,FREITAG,SAMSTAG
310 A=0: E=0: Y=0: MO=VAL(MO$): JA=VAL(JA$): TAG=VAL(TA$): B$="": B1$=""
311 IF MO>2 THEN 313
312 JA=JA-1: MO=MO+12
313 E=INT(JA/100)
314 Y=JA-E*100
315 A=INT(2.6001*(MO-2)-.2)+TAG+Y+INT(Y/4)+INT(E/4)-2*E
316 A=A-INT(A/7)*7+1
317 RESTORE 309
318 FOR I=1 TO A: READ B$ : NEXT: B1$=B$: AN$="08.00": AU$="17.00"
319 IF B1$="FREITAG" THEN SOLL$="390": AN$="07.30": AU$="14.00" ELSE SOLL$="540": AN$="08.00": AU$="17.00": GE=TAG
320 IF B1$="SAMSTAG" THEN TAG=TAG+1: GE=TAG: TA$=STR$(TAG): GOSUB 330: GOSUB 194: SOLL$="000": GOSUB 310: GOTO 346
321 IF B1$="SONNTAG" THEN SOLL$="000": GOSUB 194: GOTO 346
324 GOSUB 330: RETURN
325 REM
327 LOCATE 7,5: PRINT "PERSONAL-NR. : ";F1$
328 LOCATE 8,5: PRINT "NAME,VORNAME : ";F3$;", ";F2$: GOTO 335
330 LOCATE 9,5: PRINT "DATUM : ";TA$;".";MO$;".";JA$
332 LOCATE 10,5: PRINT "WOCHENTAG : ";B$;TAB(40);"SOLLZEIT : ";SOLL$: RETURN
335 D=D+1: LOCATE 3,60: PRINT "DATENSATZ :";D
336 GOSUB 340: GOTO 345
340 LOCATE 12,10: PRINT "TAG : SOLLZEIT : MINUTEN"
341 LOCATE 14,10: PRINT "BEGINN : PAUSE : ENDE : "
342 LOCATE 16,10: PRINT "UNTER BEG: UNTER ENDE : STUNDEN : "
343 LOCATE 18,10: PRINT "GESAMT : +/- ZEIT : +/- GESAMT : "
344 LOCATE 20,10: PRINT "HINWEISE : ": RETURN
345 ZZ$=""
346 TAG=VAL(TA$): GE=GE+1: TA$=STR$(GE): GOSUB 310
347 IF GE<9 THEN TA$="0"+RIGHT$(TA$,1)
348 IF GE>9 THEN TA$=RIGHT$(TA$,2)
349 ZZ$=TA$: TAG=VAL(TA$): IF TAG>=32 THEN GOSUB 2020: GOTO 195
350 GOSUB 192: R=12: S=21: L=2: PK%=2: GOSUB 20: D$(D,1)=ZZ$
351 IF D$(D,1)=CHR$(13) THEN D$(D,1)=TA$: GOTO 354
352 Z=VAL(D$(D,1)): IF LEN(D$(D,1))<>2 OR Z<=0 OR Z>31 THEN BEEP: GOSUB 190: GOTO 350
353 TA$=(D$(D,1)): GOSUB 310: GOSUB 192
354 TAG=VAL(TA$): IF TAG>=32 THEN GOSUB 2020: GOTO 195
359 ZZ$=SOLL$
360 R=12: S=45: L=3: PK%=1: GOSUB 20: D$(D,2)=ZZ$
361 IF D$(D,2)=CHR$(13) THEN D$(D,2)=SOLL$
362 Z=VAL(D$(D,2)): IF LEN(D$(D,2))<>3 OR Z<=0 THEN BEEP: FA$=D$(D,2):GOSUB 193: ZZ$=SOLL$: GOTO 360
363 GOSUB 192
364 ZZ$=AN$
370 R=14: S=21: L=5: PK%=2: GOSUB 20: D$(D,3)=ZZ$
371 IF D$(D,3)=CHR$(13) THEN D$(D,3)=AN$
372 S1$=LEFT$(D$(D,3),3): IF MID$(S1$,3,1)<>"." THEN FA$="FALSCHE ZEITEINGABE": GOSUB 193: BEEP : ZZ$=AN$: GOTO 370
373 S1=VAL(S1$): IF S1<7 OR S1>17 THEN BEEP: FA$=S1$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$=AN$: GOTO 370
374 S2$=RIGHT$(D$(D,3),3): IF MID$(S2$,1,1)<>"." THEN FA$="FALSCHE ZEITEINGABE": GOSUB 193: BEEP : ZZ$=AN$: GOTO 370
375 S2=VAL(S2$): IF MID$(S2$,2,2)>"59" THEN BEEP: FA$=S2$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$=AN$: GOTO 370
376 IF LEN(D$(D,3))<>5 THEN BEEP: FA$="5 STELLEN EINGEBEN": GOSUB 193: ZZ$=AN$: GOTO 370
378 GOSUB 192
379 ZZ$="30"
380 R=14: S=45: L=2: PK%=2: GOSUB 20: D$(D,4)=ZZ$
381 IF D$(D,4)=CHR$(13) THEN D$(D,4)="30"
382 IF LEN(D$(D,4))<>2 OR D$(D,4)="00" OR D$(D,4)>"59" THEN FA$=D$(D,4): BEEP: GOSUB 193: ZZ$="30": GOTO 380
383 IF D$(D,4)="" THEN BEEP: GOSUB 190: ZZ$="30": GOTO 380
384 GOSUB 192: ZZ$=AU$
385 R=14: S=67: L=5: PK%=2: GOSUB 20: D$(D,5)=ZZ$
386 IF D$(D,5)=CHR$(13) THEN D$(D,5)=AU$
387 S1$=LEFT$(D$(D,5),3): IF MID$(S1$,3,1)<>"." THEN FA$=S1$: GOSUB 193: BEEP : ZZ$=AU$: GOTO 385
388 S1=VAL(S1$): IF S1<=0 OR S1>17 THEN BEEP: FA$=S1$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$=AU$: GOTO 385
389 S2$=RIGHT$(D$(D,5),3): IF MID$(S2$,1,1)<>"." THEN FA$=S2$: GOSUB 193: BEEP : ZZ$=AU$: GOTO 385
390 S2=VAL(S2$): IF MID$(S2$,2,2)>"59" OR D$(D,5)>"17.00" THEN BEEP: FA$=S2$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$=AU$: GOTO 385
391 IF LEN(D$(D,5))<>5 THEN BEEP: FA$="5 STELLEN EINGEBEN": GOSUB 193: ZZ$=AU$: GOTO 385
392 GOSUB 192
393 ZZ$="00.00"
395 R=16: S=21: L=5: PK%=2: GOSUB 20: D$(D,6)=ZZ$
396 IF D$(D,6)=CHR$(13) THEN D$(D,6)="00.00": GOTO 402
397 S1$=LEFT$(D$(D,6),3): IF MID$(S1$,3,1)<>"." THEN FA$=S1$: GOSUB 193: BEEP : ZZ$="00.00": GOTO 395
398 S1=VAL(S1$): IF S1<=0 OR S1>17 THEN BEEP: FA$=S1$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$="00.00": GOTO 395
399 S2$=RIGHT$(D$(D,6),3): IF MID$(S2$,1,1)<>"." THEN FA$=S2$: GOSUB 193: BEEP : ZZ$="00.00": GOTO 395
400 S2=VAL(S2$): IF MID$(S2$,2,2)>"59" THEN BEEP: FA$=S2$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$="00.00": GOTO 395
401 IF LEN(D$(D,6))<>5 THEN BEEP: FA$="5 STELLEN EINGEBEN": GOSUB 193: ZZ$="00.00": GOTO 395
402 GOSUB 192
403 ZZ$="00.00"
405 R=16: S=45: L=5: PK%=2: GOSUB 20: D$(D,7)=ZZ$
406 IF D$(D,7)=CHR$(13) THEN D$(D,7)="00.00": GOTO 412
407 S1$=LEFT$(D$(D,7),3): IF MID$(S1$,3,1)<>"." THEN FA$=S1$: GOSUB 193: BEEP : ZZ$="00.00": GOTO 405
408 S1=VAL(S1$): IF S1<=0 OR S1>17 THEN BEEP: FA$=S1$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$="00.00": GOTO 405
409 S2$=RIGHT$(D$(D,7),3): IF MID$(S2$,1,1)<>"." THEN FA$=S2$: GOSUB 193: BEEP : ZZ$="00.00": GOTO 405
410 S2=VAL(S2$): IF MID$(S2$,2,2)>"59" THEN BEEP: FA$=S2$+" ZEITANGABE FALSCH": GOSUB 193: ZZ$="00.00": GOTO 405
411 IF LEN(D$(D,7))<>5 THEN BEEP: FA$="5 STELLEN EINGEBEN": GOSUB 193: ZZ$="00.00": GOTO 405
412 GOSUB 192
420 S1$=LEFT$(D$(D,3),2): S2$=RIGHT$(D$(D,3),2)
421 BEG1=VAL(S1$): BEG2=VAL(S2$): IF BEG2<30 THEN BEG2=0 :'beginn
422 S1$=LEFT$(D$(D,5),2): S2$=RIGHT$(D$(D,5),2)
423 END1=VAL(S1$): END2=VAL(S2$): 'ende
424 PAUSE=VAL(D$(D,4)): 'pause
425 S1$=LEFT$(D$(D,6),2): S2$=RIGHT$(D$(D,6),2)
426 UNA1=VAL(S1$): UNA2=VAL(S2$): 'unterbrechung beginn
427 S1$=LEFT$(D$(D,7),2): S2$=RIGHT$(D$(D,7),2)
428 UNE1=VAL(S1$): UNE2=VAL(S2$): 'unterbrechung ende
430 ZW1=END1*60+END2 : 'minuten arbeitsende
431 ZW2=BEG1*60+BEG2 : 'minuten arbeitsbeginn
432 ZW3=UNE1*60+UNE2 : 'minuten unterbrechung ende
433 ZW4=UNA1*60+UNA2 : 'minuten unterbrechung beginn
434 UNTER=ZW3-ZW4 : 'differenz unterbrechnung
435 SOLL=VAL(D$(D,2)): 'sollzeit
440 SUMME=0: 'berechung
441 SUMME=ZW1+30 : 'arbeitsende + 30 minuten pause
442 STUNDEN=SUMME-ZW2-PAUSE-UNTER : 'ende - beginn - pause - unterbrechung
445 STUNDE=STUNDEN/60: STUNDE=INT(STUNDE*100+.5)/100: LOCATE 16,67: PRINT USING"##.##";STUNDE: D$(D,8)=STR$(STUNDE)
446 GESAMT=GESAMT+STUNDEN
448 GES=GESAMT/60: GES=INT(GES*100+.5)/100: LOCATE 18,21: PRINT USING"##.##";GES: D$(D,9)=STR$(GES)
450 UEBER=STUNDEN-SOLL
452 LOCATE 18,45: PRINT UEBER: D$(D,10)=STR$(UEBER)
455 PLUS=PLUS+UEBER: D$(D,11)=STR$(PLUS)
458 LOCATE 18,68: PRINT PLUS
460 ZZ$=""
461 R=20: S=21: L=45: PK%=1: GOSUB 20: D$(D,12)=ZZ$
462 IF D$(D,12)=CHR$(13) THEN D$(D,12)="-"
469 LOCATE 22,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 22,5: PRINT " WEITERE EINGABEN = N KORREKTUR = Y EINGABEENDE= M ": COLOR 7,0
470 E$=INKEY$: IF E$="" THEN 470
471 IF E$="N" OR E$="n" THEN 335
472 IF E$="M" OR E$="m" THEN 480
473 IF E$="Y" OR E$="y" THEN ZZ$=D$(D,1): TA$=ZZ$: GESAMT=GESAMT-STUNDEN: PLUS=PLUS-UEBER: GOSUB 340: GOTO 350
474 GOTO 470
480 NA$=MO$+F1$+".j"+RIGHT$(JA$,2): GOSUB 12
481 OPEN NA$ FOR OUTPUT AS #1
482 PRINT #1,F1$: PRINT #1,F2$: PRINT #1,F3$: PRINT #1,F4$
483 PRINT #1,MO$: PRINT #1,JA$
484 PRINT #1,D
485 FOR I=1 TO D
486 FOR K=1 TO 12
487 PRINT #1,D$(I,K)
488 NEXT: NEXT: CLOSE #1: GOTO 100
500 GOSUB 60: GOTO 525
509 DATA SONNTAG,MONTAG,DIENSTAG,MITTWOCH,DONNERSTAG,FREITAG,SAMSTAG
510 A=0: E=0: Y=0: MO=VAL(MO$): JA=VAL(JA$): TAG=VAL(TA$): B$="": B1$=""
511 IF MO>2 THEN 513
512 JA=JA-1: MO=MO+12
513 E=INT(JA/100)
514 Y=JA-E*100
515 A=INT(2.6001*(MO-2)-.2)+TAG+Y+INT(Y/4)+INT(E/4)-2*E
516 A=A-INT(A/7)*7+1
517 RESTORE 509
518 FOR I=1 TO A: READ B$ : NEXT
519 GOSUB 530: RETURN
525 REM
527 LOCATE 7,5: PRINT "PERSONAL-NR. : ";F1$
528 LOCATE 8,5: PRINT "NAME,VORNAME : ";F3$;", ";F2$: GOTO 540
530 LOCATE 9,5: PRINT "DATUM : ";TA$;".";MO$;".";JA$
532 LOCATE 10,5: PRINT "WOCHENTAG : ";B$;TAB(40);"SOLLZEIT : ";SOLL$: RETURN
540 FOR B=1 TO D: TA$=D$(B,1): GOSUB 310
541 LOCATE 3,60: PRINT "DATENSATZ :";B
542 GOSUB 340: GOSUB 2000
549 LOCATE 22,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 22,5: PRINT " WEITERE AUSGABEN = N ZURÜCK = M HAUPTMENÜ = Y ": COLOR 7,0
550 E$=INKEY$: IF E$="" THEN 550
551 IF E$="N" OR E$="n" THEN 555
552 IF E$="Y" OR E$="y" THEN 100
553 IF E$="M" OR E$="m" THEN 564
554 GOTO 550
555 IF B=D THEN 557
556 NEXT
557 LOCATE 22,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 22,5: PRINT " DATENENDE ZURÜCK = M HAUPTMENÜ = Y ": COLOR 7,0
560 E$=INKEY$: IF E$="" THEN 560
561 IF E$="M" OR E$="m" THEN 564
562 IF E$="Y" OR E$="y" THEN 100
563 GOTO 560
564 B=B-1
565 IF B<=0 THEN B=1 : GOTO 540
566 TA$=D$(B,1): GOSUB 310: GOTO 541
600 LOCATE 21,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 21,5: PRINT " AKTUELLER MONAT : PERSONALNUMMER : ": COLOR 7,0: SU$=""
601 GOSUB 192: ZZ$="": R=21: S=40: L=2: PK%=1: GOSUB 20: MO$=ZZ$: IF MO$="*" THEN 100
602 IF MO$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 601
603 Z=VAL(MO$): IF LEN(MO$)<>2 OR Z<=0 OR Z>12 THEN BEEP: GOSUB 190: GOTO 601
604 GOSUB 192
605 ZZ$="": R=21: S=64: L=6: PK%=2: GOSUB 20: SU$=ZZ$
606 IF SU$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 605
607 GOSUB 192
620 ON ERROR GOTO 628: NA$=MO$+SU$+".j"+RIGHT$(JA$,2): GOSUB 13
621 OPEN NA$ FOR INPUT AS #1
622 INPUT #1,F1$,F2$,F3$,F4$,MO$,JA$
623 INPUT #1,D
624 FOR I=1 TO D
625 FOR K=1 TO 12
626 INPUT #1,D$(I,K)
627 NEXT: NEXT: CLOSE #1: RETURN
628 IF ERR=53 AND ERR=58 OR ERR=1230 THEN 630
629 RETURN
630 LOCATE 22,5: COLOR 0,7: PRINT " DATEINAMEN NICHT GEFUNDEN. BELIEBIGE TASTE DRÜCKEN ": COLOR 7,0: GOSUB 91: GOTO 100
631 REM
650 LOCATE 22,5: COLOR 0,7: PRINT " DRUCKER EINSCHALTEN UND TASTE = D DRÜCKEN ": COLOR 7,0
651 E$=INKEY$: IF E$="" THEN 651
652 IF E$="D" OR E$="d" THEN 659
653 GOTO 651
659 LOCATE 22,5: COLOR 0,7: PRINT " DRUCKER IN BETRIEB BITTE WARTEN ": COLOR 7,0
660 LPRINT TAB(5)"PERSONAL-NUMMER : ";F1$
661 LPRINT TAB(5)"VOR-/NACHNAME : ";F2$;" ";F3$
662 LPRINT TAB(5)"-/+ HABEN VORMO.: ";F4$
666 LPRINT TAB(5)"MONAT / JAHR : ";MO$;"/";JA$
670 LPRINT TAB(5)"TAG SOLLZEIT BEGINN PAUSE ENDE UNT.BEG UNT.END STUNDEN GESAMT +/-ZEIT UEBER"
675 FOR B=1 TO D
676 LPRINT TAB(5);D$(B,1);TAB(12);D$(B,2);TAB(18);D$(B,3);TAB(25);D$(B,4);TAB(31);D$(B,5);
677 LPRINT TAB(37);D$(B,6);TAB(45);D$(B,7);: W=VAL(D$(B,8)): GOSUB 1200: D$(B,8)=U$: U=VAL(U$): LPRINT TAB(53);USING"##.##";U
678 W=VAL(D$(B,9)): GOSUB 1200: D$(B,9)=U$: U=VAL(U$): LPRINT TAB(60);USING"##.##";U;:LPRINT TAB(70);D$(B,10);TAB(77);D$(B,11)
679 NEXT
680 CLOSE: GOTO 100
1000 GOSUB 180: LOCATE 21,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 21,5: PRINT " AKTUELLER MONAT : (2 ZIFFERN) ": COLOR 7,0
1005 ZZ$="": R=21: S=40: L=2: PK%=2: GOSUB 20: MO$=ZZ$
1006 IF MO$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 1005
1007 Z=VAL(MO$): IF LEN(MO$)<>2 OR Z<=0 OR Z>12 THEN BEEP: GOSUB 190: GOTO 1005
1008 GOSUB 192
1010 LOCATE 21,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 21,5: PRINT " VORHANDENE DATEN LADEN = N ERST(NEU)EINGABE = M ": COLOR 7,0
1015 E$=INKEY$: IF E$="" THEN 1015
1016 IF E$="N" OR E$="n" THEN 1030
1017 IF E$="M" OR E$="m" THEN 1020
1018 GOTO 1015
1020 LOCATE 21,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 21,5: PRINT " PERSONALNUMMER : ": COLOR 7,0
1021 ZZ$="": R=21: S=40: L=6: PK%=2: GOSUB 20: SU$=ZZ$
1022 IF SU$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 1021
1023 ON ERROR GOTO 1027: NA$=SU$+".dat": GOSUB 13
1024 OPEN NA$ FOR INPUT AS #1
1025 INPUT #1,F1$,F2$,F3$,F4$
1026 CLOSE #1: PLUS=VAL(F4$): TA$="": GOTO 300
1027 IF ERR=53 AND ERR=58 OR ERR=1230 THEN 1128
1028 GOTO 300
1029 REM
1030 LOCATE 21,5: COLOR 0,7: PRINT SPACE$(75): LOCATE 21,5: PRINT " PERSONALNUMMER : ": COLOR 7,0
1031 ZZ$="": R=21: S=40: L=6: PK%=2: GOSUB 20: SU$=ZZ$
1032 IF SU$=CHR$(13) THEN BEEP: GOSUB 190: GOTO 1031
1033 ON ERROR GOTO 1041: NA$=MO$+SU$+".j"+RIGHT$(JA$,2): GOSUB 13
1034 OPEN NA$ FOR INPUT AS #1
1035 INPUT #1,F1$,F2$,F3$,F4$,MO$,JA$
1036 INPUT #1,D
1037 FOR I=1 TO D
1038 FOR K=1 TO 12
1039 INPUT #1,D$(I,K)
1040 NEXT: NEXT: CLOSE #1: GOTO 500
1041 IF ERR=53 AND ERR=58 OR ERR=1230 THEN 1042
1042 LOCATE 22,5: COLOR 0,7: PRINT " DATEINAMEN NICHT GEFUNDEN. BELIEBIGE TASTE DRÜCKEN ": COLOR 7,0: GOSUB 91: GOTO 1031
1043 REM
1050 LOCATE 7,32:PRINT F1$:LOCATE 9,32:PRINT F2$:LOCATE 11,32:PRINT F3$:LOCATE 13,32:PRINT F4$
1054 RETURN
1070 MO=VAL(MO$)
1071 FOR I=1 TO 12
1072 IF MO=I THEN M$=M$(I): RETURN
1073 NEXT: RETURN
1128 LOCATE 22,5: COLOR 0,7: PRINT " DATEINAMEN NICHT GEFUNDEN. BELIEBIGE TASTE DRÜCKEN ": COLOR 7,0: GOSUB 91: GOTO 1021
1200 U$=STR$(W)
1201 FOR J=1 TO LEN(U$)
1202 IF MID$((U$),J,1)="." THEN 1206
1203 NEXT
1205 U$=U$+".00"
1206 IF J=LEN(U$)-1 THEN U$=U$+"0"
1207 FOR X=1 TO 4-J
1208 U$=" "+U$: NEXT
1209 RETURN
1500 GOSUB 60: NA$=""
1501 GOSUB 201
1505 GOSUB 192: ZZ$="": R=7: S=32: L=6: PK%=1: GOSUB 20: SU$=ZZ$: IF SU$="*" THEN 100
1506 ON ERROR GOTO 1510: NA$=SU$+".dat": GOSUB 13
1507 OPEN NA$ FOR INPUT AS #1
1508 INPUT #1,F1$,F2$,F3$,F4$
1509 CLOSE #1 : GOTO 1520
1510 IF ERR=53 AND ERR=58 OR ERR=1230 THEN 1515
1511 GOTO 1515
1512 REM
1515 LOCATE 22,5: COLOR 0,7: PRINT " DATEINAMEN NICHT GEFUNDEN. BELIEBIGE TASTE DRÜCKEN ": COLOR 7,0: GOSUB 91: GOTO 1505
1520 LOCATE 9,32: PRINT F2$: LOCATE 11,32: PRINT F3$: LOCATE 13,32: PRINT F4$
1524 COLOR 0,7: LOCATE 22,5: PRINT " WEITER SUCHEN = N HAUPTMENÜ = M ": COLOR 7,0: PP=0
1525 E$=INKEY$: IF E$="" THEN 1525
1526 IF E$="N" OR E$="n" THEN GOSUB 201: GOTO 1505
1527 IF E$="M" OR E$="m" THEN 100
1528 GOTO 1525
2000 LOCATE 12,21: PRINT D$(B,1)
2001 LOCATE 12,45: PRINT D$(B,2)
2002 LOCATE 14,21: PRINT D$(B,3)
2003 LOCATE 14,45: PRINT D$(B,4)
2004 LOCATE 14,67: PRINT D$(B,5)
2005 LOCATE 16,21: PRINT D$(B,6)
2006 LOCATE 16,45: PRINT D$(B,7): SU=VAL(D$(B,8))
2007 LOCATE 16,67: PRINT USING"##.##";SU: SU=VAL(D$(B,9))
2008 LOCATE 18,21: PRINT USING"##.##";SU
2009 LOCATE 18,45: PRINT D$(B,10)
2010 LOCATE 18,67: PRINT D$(B,11)
2011 LOCATE 20,21: PRINT D$(B,12): RETURN
2020 FOR F=1 TO 12:
2021 IF MO=F THEN MONAT$=M$(F)
2022 NEXT: RETURN