Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Filipe_Moraes

Calendario!!

Recommended Posts

Ola, queria saber como faço para fazer um calendario dinamico em asp? tipo, tem mes que começa na segunda-feira, so que este mesmo mes, no proximo ano, começa na terça-feira (so um exemplo), entenderam? então como faço um calendario assim??Agradecia a ajuda!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

so testar o dia da semana em cada mes tiozinhotem funcoes pra isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo assim tiozinho

 

aqui voce ver qual o dia da semana que começa o mes

 

PrimeiroDiaSemana = WEEKDAY("1"&"/"&Mes&"/"&Ano)

Aqui voce tem o ultimo dia do mes (28, 29, 30 ou 31)

 

UltimoDia = DAY(DateAdd("d",-1,DateAdd("m",1,"1" & "/" & Mes & "/" & Ano)))

Com estas duas informações voce é capaz de montar um calendario... basta fazer os loops corretos

 

se precisar de mais alguma explicação ou até sobre o funcionamento das funções acima

 

pode falar

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai cara, agradeço a tua ajuda!! olha so, espero que compreendas, mas não consegui perceber como apartir daquelas funções consigo montar um calendario, agradecia a atua ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho um aki .... vê se te agrada:

 

############# INICIO DO CODIGO FONTE #############

 

<%Server.ScriptTimeOut = 3%>

<% Session.LCID = 1046 %>

<%Dim giorno,mese,anno,tmese,day1,primog

 

giorno = request("giorno")

If giorno = "" then

giorno = day(now())

End If

 

mese = request("mese")

If mese = "" then

mese = month(now())

End If

 

anno = request("anno")

If anno = "" then

anno = year(now())

End If

 

If mese = 12 then

mese2 = 1

anno2 = anno+1

else

mese2 = mese+1

anno2 = anno

End If

 

day1 = Cdate("1"+"/"+Cstr(mese)+"/"+Cstr(anno))

dayoff = Cdate("1"+"/"+Cstr(mese2)+"/"+Cstr(anno2))-1

primog = Weekday(Cdate("1"+"/"+Cstr(mese)+"/"+Cstr(anno)))-1

ultimog = Weekday(dayoff)-1

 

If ultimog = 0 then

ultimog = 7

End If

 

If primog = 0 then

primog = 7

End If

 

Select Case mese

case 1

tmese = "Jan"

case 2

tmese = "Fev"

case 3

tmese = "Mar"

case 4

tmese = "Abr"

case 5

tmese = "Mai"

case 6

tmese = "Jun"

case 7

tmese = "Jul"

case 8

tmese = "Ago"

case 9

tmese = "Set"

case 10

tmese = "Out"

case 11

tmese = "Nov"

case 12

tmese = "Dez"

End Select

x=1

%>

<style type="text/css"><!--//by Studio VII Sparber001

a:link {color: #000000}

a:active {color: #000000}

a:visited {color: #000000}

a:hover {color: #FF0000}

body {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #333333}

td {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #333333}

li {color: #339966; list-style-type: square}

ul {color: #339966; list-style-type: square}

ol {color: #339966}

.mytext {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #000000}

a.mytext:link {color: #000000; text-decoration: none}

a.mytext:visited {color: #000000; text-decoration: none}

a.mytext:active {color: #000000; text-decoration: none}

a.mytext:hover {color: #FF0000; text-decoration: none}

-->

</style>

<title>Calendário</title>

<script language="JavaScript">

<!--

 

function MM_preloadImages() { //v3.0

var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}

}

//-->

</script>

<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000">

<table width="190" border="0" cellspacing="1" cellpadding="1">

<tr bgcolor="#CCCCCC">

<td><a href="cal.asp?mese=<%if mese > 1 then response.write mese-1 else response.write 12 End If%>&anno=<%if mese > 1 then response.write anno else response.write anno-1 End If%>"><img src="file://///suya/roots/imgs/prev.gif" width="10" height="18" border="0"></a></td>

<td width="50%" bordercolor="#666666">

<div align="center"> <b><font color="#FFFFFF"><%=tmese%>

</font></b></div>

</td>

<td width="50%" bordercolor="#666666">

<div align="center"><b><font color="#FFFFFF"><%=anno%></font></b></div>

</td>

<td><a href="cal.asp?mese=<%if mese < 12 then response.write mese+1 else response.write 1 End If%>&anno=<%if mese < 12 then response.write anno else response.write anno+1 End If%>"><img src="file://///suya/roots/imgs/next.gif" width="10" height="18" border="0"></a></td>

</tr>

<tr>

<td colspan="4">

<table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolor="#CCCCCC">

<tr bgcolor="#FFFFFF">

<td>

<div align="center"><font color="#000000">S</font></div></td>

<td>

<div align="center"><font color="#000000">T</font></div></td>

<td>

<div align="center"><font color="#000000">Q</font></div></td>

<td>

<div align="center"><font color="#000000">Q</font></div></td>

<td>

<div align="center"><font color="#000000">S</font></div></td>

<td>

<div align="center"><font color="#000000">S</font></div></td>

<td>

<div align="center"><font color="#000000">D</font></div></td>

</tr>

<tr>

<%

giorno1 = (day1-primog+x)

Do While giorno1 <= (dayoff+7-ultimog)%>

<td <%If day(day1-primog+x)=day(now()) and month(day1-primog+x)=month(now()) then response.write "bgcolor=""#FFCC33""" End If%>><div align="center"><font color ="<%if giorno1 >= day1 and giorno1 <= dayoff then

response.write "#000000"

Else

response.write "#CCCCCC"

End If%>">

<%if giorno1 >= day1 and giorno1 <= dayoff then%>

<%=day(day1-primog+x)%>

<%else%>

<%=day(day1-primog+x)%>

<%End If%>

</font></div></td>

<%If weekday(day1 - primog + x - 1) = 7 Then

response.write "</tr>"

End If%>

<%

giorno1 = giorno1 + 1

x=x+1

loop%>

 

</table>

</td>

</tr>

</table>

<table width="190" height="16" border="0" cellpadding="0" cellspacing="0">

<tr>

<td width="1" height="16">

<div align="right"></div>

</td>

<td width="189">

<div align="center">

<p class="mytext"> </p>

</div>

</td>

</tr>

</table>

<table width="190" border="0" cellspacing="0" cellpadding="0">

<tr>

<td height="38" valign="bottom">

<form name="form1" method="post" action="cal.asp" target = "_self">

<table width="170" border="0" cellspacing="0" cellpadding="0">

<tr>

<td>

<div align="center">

<select name="mese" size="1">

<option value="1">Jan</option>

<option value="2">Fev</option>

<option value="3">Mar</option>

<option value="4">Abr</option>

<option value="5">Mai</option>

<option value="6">Jun</option>

<option value="7">Jul</option>

<option value="8">Ago</option>

<option value="9" selected>Set</option>

<option value="10">Out</option>

<option value="11">Nov</option>

<option value="12">Dez</option>

</select>

</div>

</td>

<td>

<div align="center">

<select name="anno" size="1">

<option selected><%=year(now())%></option>

<%y = 1

do while y <= 6%>

<option><%=year(now())+y%></option>

<%y = y + 1

loop%>

</select>

</div>

</td>

<td>

<div align="center">

<input name="imageField" type="image" src="file://///funaisrv09/roots/imgs/seta.jpg" width="11" height="16" border="0">

</div>

</td>

</tr>

</table>

<div align="right"></div>

</form>

</td>

</tr>

</table>

 

############# FIM DO CODIGO FONTE #############

 

copia esse código e cola em um documento novo .ASP .

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente apenas nao copiar mas entender o codigo que voce verá como seria possivel com apenas aquelas duas linhas iniciar a contrução de um calendario

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos látoda semana temD S T Q Q S Saté ai beleza??se voce sabe qual o dia da semana do primeiro dia do mesPrimeiroDiaSemana = WEEKDAY("1"&"/"&Mes&"/"&Ano)voce marca on teremos o dia 1 ai voce preenche o resto do mes até o ultimo dia so tomando o cuidado de quando chegar no sabado parssar para linha de baixoo ultimo dia voce tem aquiUltimoDia = DAY(DateAdd("d",-1,DateAdd("m",1,"1" & "/" & Mes & "/" & Ano)))

Compartilhar este post


Link para o post
Compartilhar em outros sites

O codigo que me deram ai em cima, ate entendi, modiquei (pouca coisa e comentei algumas linhas), mas so me da o calendario do mes que estamos, como faço para que aparece + 12 meses a contar a partir do mes que estamos???

 

cogigo que gera o calendario desse mes!

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title><style type="text/css"><!--#Layer1 {	position:absolute;	left:404px;	top:136px;	width:143px;	height:102px;	z-index:1;	background-color: #FFCC33;}--></style></head><body><%Server.ScriptTimeOut = 3%><% Session.LCID = 1046 %><%Dim dia,mes,ano,tmes,day1,pdiadia = request("dia")If dia = "" thendia = day(now())End Ifmes = request("mes")If mes = "" thenmes = month(now())End Ifano = request("ano")If ano = "" thenano = year(now())End IfIf mes = 12 thenmes2 = 1ano2 = ano+1else mes2 = mes+1ano2 = anoEnd Ifday1 = Cdate("1"+"/"+Cstr(mes)+"/"+Cstr(ano))  'primeiro dia do mês e ano em que estamosdayoff = Cdate("1"+"/"+Cstr(mes2)+"/"+Cstr(ano2))-1 'ultimo dia do mêspdia = Weekday(Cdate("1"+"/"+Cstr(mes)+"/"+Cstr(ano)))-1 'dia da semana que começa o mêsudia = Weekday(dayoff)-1 'dia da semana que termina o mêsIf udia = 0 then 'como domingo é representado pelo 0, trocamos pelo 7udia = 7End IfIf pdia = 0 then 'como domingo é representado pelo 0, trocamos pelo 7pdia = 7End IfSelect Case mes 'aqui buscamos o mês e atribuimos um valor "String" para cada mêscase 1tmes = "Jan"case 2tmes = "Fev"case 3tmes = "Mar"case 4tmes = "Abr"case 5tmes = "Mai"case 6tmes = "Jun"case 7tmes = "Jul"case 8tmes = "Ago"case 9tmes = "Set"case 10tmes = "Out"case 11tmes = "Nov"case 12tmes = "Dez"End Selectx=1%><title>Calendário</title><body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000"><table width="190" border="0" cellspacing="1" cellpadding="1"><tr bgcolor="#CCCCCC"> <td></td><td width="50%" bordercolor="#666666"> <div align="center"> <b><font color="#FFFFFF"><%=tmes%></font></b></div></td><td width="50%" bordercolor="#666666"> <div align="center"><b><font color="#FFFFFF"><%=ano%></font></b></div></td><td></td></tr><tr> <td colspan="4"> <table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolor="#CCCCCC"><tr bgcolor="#FFFFFF"> <td> <div align="center"><font color="#000000">S</font></div></td><td> <div align="center"><font color="#000000">T</font></div></td><td> <div align="center"><font color="#000000">Q</font></div></td><td> <div align="center"><font color="#000000">Q</font></div></td><td> <div align="center"><font color="#000000">S</font></div></td><td> <div align="center"><font color="#000000">S</font></div></td><td> <div align="center"><font color="#000000">D</font></div></td></tr><tr> <%dia1 = (day1-pdia+x)Do While dia1 <= (dayoff+7-udia)%><td <%If day(day1-pdia+x)=day(now()) and month(day1-pdia+x)=month(now()) then response.write "bgcolor=""#FFCC33""" End If%>><div align="center"><font color ="<%if dia1 >= day1 and dia1 <= dayoff thenresponse.write "#000000"Elseresponse.write "#CCCCCC"End If%>"> <%if dia1 >= day1 and dia1 <= dayoff then%><%=day(day1-pdia+x)%> <%else%><%=day(day1-pdia+x)%> <%End If%></font></div></td><%If weekday(day1 - pdia + x - 1) = 7 Thenresponse.write "</tr>"End If%><%dia1 = dia1 + 1x=x+1loop%></tr></table></td></tr></table></body></html>

Agradecia a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

so passar dia mes e ano por parametro

 

esta parte do codigo ve se tem parametro

 

dia = request("dia")If dia = "" thendia = day(now())End Ifmes = request("mes")If mes = "" thenmes = month(now())End Ifano = request("ano")If ano = "" thenano = year(now())End If

se tiver marca o qeu voce passou senao o dia atual

Compartilhar este post


Link para o post
Compartilhar em outros sites

mario, no codigo que me deram la em cima, dava para ver o calendario, mas um mês de cada vez, tinha dois botões, o de retroceder e o de avançar, tirei eles, porque preciso dos doze meses imprimidos no monitor de uma vez so!!!Agradecia a ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

so fazer a mesma coisa para os outrose poe um do lado do outro tiozinhoai é so voce ver como é melhorpois ali é para mostrar um mes de cada vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

mario, não sei se você chegou a ver o codigo, mas como faço para alterar a cor de fundo de cada celula da tabela?? tipo, é que aquilo é gerado com o codigo e não ta la ja devinido!! agradecia a ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é nessa parte que é gerado a tabela com os dias:

<tr> <%dia1 = (day1-pdia+x)Do While dia1 <= (dayoff+7-udia)%><td <%If day(day1-pdia+x)=day(now()) and month(day1-pdia+x)=month(now()) then response.write "bgcolor=""#FFCC33""" End If%>><div align="center"><font color ="<%if dia1 >= day1 and dia1 <= dayoff thenresponse.write "#000000"Elseresponse.write "#CCCCCC"End If%>"> <%if dia1 >= day1 and dia1 <= dayoff then%><%=day(day1-pdia+x)%> <%else%><%=day(day1-pdia+x)%> <%End If%></font></div></td><%If weekday(day1 - pdia + x - 1) = 7 Thenresponse.write "</tr>"End If%><%dia1 = dia1 + 1x=x+1loop%></tr>

aqui que não sei alterar a cor do background das celulas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure peloscolor="#000000"e ai é escolher o codigo da cor que voce quer

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas ai ta o problema, (ou então não entendi como é feito) a tabela com os dias é gerada dinamicamente, e nao sei como alterar cada celula, porque queria cores diferentes!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.