1 'MONTH.BA by Alex Jacobs 1983 as found in The Model 100 Program Book, modified by Robert Benson (06/30/92) 10 CLS:C$=CHR$(34):PRINT@82,C$"MONTH"C$" Monthly Calender 8/31/84" 20 PRINT:PRINT" nstructions onth" 30 PRINT:PRINT" Press SPACE-BAR for the main Menu":BEEP:LINE(5,5)-(234,58),1,B 40 K$=INKEY$ 50 IF K$="I"OR K$="i"THEN620 60 IF K$="M"OR K$="m"THEN90 70 IF K$=CHR$(32)THEN MENU 80 GOTO40 90 CLEAR 300 100 BS$=CHR$(8) 110 RV$=CHR$(27)+"p":NV$=CHR$(27)+"q" 120 A$="Jan31Feb28Mar31Apr30May31Jun30Jul31Aug31Sep30Oct31Nov30Dec31" 130 MCUR=VAL(LEFT$(DATE$,2)) 140 YCUR=VAL(RIGHT$(DATE$,2))+1900 150 DCUR=VAL(MID$(DATE$,4,2)) 160 MDISP=MCUR:YDISP=YCUR:GOSUB 520 170 GOTO 260 180 CLS:PRINT:PRINT"Input Year(";RV$;YDISP;NV$;"): ";:INPUT YDISP 190 PRINT"Input Month (";RV$;MDISP;NV$;"): "; 200 FOR K=1TO 10:PRINT BS$;:NEXT K 210 INM=MDISP 220 INPUT INM 230 IF INM>0 AND INM<13THEN 250 240 BEEP:PRINT" The month must be between 1 and 12":PRINT@0,:GOTO 190 250 MDISP=INM:GOSUB 520 260 IF M$="Feb"THEN IF YDISP/4=INT(YDISP/4)THEN DINM=29 270 IF M$="Feb"THEN IF YDISP/100=INT(YDISP/100)THEN DINM=28 280 IF M$="Feb"THEN IF YDISP/400=INT(YDISP/400)THEN DIMN=29 290 HEAD$=M$+""+STR$(YDISP) 300 IF MDISP>2THEN YEQU=YDISP:GOTO 330 310 MEQU=MDISP+13 320 YEQU=YDISP-1:GOTO 340 330 MEQU=MDISP+1 340 D=INT(365.25*YEQU)-INT(YEQU/100)+INT(YEQU/400)+INT(30.6*MEQU)-478163! 350 W=INT(7.1*(D/7-INT(D/7))) 360 CLS:PRINT@1,"A=ANY";:PRINTTAB(20-INT((LEN(HEAD$))/2));HEAD$ 370 PRINT" ";RV$;"Sun Mon Tue Wed Thu Fri Sat ";NV$ 380 IF MDISP=MCUR AND YDISP=YCUR THEN TDAY=DCUR ELSE TDAY=0 390 FOR I=1TO DINM 400 IF I=TDAY THEN PRINTTAB(7+(W*4));RV$;I;NV$;:W=W+1:GOTO 420 410 PRINTTAB(7+(W*4));I;:W=W+1 420 IF W>6THEN W=0:PRINT 430 NEXT I 440 GOSUB 590 450 I$=INKEY$:IF I$=""THEN 450 460 IF I$="A" OR I$="a"THEN 180 470 IF ASC(I$)=29THEN 530 480 IF ASC(I$)=28THEN 550 490 IF ASC(I$)=30THEN 570 500 IF ASC(I$)=31THEN 580 510 IF ASC(I$)=32THEN MENU ELSE 450 520 M$=MID$(A$,(5*MDISP)-4,3):DIN M=VAL(MID$(A$,(5*MDISP)-1,2)):RETURN 530 IF MDISP=1THEN YDISP=YDISP-1:MDISP=12:ELSE MDISP=MDISP-1 540 GOSUB 520:GOTO 260 550 IF MDISP=12THEN YDISP=YDISP+1:MDISP=1:ELSE MDISP=MDISP+1 560 GOSUB 520:GOTO 260 570 YDISP=YDISP+1:GOSUB 520:GOTO 260 580 YDISP=YDISP-1:GOSUB 520:GOTO 260 590 PRINT@80," Month":PRINT" "CHR$(155)" "CHR$(154) 600 PRINT:PRINT" Year":PRINT" "CHR$(152)" "CHR$(153) 610 RETURN 620 BEEP:CLS:PRINT:PRINT" Press "CHR$(155)" or "CHR$(154)" to see previous/following" 630 PRINT" month. Press "CHR$(152)" or "CHR$(153)" for the same month" 640 PRINT" in previous/following year." 650 PRINT:PRINT" You can specify an individual month by" 660 PRINT" pressing "C$"A"C$". Enter a year in 4 digits":PRINT" and the month as 1 to 12." 670 X=5000:GOSUB 710 680 CLS:PRINT:PRINT" If you just press ENTER the year which":PRINT" appears in reverse video will be used," 690 PRINT" the same is true for the month.":PRINT:PRINT" Press the SPACE-BAR for the main Menu.":PRINT 700 X=3000:GOSUB 710:CLS:GOTO 90 710 FOR Z=1 TO X:NEXT:RETURN