Metti un calendario nel tuo sito

di Gabriele Cereti, in Classic ASP, Coding,

In questo periodo dell'anno sbocciano i calendari, quindi se volete proporre il vostro personale dovete procurarvi le foto adatte e associare ad ognuna il calendario mesile.

Se non avete voglia di copiare il calendario che avete attaccato al muro, questo script vi può aiutare.

La seguente subroutine riceve come argomento l'anno (es. 2001) e il mese (che dovrà essere espresso in numero, ad es novembre = 11) e produce in output una tabella del tipo seguente:

Novembre 2001

L M M G V S D
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

<%
Private sub Calendario (MeseNum , Anno)

  dim DayAttuale , DataInizio , DayX , CounterDay , Week

%>
  <table border=1  bgcolor=SlateBlue>
    <!-- creazione riga con iniziali dei giorni della settimana -->
   <tr>
    <td><font size=4 color=Crimson >L</font></td>
    <td><font size=4 color=Crimson >M</font></td>
    <td><font size=4 color=Crimson >M</font></td>
    <td><font size=4 color=Crimson >G</font></td>
    <td><font size=4 color=Crimson >V</font></td>
    <td><font size=4 color=Crimson >S</font></td>
    <td><font size=4 color=Crimson >D</font></td>
   </tr>
  <%
  'creo la data iniziale del mese
  DataInizio="01/" & MeseNum & "/" & Anno

  'inizializzo il contatore dei giorni del mese
   CounterDay=1

  'ciclo scansione settimane
  for Week=0 to 5
    Response.Write("<tr>")

    'ciclo che scandisce i giorni della settimana
    for DayX=1 to 7
      DayAttuale=Datepart("w",DataInizio,2)
      '2 indica che Lunedi

      if DayAttuale = DayX then
        if MeseNum=Month(DataInizio) then
          'generazione cella calendario
          Response.Write("<td bgcolor='#2f2f2f' align=center>")
          Response.Write(" <font size=4 color=Yellow>")
          Response.Write(   CounterDay)
          Response.Write(" </font>")
          Response.Write("</td>")

          DataInizio=dateadd("d",1,DataInizio)
          CounterDay=CounterDay+1
        else
          'se il mese del giorno non è uguale a quello
          'attuale allora il calendario è terminato esco
          'dal ciclo ponendo Week = 5.
          Week=5
        end if
       else
        'se il giorno non è fa parte del mese
        'attuale stampo una cella vuota
        Response.Write("<td></td>")
      end if
    next
    Response.Write("</tr>")
  next

  Response.Write("</table>")

end sub

call Calendario( Month(Now()), Year(Now()) )

%>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi