Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Area Aziende Cocktail Registrazione domini



Un calendario in ASP

Home + Articoli + Date e Calendari + Articolo # 119
Autore: Luca Ruggiero

Concesso in esclusiva a Mr.Webmaster. Vietata la riproduzione.


Grazie alle potenti funzioni sulle date messe a disposizione dal VBScript è possibile creare un potente ed utile calendario in ASP da inserire nelle proprie pagine Web. Si crei il file di prova "calendario.asp"; il codice ASP potrà essere semplicemente inserito su tutte le pagine Web del vostro sito.

Il calendario avrà il seguente aspetto ed è possibile personalizzarlo cambiano i colori e gli stili all'interno del codice HTML e CSS:

Di seguito il codice abbondantemente commentato della pagina:
<%@LANGUAGE = VBScript%>
<%
    Dim intestazione ' Determina l'intestazione del box, mese e anno
    Dim gg_mese      ' Determina il giorno del mese
    Dim gg_sett      ' Determina il giorno della settimana
    Dim gg, mm, aa   ' Determina il giorno, il mese e l'anno correnti
    Dim primo        ' Determina il primo giorno del mese
    Dim ultimo       ' Determina l'ultimo giorno del mese
    Dim colore_gg    ' Colore di sfondo per il giorno corrente

    intestazione = UCase(MonthName(Month(Date()))) & " " & Year(Date())
    gg_mese = "01/" & Month(Date()) & "/" & Year(Date())
    gg = 1
%>

<table bgcolor="#FFFFFF" align="center" cellpadding="5"
cellspacing="0" border="1" bordercolor="#CCCCCC">
<tr>
<td align="center" colspan="7" bgcolor="#EEEEEE">
<b><%=intestazione%></b>
</td>
</tr>
<tr bgcolor="#FFFFCC">
    <td align="center"><b>D</b></td>
    <td align="center"><b>L</b></td>
    <td align="center"><b>M</b></td>
    <td align="center"><b>M</b></td>
    <td align="center"><b>G</b></td>
    <td align="center"><b>V</b></td>
    <td align="center"><b>S</b></td>
</tr>
<%
    ' Verifico che se il mese il corso è Dicembre
    ' imposto il mese successivo a Gennaio dell'anno successivo
    ' oppure imposto mese ed anno alla data attuale
    If (Month(Date()) + 1) > 12 Then 
            mm = 1
            aa = Year(Date()) + 1
        Else
            mm = (Month(Date()) + 1)
            aa = Year(Date())
        End if

        primo = "01" & "/" & mm & "/" & aa ' Primo giorno del mese
        ultimo = DateAdd("d", -1, primo)   ' Ultimo giorno del mese

        ' Creo dinamicamente la tabella ciclando i giorni
        ' ed interrompendo i cicli in funzione del fatto
        ' che il mese sia ancora in corso o meno
        ' e li associo al giorno della settimana corrispondente
        While (gg < Day(ultimo))
    %>
        <tr>
    <%
            gg_sett = WeekDay(gg_mese)
            For i = 1 To gg_sett - 1
    %>
        <td align="center">&nbsp;</td>
    <%
            Next
            For i = gg_sett To 7
                ' Imposto il colore di sfondo del giorno corrente
                If gg = Day(Date()) Then
                    colore_gg = "#FFCCCC"
                Else
                    colore_gg = "#FFFFFF"
                End If
    %>
        <td align="center" bgcolor="<%=colore_gg%>"><%=gg%></td>
    <%
                gg = gg + 1
                If gg > Day(ultimo) Then Exit For
            Next
            For i = i + 1 To 7
    %>
        <td align="center">&nbsp;</td>
    <%
            Next
    %>
        </tr>
    <%
            gg_mese = gg & "/" & Month(Date()) & "/" & Year(Date()) 
        Wend
    %>
</table>
© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones