Casio FX-850P Dienstplan

DIENSTPLAN

Ein Dienstplan

DIENSTPLAN (3.291 Bytes)

10 ' P-1 => Dienstplan V 1.14k
20 ' 21.10.2006, 10:41
30 ' (C) 2006 by esra-SOFT
40 ' Plan 6A eingearbeitet
50 CLS
60 DEFCHR$(252)="04aa2aaa1e"
70 DEFCHR$(253)="1ca222a21c"
80 DEFCHR$(254)="3c8202843e"
90 DEFCHR$(255)="7eabcdef32"
100 PRINT" Bitte warten ... ";
110 JJ=2006:' akt. Jahr eingeb.
120 IF JJ=2006 THEN WOCHE=13:START=1:DIFF=2
130 IF JJ=2007 THEN WOCHE=10:START=1:DIFF=1
140 IF JJ=2008 THEN WOCHE=7:START=1:DIFF=0
150 ' Diff. v. 01.01. zum naechsten Montag +1
160 ' INITIALISIERUNG
170 DIM ANZ(12),DIENST$(7),LAGE$(7),WAS$(7):PRINT"*";
180 RESTORE 220
190 ANZ(0)=0:FOR X=1 TO 12:READ Y:ANZ(X)=ANZ(X-1)+Y
200 PRINT"*";
210 NEXT X
220 DATA 31,28,31,30,31,30,31,31,30,31,30,31
230 IF JJ=2008 THEN FOR LL=2 TO 12:ANZ(LL)=ANZ(LL)+1:NEXT LL
240 ' MENUE
250 PRINT CHR$(9);:SET N:CLS
260 PRINT" [Q]uit oder";:PRINT
270 PRINT" DATUM: (tt.mm)   ";:DDD$=INPUT$(1)
280 IF DDD$="Q" THEN 350
300 IF DDD$<"0" OR DDD$>"9" THEN 250
310 PRINT DDD$;:INPUT"",DD$
320 DD$=DDD$+DD$
330 CLS:PRINT" Moment bitte ...";:GOTO 470
340 ' Quit
350 ' CLEAR -> rausgenommen, weil ALLE Programme betroffen !!!
380 CLS:PRINT"Memory:";FRE 1;" Stack:";FRE 0;:PRINT
450 END
460 ' Wochentag ermitteln
470 IF LEN(DD$)<>5 THEN 270
480 TAG=ABS(INT(VAL(LEFT$(DD$,2)))):PRINT" *";
490 MON=ABS(INT(VAL(RIGHT$(DD$,2))))
500 IF TAG<1 OR TAG>31 OR MON<1 OR MON>12 THEN 270
510 IF MON=2 AND TAG>29 THEN 270
520 IF (MON=4 OR MON=6 OR MON=9 OR MON=11) AND TAG>30 THEN 270
530 Z=JJ/100:Z=JJ-100*INT(Z):X=JJ/400:PRINT" *";
540 IF TAG=29 AND MON=2 AND Z=0 AND X>INT(X) THEN 270
550 M1=MON:J1=JJ:MON=MON-2:IF MON<1 THEN MON=MON+12:JJ=JJ-1
560 C=INT(JJ/100):A=JJ-100*C:B=INT((13*MON-1)/5)+INT(A/4)+INT(C/4)
570 PRINT" *";
580 MON=M1:JJ=J1:W=A+B+TAG-C-C:W=W-INT(W/7)*7
590 ' Tag im Jahr
600 TIJ=TAG+ANZ(MON-1):CLS:PRINT"Tag:";TIJ;
610 ' Kalenderwoche
620 KW=INT((TIJ-DIFF)/7):PRINT" KW:";KW;
630 ' Planwoche
640 PW=KW+WOCHE+START
650 IF PW>14 THEN PW=PW-14:GOTO 650
660 PRINT" PW:";PW;:FOR LL=1 TO 750:NEXT LL:PRINT
670 RESTORE (1160+PW*10)
810 ' Dienste einlesen
820 FOR X=0 TO 7
830 READ DIENST$(X)
840 PRINT"*";
850 NEXT X
860 PRINT" o ";
880 FOR X=1 TO 7
890 LAGE$(X)=RIGHT$(DIENST$(X),1):PRINT"*";
900 WAS$(X)=LEFT$(DIENST$(X),2)
910 NEXT X
920 IF W=0 THEN INDEX=7 ELSE INDEX=W
930 ' Woche ausgeben
940 PRINT CHR$(12);
950 LOCATE 0,0:PRINT"           Mo Di Mi Do Fr Sa So";
960 X=INDEX*3+7
970 LOCATE X,0:PRINT"<";
980 X=INDEX*3+10
990 LOCATE X,0:PRINT">";
1000 LOCATE 0,1:PRINT"P:";RIGHT$(STR$(PW),2);" L:";LAGE$(INDEX);
1010 FOR XX=1 TO 7
1020 X=XX*3+8
1030 LOCATE X,1:PRINT WAS$(XX);
1040 NEXT XX
1050 LOCATE 0,0
1060 PRINT"Dat:";RIGHT$(STR$(TAG),2);".";RIGHT$(STR$(MON),2);"."
1070 GOTO 250
1080 END' (C) esra-Soft 2006
1160 ' DATENBANK: PW,Mo,Di,Mi,Do,Fr,Sa,So
1170 DATA 1,F3,F2,F2,F1,RSo,S2,S2
1180 DATA 2,S2,S2,X,RSo,N2,N2,N1
1190 DATA 3,N1,RaN,RSo,S2,S1,X,X
1200 DATA 4,S2,S2,S1,X,S2,S2,S2
1210 DATA 5,S2,S1,X,S1,S1,X,X
1220 DATA 6,S2,S3,RaN,RSo,N3,N2,N2
1230 DATA 7,N2,RaN,RSo,RSo,S2,S2,S1
1240 DATA 8,S1,S1,X,RSo,F3,F2,F2
1250 DATA 9,X,F3,F2,F2,F2,X,X
1260 DATA 10,S2,N2,N2,N1,RaN,RSo,X
1270 DATA 11,F2,F2,F2,F2,X,S2,S2
1280 DATA 12,S2,S2,S1,X,RSo,F3,F3
1290 DATA 13,F1,RSo,S2,S2,S2,S1,S1
1300 DATA 14,X,RSo,F3,F2,F1,RSo,X

Generated by (c) Casio FX-850P/FX-880P Notepad 2.00

(C) 2006 by esra-SOFT - esra.esra@arcor.de - http://blog.manib.bplaced.net