Calendar

Date: 198x
Type: Program
Platform(s): TS 2068

Prints a full year calendar, two months at a time. Up to year 2000.

Content

Appears On

Related Products

Related Articles

Related Content

Image Gallery

Calendar

Source Code

    1 REM "\a"GRAPHICS-A
   10 BORDER 4: PAPER 7: INK 9: POKE 23658,8: FOR X=USR "A" TO USR "A"+7: READ A: POKE X,A: NEXT X: DATA 249,0,126,0,159,0,231,0
   20 DIM L(12): DIM M(12): DIM M$(12,9): FOR X=1 TO 12: READ M$(X),M(X): NEXT X: FOR X=1 TO 12: READ L(X): NEXT X
   30 CLS : BEEP .5,0: BEEP .25,5: BEEP .25,10: PRINT PAPER 3,, PAPER 4;TAB 12; PAPER 7;"CALENDER"; PAPER 4; PAPER 5;TAB 8;"BY PUBLIC DOMAIN", PAPER 4,, PAPER 3,,
   40 PRINT '' PAPER 5;"THIS WILL PRINT A CALENDER FOR  ANY YEAR FROM 1901 TO 2000"
   50 DATA "JANUARY",7,"FEBRUARY",8,"MARCH",5,"APRIL",5,"MAY",3,"JUNE",4,"JULY",4,"AUGUST",6,"SEPTEMBER",9,"OCTOBER",7,"NOVEMBER",8,"DECEMBER",8,31,28,31,30,31,30,31,31,30,31,30,31
   60 INPUT "WHICH YEAR DO YOU WANT?";AA: IF AA>2000 OR AA<1901 THEN PRINT AT 8,0; FLASH 1; OVER 1;"             ": BEEP 1,-30: GO TO 60
   70 PRINT AT 8,0; OVER 1; PAPER 5;AT 13,7; PAPER 2;"CALENDER FOR ";AA;"."'': PRINT "DO YOU WANT A PRINTER COPY?(Y/N)"
   80 LET P=0: IF INKEY$="N" THEN GO TO 110
   90 IF INKEY$<>"Y" THEN GO TO 80
  100 LET P=1: LPRINT "       CALENDER FOR  ";AA''"\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a"
  110 LET MA=1: LET D1=0: IF AA/4=INT (AA/4) THEN LET L(2)=29
  120 CLS : FOR X=0 TO 1: PRINT "\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a"
  130 PRINT AT X*11,16-M(MA)/2; INVERSE 1;M$(MA, TO M(MA))
  140 PRINT '"   MO  TU  WE  TH  FR  SA  SU"
  150 FOR Y=1 TO 7: PRINT "\a\a\a\a \a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a": NEXT Y: PRINT "\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a": LET MA=MA+1: NEXT X
  160 DRAW 255,0: PLOT 0,88: DRAW 255,0: LET MA=MA-2: FOR Y=0 TO 1: LET N=0
  170 FOR Z=1 TO L(MA): LET D=365*(AA-1901)+INT ((AA-1901)/4)+Z+D1
  180 LET D=D-7*INT (D/7)+1: LET U=4+Y*11+N: IF D=7 THEN LET N=N+1
  190 PRINT AT U,D*4-1;(" " AND Z<10);Z: NEXT Z: LET MA=MA+1: LET D1=0: FOR X=1 TO MA-1: LET D1=D1+L(X): NEXT X: NEXT Y
  200 IF P=1 THEN COPY : IF MA=13 THEN LPRINT '''''
  220 IF INKEY$<>CHR$ 13 THEN GO TO 220
  230 IF MA<12 THEN GO TO 120

People

No people associated with this content.

Scroll to Top