Screenshot 1 Screenshot 2 Screenshot 3
2bc0 4120 0000 B ... KALENDER
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   10 WINDOW
   20 CLEAR:CLS
   30 REM Hauptmenue
   40 Z=203:WINDOW 1,30,1,30
   50 CLS:PRINT SPC(69)"Kalenderberechnungen":PRINT:PRINT
   60 PRINT AT(2,9);"*Greifen-Soft*"
   70 PRINT "   Waehle bitte aus :":PRINT "   ------------------"
   80 FOR I=1 TO 18:PRINT:NEXT I
   90 PRINT AT(14,3);"Wochentagsberechnung....1"
  100 PRINT AT(16,3);"Ostern..................2"
  110 PRINT AT(18,3);"Pfingsten...............3"
  120 PRINT AT(20,3);"Herrentag...............4"
  130 PRINT AT(22,3);"Totensonntag............5"
  140 PRINT AT(24,3);"Ende....................6"
  150 CALL*F6B8
  160 GOSUB 800
  170 PRINT "  Deine Wahl :";
  180 Q$=INKEY$:IF Q$="" THEN 180
  190 X=ASC(Q$)-48
  200 IF X< 1 OR X > 6 GOTO 170
  210 WINDOW:GOTO 2470
  220 STOP
  230 REM Wochentag-berechnung
  240 REM
  250 WIDTH 32:Y=0
  260 CLS:PRINT: PRINT "Bitte gebe das Datum ein,":PRINT
  270 PRINT "welches ich Dir berechnen soll":PRINT:INPUT "";D$
  280 IF D$="" THEN 260
  290 GOSUB 870:IF F=1 THEN 260
  300 PRINT:PRINT:PRINT:PRINT "Der "T "."M "."J " ist ein":PRINT
  310 PRINT:PRINT TAB(10)W$
  320 PRINT:PRINT:PRINT:PRINT "Kalender-Ausgabe.............1":PRINT
  330 PRINT "Abstandsberechnung...........2":PRINT
  340 PRINT "Neue Berechnung..............3":PRINT
  350 PRINT "Zurueck ins Menue............4":PRINT
  360 PRINT "Ende.........................5":PRINT
  370 N$=INKEY$
  380 IF N$="" THEN 370
  390 IF N$="2"THEN 690
  400 IF N$="1"THEN 530
  410 IF N$="5"THEN 2480
  420 IF N$<>"4"THEN 260
  430 REM
  440 REM    Ende
  450 REM
  460 CLS:GOTO 10
  470 IF INKEY$<>""THEN 470
  480 IF INKEY$= ""THEN 480
  490 END
  500 REM
  510 REM   Kalender
  520 REM
  530 CLS:A=T-W
  540 IF A>0 THEN A=A-7:GOTO 540
  550 RESTORE 1250
  560 FOR I=1 TO M:READ M$:NEXT
  570 PRINT TAB(12-LEN(M$))M$J:PRINT:PRINT:PRINT
  580 RESTORE
  590 FOR I=1 TO 7:READ W$:PRINT W$;
  600 FOR V=0 TO 5
  610 PRINT TAB(V*3+12);:U=V*7+A+I
  620 U$=RIGHT$(STR$(U),3)
  630 IF U>0 AND U<=TM THEN PRINT U$;
  640 NEXT V:PRINT:PRINT
  650 NEXT I:IF Y<>0 THEN 2500 ELSE 320
  660 REM
  670 REM   Abstandsberechnung
  680 REM
  690 CLS:PRINT TAB( 96)"Bitte gebe das aktuelle Datum ":PRINT
  700 INPUT "ein !";D1$:D$=D1$
  710 TZ=TG:T1=T:M1=M:J1=J:GOSUB 870:IF F=1 THEN 690
  720 Z=TZ
  730 TZ=TZ-TG:PRINT:PRINT
  740 TG=Z:T=T1:M=M1:J=J1
  750 IF TZ=0 THEN PRINT "Der gesuchte Tag ist heute !":GOTO 320
  760 IF SGN(TZ)=-1 THEN E$="war vor":ELSE E$="ist in"
  770 PRINT "Der gesuchte Tag "E$:PRINT:PRINT ABS(TZ)" Tag";:IF ABS(TZ)<>1 THEN PRINT "en"
  780 GOTO 320
  790 REM
  800 REM Bildschirmrand
  810 REM
  820 FOR I=0 TO 31
  830 J=I*32
  840 POKE-5120+I,Z:POKE-4097-I,Z:POKE-5089+J,Z:POKE-4128-J,Z
  850 NEXT:RETURN
  860 REM
  870 REM Berechnung des Wochen-
  880 REM tages
  890 REM
  900 S=0
  910 GOSUB 1270:T=Z
  920 GOSUB 1270:M=Z
  930 GOSUB 1270:J=Z
  940 IF M=4 OR M=6 OR M=9 OR M=11 THEN TM=30:ELSE TM=31
  950 IF M=2 THEN TM=29
  960 IF J<0 THEN E$="Jahr":GOTO 1200
  970 IF J<100 THEN J=J+1900
  980 IF J<1583 OR J>3300 THEN PRINT:PRINT:PRINT "Das angegebene Datum liegt      ausserhalb des zulaessigen      Bereichs !":GOTO 1230
  990 IF M<1 OR M>12 THEN E$="Monat":GOTO 1200
 1000 IF T<1 OR T>TM THEN E$="TAG":GOTO 1200
 1010 P=1
 1020 P1=INT(J/4):IF J/4=P1 THEN P=0
 1030 P2=INT(J/100):IF J/100=P2 THEN P=1
 1040 P3=INT(J/400):IF J/400=P3 THEN P=0
 1050 IF J=1600 THEN P=1
 1060 TG=365*J+P1-P2+P3+P
 1070 IF J<1600 THEN TG=TG+1
 1080 IF M=2 THEN TM=TM-P
 1090 IF T>TM THEN E$="Schalttag":GOTO 1200
 1100 RESTORE 1260
 1110 FOR I=1 TO M
 1120 READ N:TG=TG+N:NEXT
 1130 TG=TG-N+T+4
 1140 IF M>2 THEN TG=TG-P
 1150 W=INT((TG/7-INT(TG/7))*7+1.1)
 1160 RESTORE
 1170 FOR I=1 TO W:READ W$:NEXT
 1180 F=0:RETURN
 1190 REM
 1200 REM Fehlerausgabe
 1210 REM
 1220 PRINT:PRINT:PRINT "Fehler im "E$:PRINT:PRINT T "."M "."J
 1230 PRINT:PRINT AT(30,25);">ENTER<":INPUT "";T$:F=1:RETURN
 1240 DATA "Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"
 1250 DATA "Januar","Februar","Maerz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"
 1260 DATA 31,29,31,30,31,30,31,31,30,31,30,31
 1270 REM
 1280 REM Abtrennen einer Stelle
 1290 LD=LEN(D$)
 1300 Z$=RIGHT$(D$,LD-S)
 1310 Z=INT(VAL(Z$))
 1320 S=S+INSTR(".",Z$)
 1330 RETURN
 1340 REM Ostern
 1350 CLS:PRINT
 1360 PRINT STRING$(32,""):PRINT
 1370 PRINT "  Berechnung des Osterfestes":PRINT:PRINT STRING$(32,"")
 1380 Y=1
 1390 GOSUB 2440
 1400 PRINT "der Ostersonntag faellt.":PRINT
 1410 GOSUB 2460
 1420 DIM D(7),M(7),K(7)
 1430 RESTORE 1660
 1440 FOR I=1 TO 7
 1450 READ D(I),M(I),K(I)
 1460 NEXT I
 1470 INPUT "gesuchtes Jahr :";J
 1480 PRINT STRING$(16,"-"):PRINT
 1490 IF J>2399 THEN 1510
 1500 IF J>=1700 THEN 1540
 1510 PRINT "In diesem Jahr laesst sich keine":PRINT
 1520 PRINT "Aussage machen .
 1530 GOTO 1730
 1540 I=INT(J/100)-16:Q=INT(J/4):A=J-INT(J/19)*19
 1550 B=M(I)-11*A:B=B-INT(B/30)*30
 1560 IF B=28 OR B=29 THEN B=B-K(I)
 1570 C=J+Q+B-D(I):C=C-INT(C/7)*7:T=28+B-C
 1580 PRINT:PRINT
 1590 PRINT "In diesem Jahr ist der ":PRINT
 1600 IF Y<>1 THEN RETURN
 1610 PRINT "Ostersonntag am :";
 1620 IF T<=31 THEN GOSUB 1640 ELSE GOSUB 1650
 1630 GOTO 1730
 1640 PRINT T;". Maerz":M=3: RETURN
 1650 TP=T-31:PRINT TP;". April":M=4: RETURN
 1660 DATA 11,203,0
 1670 DATA 12,203,0
 1680 DATA 13,204,1
 1690 DATA 13,204,1
 1700 DATA 14,204,1
 1710 DATA 15,205,1
 1720 DATA 16,206,0
 1730 PRINT:PRINT:PRINT "Neue Berechnung bzw. Kalender(3)? (0/1/3)":PRINT
 1740 U$=INKEY$:IF U$=""THEN 1740
 1750 IF U$="1"THEN 1760 ELSE 1840
 1760 CLS
 1770 IF Y=1 THEN 1470
 1780 IF Y=2 THEN GOSUB 1470
 1790 IF Y=2 THEN 1920
 1800 IF Y=3 THEN GOSUB 1470
 1810 IF Y=3 THEN 2160
 1820 IF Y=4 THEN GOSUB 1470
 1830 IF Y=4 THEN 2380
 1840 IF U$="3" THEN 2490 ELSE 10
 1850 CLS:PRINT:PRINT STRING$(32,""):PRINT
 1860 PRINT "Berechnung des Pfingstfestes":PRINT:PRINT STRING$(32,""):PRINT
 1870 Y=2
 1880 GOSUB 2440
 1890 PRINT "der Pfingstsonntag faellt.":PRINT
 1900 GOSUB 2460
 1910 GOSUB 1430
 1920 IF T<=31 THEN 1930 ELSE 1950
 1930 M=3
 1940 GOTO 1960
 1950 M=4:T=T-31
 1960 TP=T+49:IF TP>30 AND M=4 THEN 2000
 1970 IF M=3 THEN 1980 ELSE 2000
 1980 TP=TP-31:M=4:IF TP>30 THEN 2000 ELSE 2040
 1990 GOTO 2010
 2000 TP=TP-30:M=5
 2010 IF TP>31 AND M=5 THEN 2030
 2020 GOTO 2050
 2030 TP=TP-31:M=6:GOTO 2050
 2040 M$=". April"
 2050 PRINT "Pfingstsonntag am :";
 2060 IF M=5 THEN M$=". Mai"
 2070 IF M=6 THEN M$=". Juni"
 2080 PRINT TP;M$
 2090 GOTO 1730
 2100 CLS:PRINT:PRINT STRING$(32,""):PRINT
 2110 PRINT "Berechnung des Herrentages":PRINT:PRINT STRING$(32,""):PRINT
 2120 Y=3:GOSUB 2440
 2130 PRINT "der Herrentag faellt.":PRINT
 2140 GOSUB 2460
 2150 GOSUB 1430
 2160 IF T<=31 THEN 2170 ELSE 2190
 2170 M=3
 2180 GOTO 2200
 2190 M=4:T=T-31
 2200 TP=T+39:IF TP>30 AND M=4 THEN 2230
 2210 IF M=3 THEN 2220 ELSE 2290
 2220 TP=TP-31:M=4:IF TP>30 THEN 2230
 2230 TP=TP-30:M=5
 2240 IF TP>31 AND M=5 THEN 2260
 2250 GOTO 2270
 2260 TP=TP-31:M=6:M$=". Juni"
 2270 PRINT "Herrentag am :";
 2280 IF M=5 THEN M$=". Mai"
 2290 IF M=4 THEN M$=". April"
 2300 PRINT TP;M$
 2310 GOTO 1730
 2320 CLS:PRINT:PRINT STRING$(32,""):PRINT
 2330 PRINT "Berechnung des Totensonntages":PRINT:PRINT STRING$(32,""):PRINT
 2340 Y=4
 2350 GOSUB 2440
 2360 PRINT "der Totensonntag faellt.":PRINT
 2370 GOSUB 2460:GOSUB 1430
 2380 M=12:T=24:GOSUB 940
 2390 TP=26-W:IF W=7 THEN TP=26
 2400 PRINT "Totensonntag am :";
 2410 M$=". November":M=11
 2420 PRINT TP;M$
 2430 GOTO 1730
 2440 PRINT:PRINT "Es wird berechnet,auf welchen":PRINT
 2450 PRINT "Tag in dem eingegebenen Jahr":PRINT:RETURN
 2460 WINDOW 16,30,0,31:RETURN
 2470 ON X GOTO 230,1340,1850,2100,2320,2480
 2480 CALL*F6C5:END
 2490 T=TP:GOSUB 940:WINDOW:CLS:GOTO 530
 2500 PRINT AT(30,25);">ENTER<":PRINT:INPUT " ";I :GOTO 10