Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/02/2006, 12:19
yio_loko2003
 
Fecha de Ingreso: septiembre-2004
Mensajes: 42
Antigüedad: 20 años, 8 meses
Puntos: 0
código completo

este es el código completo :) gracias !

Código:
<%
Function NombreMes (mes)
select case mes
	case 1
		NombreMes = "Enero"
	case 2
		NombreMes = "Febrero"
	case 3
		NombreMes = "Marzo"
	case 4
		NombreMes = "Abril"
	case 5
		NombreMes = "Mayo"
	case 6
		NombreMes = "Junio"
	case 7
		NombreMes = "Julio"
	case 8
		NombreMes = "Agosto"
	case 9
		NombreMes = "Septiembre"
	case 10
		NombreMes = "Octubre"
	case 11
		NombreMes = "Noviembre"
	case 12
		NombreMes = "Diciembre"
end select
End Function 'NombreMes
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
'Utilizaba esta variable para depurar
'Dim sOrigen

'iDia, iMes, iAno --> la fecha seleccionada
Dim iDia, iMes, iAno, sEnviado

'iDiasDelMes: numero de días del mes
'iDiaSemana: día de la semana en que cae la fecha
'iPrimerDiaSemanaMes: el día de la semana en que empieza el mes
Dim iDiasDelMes, iDiaSemana, iPrimerDiaSemanaMes

Dim dFecha 'la fecha enterita

'Para pintar la tabla necesito
Dim iActual, iPosicion

'Recojo los valores del form
iDia = Request.Form("Dia")
iMes = Request.Form("Mes")
iAno = Request.Form("Ano")
sEnviado = Request.Form("Enviado")
'sOrigen = "form"


	'La pongo a la fecha de hoy
		iDia = Day(Now)
		iMes = Month(Now)
		iAno = Year(Now)
		'sOrigen = "auto"

	'Avisamos y utilizamos la de hoy

	dFecha = Date
	iMes = Month(dFecha)
	iDia = Day(dFecha)
	iAno = Year(dFecha)

'Hallo los días del mes
select case iMes
	case 1,3,5,7,8,10,12
		iDiasDelMes = 31
	case 2
		if iAno mod 4 = 0 then
			'Año bisiesto!
			iDiasDelMes = 29
		else
			iDiasDelMes = 28
		end if
	case else
		iDiasDelMes = 30
end select

'Hallo el día de la semana
iDiaSemana = DatePart("w", DateSerial(iAno, iMes, iDia))

'Y el día de la semana en que empieza el mes
iPrimerDiaSemanaMes = DatePart("w", DateAdd("d", - iDia+1, DateSerial(iAno, iMes, iDia)), 2)

'Las siguientes líneas las utilizo para depurar. ;-)
'Response.Write(dFecha)
'Response.Write("<br>")
'Response.Write( iDia & "/" & iMes & "/" & iAno & "<br>")
'Response.Write "Dia: " & iDia & ", Mes: " & iMes &", Año: " & iAno & "<br>"
'Response.Write "Días del mes: " & iDiasDelMes & "<br>"
'Response.Write "El mes empieza en: " & iPrimerDiaSemanaMes & "<br>"

'Vamos a pintar la tabla
%>
<style type="text/css">
<!--
.Estilo1 {font-size: 10px}
-->
</style>
<div align="center">
  <TABLE BORDER="5" CELLPADDING="1" CELLSPACING="0" class="calendario">
    <TR>
      <TD bgcolor=#FF6600><center><A HREF="calendario.asp?Dia=<%=iDia%>&Mes=<%=DatePart("m", DateAdd("m", -1, dFecha))%>&Ano=<%=Year(DateAdd("m", -1, dFecha))%>">&lt;&lt;</A></center></TD>
	    <TD COLSPAN="5" bgcolor=#CC3300> <CENTER>
		    <font color="#FFFFFF"><b><%=NombreMes(iMes)& " " & Year(dFecha)%></b></font>
	    </CENTER> </TD>
	    <TD bgcolor=#FF6600><center><A HREF="calendario.asp?Dia=<%=iDia%>&Mes=<%=DatePart("m", DateAdd("m", 1, dFecha))%>&Ano=<%=Year(DateAdd("m", 1, dFecha))%>">&gt;&gt;</A></center></TD>
    </TR>
    <TR>
      <TD><span class="Estilo1"><IMG SRC="espacio.gif" HEIGHT="1" WIDTH="30" ALT="" BORDER="0"><br>
        </span>		  <CENTER class="Estilo1">
          <b>L</b>
          </CENTER>	    </TD>
	    <TD><span class="Estilo1"><IMG SRC="espacio.gif" HEIGHT="1" WIDTH="30" ALT="" BORDER="0"><br>
	    </span>		  <CENTER class="Estilo1">
	        <b>M</b>
	        </CENTER>	    </TD>
	    <TD><span class="Estilo1"><IMG SRC="espacio.gif" HEIGHT="1" WIDTH="30" ALT="" BORDER="0"><br>
	    </span>		  <CENTER class="Estilo1">
	        <b>X</b>
	        </CENTER>	    </TD>
	    <TD><span class="Estilo1"><IMG SRC="espacio.gif" HEIGHT="1" WIDTH="30" ALT="" BORDER="0"><br>
	    </span>		  <CENTER class="Estilo1">
	        <b>J</b>
	        </CENTER>	    </TD>
	    <TD><span class="Estilo1"><IMG SRC="espacio.gif" HEIGHT="1" WIDTH="30" ALT="" BORDER="0"><br>
	    </span>		  <CENTER class="Estilo1">
	        <b>V</b>
	        </CENTER>	    </TD>
	    <TD><span class="Estilo1"><IMG SRC="espacio.gif" HEIGHT="1" WIDTH="30" ALT="" BORDER="0"><br>
	    </span>		  <CENTER class="Estilo1">
	        <b>S</b>
	        </CENTER>	    </TD>
	    <TD><span class="Estilo1"><IMG SRC="espacio.gif" HEIGHT="1" WIDTH="30" ALT="" BORDER="0"><br>
	    </span>		  <CENTER class="Estilo1">
	        <b>D</b>
	        </CENTER>	    </TD>
    </TR>
    
  <%
'Relleno con blancos si el mes no empieza en Lunes!
if iPrimerDiaSemanaMes <> 1 then
	iPosicion = 1
	Response.Write vbTab & "<TR> " & VbCrLf
	do while iPosicion < iPrimerDiaSemanaMes
		Response.Write vbTab & vbTab & "<TD>&nbsp;</TD>" & vbcrlf
		iPosicion = iPosicion + 1
	loop
end if

' preparo fecha para conexion a base de datos
if len(imes) = 1 then
xmes = 0&imes
end if


 'conexion a base de datos
		dim con2,rs2,sql2,xdia
		set con2 = server.CreateObject("ADODB.Connection")
		con2.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\agenda\agenda.mdb;User Id=;Password=;"
		set rs2 = server.CreateObject("ADODB.Recordset")
		sql2 = "SELECT *FROM EVENTOS WHERE FECHA LIKE '%/"&xmes&"/%' order by FECHA "
		rs2.open sql2,con2,1,2
		
		rs2.MoveFirst

'Pintamos el calendario
iActual = 1
iPosicion = iPrimerDiaSemanaMes
do while iActual <= iDiasDelMes
	
		if iPosicion = 1 then
			'Empezamos nueva semana, es decir nueva fila
			Response.Write vbTab & "<TR>" & VbCrLf 
		end if


	if Cint(iActual) = Cint(day(rs2.Fields("FECHA"))) then			


		if iActual = iDia then
			
			'Resaltamos la fecha seleccionada
				Response.Write (vbTab & vbTab & "<TD CLASS='diaActual'><B><A HREF='diax.asp?dia="&day(rs2.Fields("FECHA"))&"'>"& iActual & "</A></B><br></TD>" & vbCrLf)
				rs2.MoveNext
		else
				Response.Write (vbTab & vbTab & "<TD ALIGN='CENTER'><A HREF='diax.asp?dia="&day(rs2.Fields("FECHA"))&"'>" & iActual & "</A><br></TD>" & vbCrLf)
				
		end if
		
	else
		if iActual = iDia then
			
			'Resaltamos la fecha seleccionada
				Response.Write vbTab & vbTab & "<TD CLASS='diaActual'><B>"& iActual & "</B><br></TD>" & vbCrLf
			
		else
				Response.Write vbTab & vbTab & "<TD ALIGN='CENTER'>" & iActual & "<br></TD>" & vbCrLf
		end if
	end if


	
		if iPosicion = 7 then
		'Estamos en domingo, cerramos la semana :)
			Response.Write vbTab & "</TR>" & vbCrLf
			'Pongo iPosicion a cero pq voy a sumarle uno ahorita mismo
			iPosicion = 0
		end if

		'Incrementamos!
		iActual = iActual + 1
		iPosicion = iPosicion + 1
loop

'Relleno con blancos si no termino en domingo
'Primero compruebo que no sea uno, pues si terminamos en 7 (domingo)
'al incrementar por ultima vez se queda en 1. Típico en los bucles :-)
if iPosicion <> 1 then
	while iPosicion <= 7
	'Las celdas blancas...
		Response.Write vbTab & vbTab & "<TD>&nbsp;</TD>" & vbCrLf
		iPosicion = iPosicion + 1
	wend
	'... y el fin de fila!
	Response.Write vbTab & "</TR>" & vbCrLf

end if



%>
  </TABLE>
</div>