Omnicalendar   (Model A)


You probably never realised that you needed this program, and may well continue to reside in ignorance until you key it in and give it a whirl. Let's say you want to remind yourself what day of the week you were born on or whether the battle of El Alamein was on a Friday or a Saturday, well this is the program for you. Whatever the year and month, the screen will throw up the appropriae calendar in an easy-to-read fashion. Who says that computers can't be useful around the home?

    5  REM*OMNICALENDAR*BBC VERSION BY I.THOM
AS FROM ORIGINAL @ WALWYN
   10 DIMM$(12),M(12),W$(7)
   20 MODE7
   30 PRINTTAB(12,2)CHR$141;CHR$&85"OMNICALEN
DAR"'TAB(12)CHR$141;CHR$&85"OMNICALENDAR"'TAB
(12)CHR$&91;STRING$(14,"`")
   40 PRINT''CHR$&83"Enter the month and year
 for which you"'CHR$&83"want a calendar gener
ated."
   50 FORX=1 TO12:READM(X):NEXT
   60 PRINT'CHR$&86"E.G. 03,62 would give the
 dates and"'CHR$&86"days of March 1962."
   70 FORX=1 TO12:READM$(X):NEXT
   80 PRINT'CHR$&82"The year must be between 
1901 and 1999"'CHR$&82"(inclusive) and the mo
nth/year must be"'CHR$&82"separated by a comm
a."
   90 FORX=1TO7:READW$(X):NEXT
  100 INPUT'"Month/Year ? "MONTH,YEAR
  110 IFMONTH>0 AND MONTH<13 AND YEAR>0 AND Y
EAR<100 GOTO150
  120 PRINTCHR$&81;CHR$&86"Invalid Data - Ret
ype."
  130 FORI=0TO3000:NEXT
  140 PRINTTAB(0,17)SPC(120):PRINTTAB(0,16);:
GOTO100
  150 TTAL=2:IFYEAR=1 GOTO210
  160 FORX=1 TOYEAR-1
  170   LGTH=365
  180   IF(X)MOD4=0 LGTH=366  
  190   TTAL=TTAL+LGTH
  200 NEXT
  210 IFMONTH=1 GOTO230
  220 FORX=1 TOMONTH-1:TTAL=TTAL+M(X):NEXTX
  230 DAY=(TTAL-1)MOD7+1
  240 IF(YEAR)MOD4=0 M(2)=29
  250 CLS:FORI=0TO1
  260   PRINTTAB(8)CHR$141;CHR$&86;M$(MONTH)"
      19";:IFYEAR<10 PRINT"0";
  270 PRINT;YEAR:NEXT
  280 PRINT'"     ";:FORX=1 TO7:PRINTW$(X)" "
;:NEXT:PRINT''
  290 FORX=1 TOM(MONTH)
  300   PRINTTAB(6+(DAY-1)*4);X;
  310   DAY=DAY+1:IFDAY=8 DAY=1:PRINT''
  320 NEXTX
  330 PRINTTAB(0,23)"Press SPACE for another 
month or any    other key to end.";
  340 IFGET=32 RUN
  350 END
  360 DATA31,28,31,30,31,30,31,31,30,31,30,31
  370 DATAJanuary,February,March,April,May,Ju
ne,July,August,September,October,November,Dec
ember
  380 DATAMon,Tue,Wed,Thu,Fri,Sat,Sun