65 lines
1.4 KiB
Text
65 lines
1.4 KiB
Text
BS(BF)
|
|
CFT(22)
|
|
#3 = 6 // NUMBER OF MONTHS PER LINE
|
|
#2 = 1969 // YEAR
|
|
#1 = 1 // STARTING MONTH
|
|
IC(' ', COUNT, #3*9) IT("[SNOOPY]") IN(2)
|
|
IC(' ', COUNT, #3*9+1) NI(#2) IN
|
|
REPEAT(12/#3) {
|
|
REPEAT (#3) {
|
|
BS(BF)
|
|
CALL("DRAW_CALENDAR")
|
|
RCB(10, 1, EOB_POS, COLSET, 1, 21)
|
|
BQ(OK)
|
|
#5 = CP
|
|
RI(10)
|
|
GP(#5)
|
|
EOL IC(9)
|
|
#1++
|
|
}
|
|
EOF IN(2)
|
|
}
|
|
RETURN
|
|
|
|
:DRAW_CALENDAR:
|
|
NUM_PUSH(4,20)
|
|
#20 = RF
|
|
BOF DC(ALL)
|
|
|
|
NI(#1, LEFT+NOCR) IT("/1/") NI(#2, LEFT+NOCR)
|
|
RCB(#20, BOL_POS, EOL_POS, DELETE)
|
|
#10 = JDATE(@(#20))
|
|
|
|
#4 = #2+(#1==12)
|
|
NI(#1%12+1, LEFT+NOCR) IT("/1/") NI(#4, LEFT+NOCR)
|
|
RCB(#20, BOL_POS, CP, DELETE)
|
|
#11 = JDATE(@(#20)) - #10
|
|
#7 = (#10-1) % 7
|
|
|
|
IF (#1==1) { RS(#20," JANUARY ") }
|
|
IF (#1==2) { RS(#20," FEBRUARY") }
|
|
IF (#1==3) { RS(#20," MARCH ") }
|
|
IF (#1==4) { RS(#20," APRIL ") }
|
|
IF (#1==5) { RS(#20," MAY ") }
|
|
IF (#1==6) { RS(#20," JUNE ") }
|
|
IF (#1==7) { RS(#20," JULY ") }
|
|
IF (#1==8) { RS(#20," AUGUST ") }
|
|
IF (#1==9) { RS(#20,"SEPTEMBER") }
|
|
IF (#1==10) { RS(#20," OCTOBER ") }
|
|
IF (#1==11) { RS(#20," NOVEMBER") }
|
|
IF (#1==12) { RS(#20," DECEMBER") }
|
|
|
|
IT(" ") RI(#20) IN
|
|
IT(" MO TU WE TH FR SA SU") IN
|
|
IT(" --------------------") IN
|
|
IC(' ', COUNT, #7*3)
|
|
FOR (#8 = 1; #8 <= #11; #8++) {
|
|
NI(#8, COUNT, 3)
|
|
#5 = (#8+#10+5) % 7
|
|
IF (#5 == 6) { IN }
|
|
}
|
|
IT(" ")
|
|
|
|
REG_EMPTY(#20)
|
|
NUM_POP(4,20)
|
|
RETURN
|