Thanks Glenn

 Code:
;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 $


Edited by Adolfo (2007-06-04 05:29 PM)