|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
亮显示当天,能够选取某天显示,并能够加入事件。 <% \\\' ***Begin Function Declaration*** \\\' New and improved GetDaysInMonth implementation. \\\' Thanks to Florent Renucci for pointing out that I \\\' could easily use the same method I used for the \\\' revised GetWeekdayMonthStartsOn function. Function GetDaysInMonth(iMonth, iYear) Dim dTemp dTemp = DateAdd("d", -1, DateSerial(iYear, iMonth + 1, 1)) GetDaysInMonth = Day(dTemp) End Function \\\' Previous implementation on GetDaysInMonth \\\'Function GetDaysInMonth(iMonth, iYear) \\\' Select Case iMonth \\\' Case 1, 3, 5, 7, 8, 10, 12 \\\' GetDaysInMonth = 31 \\\' Case 4, 6, 9, 11 \\\' GetDaysInMonth = 30 \\\' Case 2 \\\' If IsDate("February 29, " & iYear) Then \\\' GetDaysInMonth = 29 \\\' Else \\\' GetDaysInMonth = 28 \\\' End If \\\' End Select \\\'End Function Function GetWeekdayMonthStartsOn(dAnyDayInTheMonth) Dim dTemp dTemp = DateAdd("d", -(Day(dAnyDayInTheMonth) - 1), dAnyDayInTheMonth) GetWeekdayMonthStartsOn = WeekDay(dTemp) End Function Function SubtractOneMonth(dDate) SubtractOneMonth = DateAdd("m", -1, dDate) End Function Function AddOneMonth(dDate) AddOneMonth = DateAdd("m", 1, dDate) End Function \\\' ***End Function Declaration*** Dim dDate \\\' Date we\\\'re displaying calendar for Dim iDIM \\\' Days In Month Dim iDOW \\\' Day Of Week that month starts on Dim iCurrent \\\' Variable we use to hold current day of month as we write table Dim iPosition \\\' Variable we use to hold current position in table \\\' Get selected date. There are two ways to do this. \\\' First check if we were passed a full date in RQS("date"). \\\' If so use it, if not look for seperate variables, putting them togeter into a date. \\\' Lastly check if the date is valid...if not use today If IsDate(Request.QueryString("date")) Then dDate = CDate(Request.QueryString("date")) Else If IsDate(Request.QueryString("month") & "-" & Request.QueryString("day") & "-" & Request.QueryString("year")) Then dDate = CDate(Request.QueryString("month") & "-" & Request.QueryString("day") & "-" & Request.QueryString("year")) Else dDate = Date() \\\' The annoyingly bad solution for those of you running IIS3 If Len(Request.QueryString("month")) <> 0 Or Len(Request.QueryString("day")) <> 0 Or Len(Request.QueryString("year")) <> 0 Or Len(Request.QueryString("date")) <> 0 Then Response.Write "The date you picked was not a valid date. The calendar was set to today\\\'s date.<BR><BR>" End If \\\' The elegant solution for those of you running IIS4 \\\'If Request.QueryString.Count <> 0 Then Response.Write "The date you picked was not a valid date. The calendar was set to today\\\'s date.<BR><BR>" End If End If \\\'Now we\\\'ve got the date. Now get Days in the choosen month and the day of the week it starts on. iDIM = GetDaysInMonth(Month(dDate), Year(dDate)) iDOW = GetWeekdayMonthStartsOn(dDate) %> <!-- Outer Table is simply to get the pretty border--> <TABLE BORDER=10 CELLSPACING=0 CELLPADDING=0> <TR> <TD> <TABLE BORDER=1 CELLSPACING=0 CELLPADDING=1 BGCOLOR=#99CCFF> <TR> <TD BGCOLOR=#000099 ALIGN="center" COLSPAN=7> <TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0> <TR> <TD ALIGN="right"><A HREF="./calendar.asp?date=<%= SubtractOneMonth(dDate) %>"><FONT COLOR=#FFFF00 SIZE="-1"><<</FONT></A></TD> <TD ALIGN="center"><FONT COLOR=#FFFF00><B><%= MonthName(Month(dDate)) & " " & Year(dDate) %></B></FONT></TD> <TD ALIGN="left"><A HREF="./calendar.asp?date=<%= AddOneMonth(dDate) %>"><FONT COLOR=#FFFF00 SIZE="-1">>></FONT></A></TD> </TR> </TABLE> </TD> </TR> <TR> <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Sun</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD> <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Mon</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD> <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Tue</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD> <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Wed</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD> <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Thu</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD> <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Fri</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD> <TD ALIGN="center" BGCOLOR=#0000CC><FONT COLOR=#FFFF00><B>Sat</B></FONT><BR><IMG SRC="./images/spacer.gif" WIDTH=60 HEIGHT=1 BORDER=0></TD> </TR> <% \\\' Write spacer cells at beginning of first row if month doesn\\\'t start on a Sunday. If iDOW <> 1 Then Response.Write vbTab & "<TR>" & vbCrLf iPosition = 1 Do While iPosition < iDOW Response.Write vbTab & vbTab & "<TD> </TD>" & vbCrLf iPosition = iPosition + 1 Loop End If \\\' Write days of month in proper day slots iCurrent = 1 iPosition = iDOW Do While iCurrent <= iDIM \\\' If we\\\'re at the begginning of a row then write TR If iPosition = 1 Then Response.Write vbTab & "<TR>" & vbCrLf End If \\\' If the day we\\\'re writing is the selected day then highlight it somehow. If iCurrent = Day(dDate) Then Response.Write vbTab & vbTab & "<TD BGCOLOR=#00FFFF><FONT SIZE=""-1""><B>" & iCurrent & "</B></FONT><BR><BR></TD>" & vbCrLf Else Response.Write vbTab & vbTab & "<TD><A HREF=""./calendar.asp?date=" & Month(dDate) & "-" & iCurrent & "-" & Year(dDate) & """><FONT SIZE=""-1"">" & iCurrent & "</FONT></A><BR><BR></TD>" & vbCrLf End If \\\' If we\\\'re at the endof a row then write /TR If iPosition = 7 Then Response.Write vbTab & "</TR>" & vbCrLf iPosition = 0 End If \\\' Increment variables iCurrent = iCurrent + 1 iPosition = iPosition + 1 Loop \\\' Write spacer cells at end of last row if month doesn\\\'t end on a Saturday. If iPosition <> 1 Then Do While iPosition <= 7 Response.Write vbTab & vbTab & "<TD> </TD>" & vbCrLf iPosition = iPosition + 1 Loop Response.Write vbTab & "</TR>" & vbCrLf End If %> </TABLE> </TD> </TR> </TABLE> <BR> <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD ALIGN="center"> <FORM ACTION="./calendar.asp" METHOD=GET> <SELECT NAME="month"> <OPTION VALUE=1>January</OPTION> <OPTION VALUE=2>February</OPTION> <OPTION VALUE=3>March</OPTION> <OPTION VALUE=4>April</OPTION> <OPTION VALUE=5>May</OPTION> <OPTION VALUE=6>June</OPTION> <OPTION VALUE=7>July</OPTION> <OPTION VALUE=8>August</OPTION> <OPTION VALUE=9>September</OPTION> <OPTION VALUE=10>October</OPTION> <OPTION VALUE=11>November</OPTION> <OPTION VALUE=12>December</OPTION> </SELECT> <SELECT NAME="day"> <OPTION VALUE=1>1</OPTION> <OPTION VALUE=2>2</OPTION> <OPTION VALUE=3>3</OPTION> <OPTION VALUE=4>4</OPTION> <OPTION VALUE=5>5</OPTION> <OPTION VALUE=6>6</OPTION> <OPTION VALUE=7>7</OPTION> <OPTION VALUE=8>8</OPTION> <OPTION VALUE=9>9</OPTION> <OPTION VALUE=10>10</OPTION> <OPTION VALUE=11>11</OPTION> <OPTION VALUE=12>12</OPTION> <OPTION VALUE=13>13</OPTION> <OPTION VALUE=14>14</OPTION> <OPTION VALUE=15>15</OPTION> <OPTION VALUE=16>16</OPTION> <OPTION VALUE=17>17</OPTION> <OPTION VALUE=18>18</OPTION> <OPTION VALUE=19>19</OPTION> <OPTION VALUE=20>20</OPTION> <OPTION VALUE=21>21</OPTION> <OPTION VALUE=22>22</OPTION> <OPTION VALUE=23>23</OPTION> <OPTION VALUE=24>24</OPTION> <OPTION VALUE=25>25</OPTION> <OPTION VALUE=26>26</OPTION> <OPTION VALUE=27>27</OPTION> <OPTION VALUE=28>28</OPTION> <OPTION VALUE=29>29</OPTION> <OPTION VALUE=30>30</OPTION> <OPTION VALUE=31>31</OPTION> </SELECT> <SELECT NAME="year"> <OPTION VALUE=1990>1990</OPTION> <OPTION VALUE=1991>1991</OPTION> <OPTION VALUE=1992>1992</OPTION> <OPTION VALUE=1993>1993</OPTION> <OPTION VALUE=1994>1994</OPTION> <OPTION VALUE=1995>1995</OPTION> <OPTION VALUE=1996>1996</OPTION> <OPTION VALUE=1997>1997</OPTION> <OPTION VALUE=1998>1998</OPTION> <OPTION VALUE=1999>1999</OPTION> <OPTION VALUE=2000 SELECTED>2000</OPTION> <OPTION VALUE=2001>2001</OPTION> <OPTION VALUE=2002>2002</OPTION> <OPTION VALUE=2003>2003</OPTION> <OPTION VALUE=2004>2004</OPTION> <OPTION VALUE=2005>2005</OPTION> <OPTION VALUE=2006>2006</OPTION> <OPTION VALUE=2007>2007</OPTION> <OPTION VALUE=2008>2008</OPTION> <OPTION VALUE=2009>2009</OPTION> <OPTION VALUE=2010>2010</OPTION> </SELECT> <BR> <INPUT TYPE="submit" VALUE="Show This Date on the Calendar!"> </FORM> </TD></TR></TABLE> 返回类别: 教程 上一教程: NEXTRECORDSET 和 GETROWS 双簧合奏 下一教程: 如何在VC++ 编写的组件中使用 ADO 您可以阅读与"日历源程序"相关的教程: · 一个免费的邮件列表源程序(一) · 用ASP自动生成SQL数据库的安装源程序 · ASP中时间采集源程序 · 一个免费的邮件列表源程序(三) · LINE 的计数器源程序(附源代码) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |