O código abaixo implementa um calendário que pode ser customizado para chamar um link, frame ou JavaScript.
Escrito em programação estruturada ele não é dos mais fáceis de se entender, atualmente estou trabalhando em uma versão orientada a objetos do mesmo.
Peguem também o código do auxarrays.asp que complementa o código do calendário.
Aguardo sugestões e críticas (elogios também porque não).
[]s
PEST
<%@ Language="VBScript" %>
<!-- #include file="auxArrays.asp" -->
<%
fDay = 1
function nWeeks(Mes, Ano)
Dim nSemanas
startdate = DateSerial(Ano, Mes, fDay)
if WeekDay(startdate) = 1 then
nsemanas = 0
else
nsemanas = 1
end if
ndiasmes = monthDays(Mes-1)
for i = 1 to nDiasmes
if WeekDay(startdate) = 1 then
nsemanas = nsemanas + 1
end if
startdate = DateAdd("d", 1, startdate)
next
nWeeks = nsemanas
end function
sub setBissexto
Data = Request("Data")
if Trim(data) = "" then
Data = Date()
else
Data = CDate(Data)
end if
Ano = Year(Data)
if (ano mod 4 = 0) or (ano mod 100 = 0) and (ano mod 400 = 0) then
monthDays(1)=29
else
monthDays(1)=28 'Teste ano bissexto
end if
end sub
setBissexto
sub WriteCalendar
Data = Request("Data")
if Trim(data) = "" then
Data = Date()
else
Data = CDate(Data)
end if
Ano = Year(Data)
Mes = Month(Data)
startday = WeekDay(DateSerial(ano, mes, fday))
startdate = DateSerial(ano, mes, fday)
'#Início Tabela
Response.Write "<table border cellpading=0 cellspacing=0><tr>"&VBCrLf
'#Descer mês
Response.Write "<th width=25>"&VBCrLf
Response.Write "<center><input type='button' value=' << ' onclick='javascript:document.location.href=""calend.asp?data="&DateAdd("m", -1, startdate)&"""'>"&VBCrLf
Response.Write "</center></th>"&VBCrLf
'#Escreve mês ano
Response.Write "<th colspan=5 class=cal align=center nowrap width=120>"&WriteMonth(startdate)&" - "&Year(startdate)&"</th>"&VBCrLf
'#Subir mês
Response.Write "<th width=25>"&VBCrLf
Response.Write "<center><input type='button' value=' >> ' onclick='javascript:document.location.href=""calend.asp?data="&DateAdd("m", 1, startdate)&"""'>"&VBCrLf
Response.Write "</center></th></tr>"&VBCrLf
'#Escreve cabeçalho dias da semana
Response.Write "<tr>"
for j = 0 to 6
if j=0 then
Response.Write "<td class=cal align=center><div class=dom>"&weekdays(j)&"</div></td>"&VBCrLf
else
Response.Write "<td class=cal align=center>"&weekdays(j)&"</td>"&VBCrLf
end if
next
Response.Write "</tr>"
'#Escreve tábua de dias
for i = 0 to (nWeeks(Month(startdate), Year(startdate)) -1)
Response.Write "<tr>"&VBCrLf
for j = 0 to 6
if (startday-1) > j and i = 0 then
if j=0 and i=0 then
Response.Write "<td class=cal><div class=dom> </div></td>"&VBCrLf
else
Response.Write "<td class=cal> </td>"&VBCrLf
end if
else
if Month(startdate) > Mes or Year(startdate) > Ano then
Response.Write "<td class=cal> </td>"&VBCrLf
else
if weekDay(startdate) = 1 then
Response.Write "<td class=cal align=center><div class=dom>"&Day(startdate)&"</div></td>"&VBCrLf
else
if startdate = Date() then
Response.Write "<td align=center><div class=hoje><a href='javascript:updDiary("""&startDate&""")' style='Color: White;'>"&Day(startdate)&"</a></div></td>"&VBCrLf
else
Response.Write "<td class=cal id="&Day(startdate)&" align=center><a href='javascript:updDiary("""&startDate&"""); fixClickedDay("""&Day(startdate)&""")'>"&Day(startdate)&"</a></td>"&VBCrLf
end if
end if
end if
startdate = DateAdd("d", startdate, 1)
end if
next
Response.Write "</tr>"&VBCrLf
next
'#Fim tabela
Response.Write "</table>"&VBCrLf
end sub
%>
<html>
<head>
<script language="JavaScript">
<!--
function updDiary(data){
alert(data)
}
function fixClickedDay(dia){
return
}
-->
</script>
<style>
th.cal
{
Font-Family: Verdana;
Font-Size: 8 pt;
Background : Blue;
Color : White;
}
td.cal
{
Font-Family: Verdana;
Font-Size: 8 pt;
}
.hoje
{
Font-Family: Verdana;
Font-Size: 8 pt;
Background : Teal;
Color: White;
}
a
{
Font-Family: Verdana;
Font-Size: 8 pt;
Text-Decoration: None;
Color: "Black";
}
a:hover
{
Font-Family: Verdana;
Font-Size: 8 pt;
Text-Decoration: None;
Color: "Red";
}
.dom
{
Font-Family: Verdana;
Font-Size: 8 pt;
Text-Decoration: None;
Color: White;
Background : Blue;
}
p
{
Font-Family: Verdana;
Font-Size: 10 pt;
}
td
{
Font-Family: Verdana;
Font-Size: 10 pt;
}
</style>
<title><-- Santanense.Net --></title></head>
<body bgcolor="#FFFFFF">
<p><img src="../imgs/santanense.net.gif" width="544" height="89"></p>
<p>
<% writeCalendar %>
</p>
</body>
</html>
Diversos programas e sistemas ASP feitos para todo o tipo de empresas em MG.
". Hoje, vai saber...
0 comentários:
Postar um comentário