#207 - Metti un calendario nel tuo sito

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()) )

%>


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Luci@no scrive:
Metti un calendario nel tuo sito

Usando questo Script .... mi stampa solo intestazioni ....Penso che il mio server abbia qualche problema con le date .... qualcuno che mi aiuti a ...
venerdì 23 novembre 2001

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC