;FUNCTION nCalculateFirstDayOfMonth()
;
;ACTION Calculate the first day of any month and year and shows a Calendar
;
;PARAMETERS Set these variables
; $nMyMonth=6
; $nMyYear=2007
; and
; $nGetFirstDayOfMonth=nCalculateFirstDayOfMonth($nMyMonth,$nMyYear)
;
;RETURNS 0=Sunday
; 1=Monday
; .
; 6=Saturday
Break ON
$nMyMonth=6
$nMyYear=2007
$nGetFirstDayOfMonth=nCalculateFirstDayOfMonth($nMyMonth,$nMyYear)
nDisplayCalendar($nGetFirstDayOfMonth,$nMyMonth,$nMyYear)
Function nCalculateFirstDayOfMonth($nMonth, $nYear)
Dim $nJan, $nFeb, $nMar, $nApr, $nMay, $nJun, $nJul, $nAug, $nSep, $nOct, $nNov, $nDec, $nCountDays
;Days of every month
$nJan=31
if $nYear mod 4 = 0
$nFeb=29
else
$nFeb=28
endif
$nMar=31
$nApr=30
$nMay=31
$nJun=30
$nJul=31
$nAug=31
$nSep=30
$nOct=31
$nNov=30
$nDec=31
;Calculate Number of Days
$nCountDays= ((($nYear-1)/4)*366)+((($nYear-1)-($nYear-1)/4)*365)
SELECT
CASE $nMonth=1
$nCountDays=$nCountDays+1
CASE $nMonth=2
$nCountDays=$nCountDays+$nJan+1
CASE $nMonth=3
$nCountDays=$nCountDays+$nJan+$nFeb+1
CASE $nMonth=4
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+1
CASE $nMonth=5
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+1
CASE $nMonth=6
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+$nMay+1
CASE $nMonth=7
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+$nMay+$nJun+1
CASE $nMonth=8
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+$nMay+$nJun+$nJul+1
CASE $nMonth=9
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+$nMay+$nJun+$nJul+$nAug+1
CASE $nMonth=10
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+$nMay+$nJun+$nJul+$nAug+$nSep+1
CASE $nMonth=11
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+$nMay+$nJun+$nJul+$nAug+$nSep+$nOct+1
CASE $nMonth=12
$nCountDays=$nCountDays+$nJan+$nFeb+$nMar+$nApr+$nMay+$nJun+$nJul+$nAug+$nSep+$nOct+$nNov+1
CASE 1
?"Invalid Month"
EXIT
ENDSELECT
;DETERMINE DAY OF THE WEEK
SELECT
CASE $nCountDays mod 7 = 0
$nCalculateFirstDayOfMonth=7
CASE $nCountDays mod 7 = 1
$nCalculateFirstDayOfMonth=1
CASE $nCountDays mod 7 = 2
$nCalculateFirstDayOfMonth=2
CASE $nCountDays mod 7 = 3
$nCalculateFirstDayOfMonth=3
CASE $nCountDays mod 7 = 4
$nCalculateFirstDayOfMonth=4
CASE $nCountDays mod 7 = 5
$nCalculateFirstDayOfMonth=5
CASE $nCountDays mod 7 = 6
$nCalculateFirstDayOfMonth=6
ENDSELECT
ENDFUNCTION
Function nDisplayCalendar($nFirstDayOfMonth,$nCalendarMonth,$nCalendarYear)
dim $nNoOfDaysofMonth, $iRow, $iColomn
$iRow=6
CLS
SELECT
CASE $nCalendarMonth=1
$nNoOfDaysOfMonth=31
at($iRow-4,4) "January of "$nCalendarYear
CASE $nCalendarMonth=2 and $nCalendarYear mod 4 = 0
$nNoOfDaysOfMonth=29
at($iRow-4,4) "February of "$nCalendarYear
CASE $nCalendarMonth=2 and $nCalendarYear mod 4 <> 0
$nNoOfDaysOfMonth=28
at($iRow-4,4) "February of "$nCalendarYear
CASE $nCalendarMonth=3
$nNoOfDaysOfMonth=31
at($iRow-4,4) "March of "$nCalendarYear
CASE $nCalendarMonth=4
$nNoOfDaysOfMonth=30
at($iRow-4,4) "April of "$nCalendarYear
CASE $nCalendarMonth=5
$nNoOfDaysOfMonth=31
at($iRow-4,4) "May of "$nCalendarYear
CASE $nCalendarMonth=6
$nNoOfDaysOfMonth=30
at($iRow-4,4) "June of "$nCalendarYear
CASE $nCalendarMonth=7
$nNoOfDaysOfMonth=31
at($iRow-4,4) "July of "$nCalendarYear
CASE $nCalendarMonth=8
$nNoOfDaysOfMonth=31
at($iRow-4,4) "August of "$nCalendarYear
CASE $nCalendarMonth=9
$nNoOfDaysOfMonth=30
at($iRow-4,4) "September of "$nCalendarYear
CASE $nCalendarMonth=10
$nNoOfDaysOfMonth=31
at($iRow-4,4) "October of "$nCalendarYear
CASE $nCalendarMonth=11
$nNoOfDaysOfMonth=30
at($iRow-4,4) "November of "$nCalendarYear
CASE $nCalendarMonth=12
$nNoOfDaysOfMonth=31
at($iRow-4,4) "December of "$nCalendarYear
ENDSELECT
$iColumn=$nFirstDayOfMonth
at($iRow-1,4) COLOR w+/b "S M T W T F S " COLOR w+/n
for $i=1 to $nNoOfDaysOfMonth
at($iRow,$iColumn*4) $i
if $iColumn mod 7 = 0
$iRow=$iRow+1
$iColumn=0
endif
$iColumn=$iColumn+1
next
EndFunction
gets $