Visualizzazione dei risultati da 1 a 4 su 4

Discussione: CALENDARIO

  1. #1

    CALENDARIO

    Sottostante codice della pagina events.asp.
    A questa pagina li si passa una data. events.asp?date=13/09/2005

    Il problema dovrebbe essere quando si usa
    dDate = CDate(Request.QueryString("Date"))

    infatti se li passo la data 13/09/2005 me la trasforma in 9/13/2005 (formato america) --- OK mi va ad prendere la data giusta

    se li passo 01/09/2005 me la trasforma in 1/9/2005 (formato america) ---- ERRORE infatti mi prende il 9 gennaio e non il 1 settembre.


    ALTRA DOMANDA
    Usando FormatDateTime(dDate, 1) mi viene poi la data in inglese come faccio ad averla in italiano?





    <%
    Response.Write (Request.QueryString("Date"))
    If IsEmpty(Request.QueryString("Date")) OR NOT IsDate(Request.QueryString("Date")) Then
    dDate = Date
    ' Response.Write dDate
    Else
    dDate = CDate(Request.QueryString("Date"))
    ' Response.Write dDate
    ------- CREDO CHE SIA QUI L'ERRORE --------
    -------------------------------------------
    --------------------------------------------------------

    End If
    %>
    <HTML>
    <HEAD>
    <TITLE>Events for <%= FormatDateTime(dDate, 1) %></TITLE>
    </HEAD>
    <BODY BACKGROUND="images/image3.gif" LEFTMARGIN="5">


    </P>
    <P ALIGN=RIGHT>[img]images/events.gif[/img]</P>
    <BR CLEAR=ALL>

    <%
    ' Open a record set of schedules
    Response.Write "<FONT COLOR='Gray' FACE='Tahoma, Verdana' SIZE=2>" & FormatDateTime(dDate, 1) & "</FONT>

    " & vbCrLf
    Set Rs = Server.CreateObject("ADODB.RecordSet")
    sSQL = "SELECT * FROM tEvents " & _
    "WHERE Start_Date <= #" & dDate & "# AND End_Date >= #" & dDate & "# ORDER BY Event_ID "

    Rs.Open sSQL, sDSN, adOpenStatic, adLockReadOnly, adCmdText
    If NOT Rs.EOF Then
    arrColor =Array("#000000", "#CC9966", "#336600", "#003366", "#FFCC66", "#0000FF", "#FF0000")
    iIndex = 0

    Do While NOT Rs.EOF
    ' Create the outer table
    Response.Write "<TABLE WIDTH='400' BORDER='0' CELLSPACING='0' CELLPADDING='1' BGCOLOR='" & arrColor(iIndex) & "'><TR><TD>" & vbCrLf
    ' Create the inner table
    Response.Write "<TABLE WIDTH='100%' CELLSPACING=0 BORDER=0 CELLPADDING=2 BGCOLOR='White'>" & vbCrLf
    Response.Write "<TR BGCOLOR='" & arrColor(iIndex) & "'><TD HEIGHT=20 WIDTH=220 VALIGN='top'><FONT FACE='Verdana, Tahoma' SIZE='1' COLOR='White'>" & vbCrLf
    Response.Write Trim(Rs("Event_Title")) & VbCrLf
    Response.Write "</FONT>
    </TD>" & vbCrLf
    If Session("Admin") = 1 Then
    Response.Write "<TD WIDTH=90 HEIGHT=20 VALIGN='MIDDLE'>[img]images/edit.gif[/img]</TD>" & vbCrLf
    Response.Write "<TD WIDTH=90 HEIGHT=20 VALIGN='MIDDLE'>[img]images/delete.gif[/img]</TD>" & vbCrLf
    End If
    Response.Write "</TR>" & vbCrLf

    Response.Write "<TR><TD VALIGN='top' COLSPAN='3'>" & vbCrLf

    ' If the event lasts more than one day, indidate the start and end dates
    If Rs("Start_Date") <> Rs("End_Date") Then
    Response.Write "<FONT FACE='Verdana, Arial' SIZE=1 COLOR='Gray'>Starts: " & Rs("Start_Date") & vbCrLf
    Response.Write "
    Ends: " & Rs("End_Date") & vbCrLf
    Response.Write "</FONT>

    "
    End If

    ' Print the event details
    Response.Write "<FONT FACE='Verdana, Tahoma' SIZE='1' COLOR='Black'>" & vbCrLf
    Response.Write Replace(Rs("Event_Details") & " ", vbCrLf, "
    ") & vbCrLf
    Response.Write "</FONT></TD></TR>" & vbCrLf
    Response.Write "</TABLE></TD></TR></TABLE>" & vbCrLf

    Response.Write "
    " & vbCrLf
    Rs.MoveNext
    iIndex = iIndex + 1
    If iIndex = 3 Then
    iIndex = 0
    End If
    Loop
    End If
    %>






    </BODY>
    </HTML>

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    metti a inizio pagina "session.LCID=1040"

    Che indica di utilizzare le impostazioni internazionali italiane.

    Però fai prima una rcerca su "session.LCID=1040", perchè non ricordo se ha problemi con Server 2003...
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Con "session.LCID=1040" mi fa venire in italiano ma mi crea problemi con la pagina calendario.

    Infatti dopo per esempio nel mese di SETTEMBRE mi mostra
    nel calendario i numeri fino al 9 (in riferimento al mese)
    nel mese OTTOBRE i numeri fino al 10.
    Solo a Dicembre mi mostra tutti i 31 numeri del calendario.

    Un aiuto?


    Sotto il codice:



    <% ' Session.LCID = 1040 %>
    <%
    ' Name: ASP Calendar
    ' Author: Manohar Kamath
    ' Version: 1.0
    ' Copyright Manohar Kamath. Original calendar copyright Wrox Press
    %>
    <%
    '------------------------------------------------------------
    ' This function finds the last date of the given month
    '------------------------------------------------------------
    Function GetLastDay(intMonthNum, intYearNum)
    Dim dNextStart
    If CInt(intMonthNum) = 12 Then
    dNextStart = CDate( "1/1/" & intYearNum)
    Else
    dNextStart = CDate(intMonthNum + 1 & "/1/" & intYearNum)
    End If
    GetLastDay = Day(dNextStart - 1)
    End Function

    '-------------------------------------------------------------------------
    ' This routine prints the individual table divisions for days of the month
    '-------------------------------------------------------------------------
    Sub Write_TD(sValue, sClass)
    Response.Write " <TD ALIGN='RIGHT' WIDTH=20 HEIGHT=15 VALIGN='BOTTOM' CLASS='" & sClass & "'> " & sValue & "</TD>" & vbCrLf
    End Sub


    ' Constants for the days of the week
    Const cSUN = 1, cMON = 2, cTUE = 3, cWED = 4, cTHU = 5, cFRI = 6, cSAT = 7

    ' Get the name of this file
    sScript = Request.ServerVariables("SCRIPT_NAME")

    ' Check for valid month input
    If IsEmpty(Request("MONTH")) OR NOT IsNumeric(Request("MONTH")) Then
    datToday = Date()
    intThisMonth = Month(datToday)
    ElseIf CInt(Request("MONTH")) < 1 OR CInt(Request("MONTH")) > 12 Then
    datToday = Date()
    intThisMonth = Month(datToday)
    Else
    intThisMonth = CInt(Request("MONTH"))
    End If

    ' Check for valid year input
    If IsEmpty(Request("YEAR")) OR NOT IsNumeric(Request("YEAR")) Then
    datToday = Date()
    intThisYear = Year(datToday)
    Else
    intThisYear = CInt(Request("YEAR"))
    End If

    strMonthName = MonthName(intThisMonth)
    datFirstDay = DateSerial(intThisYear, intThisMonth, 1)
    intFirstWeekDay = WeekDay(datFirstDay, vbSunday)
    intLastDay = GetLastDay(intThisMonth, intThisYear)

    ' Get the previous month and year
    intPrevMonth = intThisMonth - 1
    If intPrevMonth = 0 Then
    intPrevMonth = 12
    intPrevYear = intThisYear - 1
    Else
    intPrevYear = intThisYear
    End If

    ' Get the next month and year
    intNextMonth = intThisMonth + 1
    If intNextMonth > 12 Then
    intNextMonth = 1
    intNextYear = intThisYear + 1
    Else
    intNextYear = intThisYear
    End If

    ' Get the last day of previous month. Using this, find the sunday of
    ' last week of last month
    LastMonthDate = GetLastDay(intLastMonth, intPrevYear) - intFirstWeekDay + 2
    NextMonthDate = 1

    ' Initialize the print day to 1
    intPrintDay = 1

    ' Open a record set of schedules
    Set Rs = Server.CreateObject("ADODB.RecordSet")

    ' These dates are used in the SQL
    dFirstDay = intThisMonth & "/1/" & intThisYear
    dLastDay = intThisMonth & "/" & intLastDay & "/" & intThisYear

    sSQL = "SELECT DISTINCT Start_Date, End_Date FROM tEvents WHERE " & _
    "(Start_Date >=#" & dFirstDay & "# AND Start_Date <= #" & dLastDay & "#) " & _
    "OR " & _
    "(End_Date >=#" & dFirstDay & "# AND End_Date <= #" & dLastDay & "#) " & _
    "OR " & _
    "(Start_Date < #" & dFirstDay & "# AND End_Date > #" & dLastDay & "# )" & _
    "ORDER BY Start_Date"
    'Response.Write sSQL

    ' Open the RecordSet with a static cursor. This cursor provides bi-directional navigation
    Rs.Open sSQL, sDSN, adOpenStatic, adLockReadOnly, adCmdText
    %>

    <html>
    <head>
    <meta HTTP-EQUIV="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Schedule for <% = strMonthName & " " & intThisYear %></title>
    <style TYPE="text/css">
    TD.NON {font-family :Tahoma, Verdana, Arial; font-size :12px; color :#C0C0C0; font-weight :normal;}
    TD.TOP {font-family :Tahoma, Verdana, Arial; font-size :12px; color :#0000FF; font-weight :bold;}
    TD.Some {font-family :Tahoma, Verdana, Arial; font-size :12px; color :#000000; font-weight :normal;}

    A.NOEVENT:Link {font-family :Tahoma, Verdana, Arial; font-size :12px; color :#000000; font-weight :normal; text-decoration: none;}
    A.NOEVENT:Visited {font-family :Tahoma, Verdana, Arial; font-size :12px; color :#000000; font-weight :normal; text-decoration: none;}

    A.EVENT:Link {font-family :Tahoma, Verdana, Arial; font-size :12px; color :#000000; font-weight :bold; text-decoration: none;}
    A.EVENT:Visited {font-family :Tahoma, Verdana, Arial; font-size :12px; color :#000000; font-weight :bold; text-decoration: none;}

    A.NORMAL:Link {font-family :Verdana, Arial; font-size :12px; color :#0000FF; font-weight :normal; text-decoration: none;}
    A.NORMAL:Visited {font-family :Verdana, Arial; font-size :12px; color :#0000FF; font-weight :normal; text-decoration: none;}
    </style>
    </head>
    <body BGCOLOR="#CCCCFF" TEXT="#0000FF" LEFTMARGIN="3" LINK="#000000" VLINK="#000000">



    <table ALIGN="CENTER" BORDER="1" CELLSPACING="0" CELLPADDING="2" BGCOLOR="White" BORDERCOLOR="Gray">
    <tr><td>
    <table WIDTH="140" BORDER="0" CELLPADDING="1" CELLSPACING="0" BGCOLOR="#FFFFFF">
    <tr HEIGHT="18" BGCOLOR="Silver">
    <td WIDTH="20" HEIGHT="18" ALIGN="LEFT" VALIGN="MIDDLE">[img]images/prev.gif[/img]</td>
    <td WIDTH="120" COLSPAN="5" ALIGN="CENTER" VALIGN="MIDDLE" CLASS="SOME"><% = strMonthName & " " & intThisYear %></td>
    <td WIDTH="20" HEIGHT="18" ALIGN="RIGHT" VALIGN="MIDDLE">[img]images/next.gif[/img]</td>
    </tr>
    <tr>
    <td ALIGN="RIGHT" CLASS="SOME" WIDTH="20" HEIGHT="15" VALIGN="BOTTOM">D</td>
    <td ALIGN="RIGHT" CLASS="SOME" WIDTH="20" HEIGHT="15" VALIGN="BOTTOM">L</td>
    <td ALIGN="RIGHT" CLASS="SOME" WIDTH="20" HEIGHT="15" VALIGN="BOTTOM">M</td>
    <td ALIGN="RIGHT" CLASS="SOME" WIDTH="20" HEIGHT="15" VALIGN="BOTTOM">M</td>
    <td ALIGN="RIGHT" CLASS="SOME" WIDTH="20" HEIGHT="15" VALIGN="BOTTOM">G</td>
    <td ALIGN="RIGHT" CLASS="SOME" WIDTH="20" HEIGHT="15" VALIGN="BOTTOM">V</td>
    <td ALIGN="RIGHT" CLASS="SOME" WIDTH="20" HEIGHT="15" VALIGN="BOTTOM">S</td>
    </tr>
    <tr><td HEIGHT="1" ALIGN="MIDDLE" COLSPAN="7">[img]images/line.gif[/img]</td></tr>
    <%
    ' Initialize the end of rows flag to false
    EndRows = False
    Response.Write vbCrLf

    ' Loop until all the rows are exhausted
    Do While EndRows = False
    ' Start a table row
    Response.Write " <TR>" & vbCrLf
    ' This is the loop for the days in the week
    For intLoopDay = cSUN To cSAT
    ' If the first day is not sunday then print the last days of previous month in grayed font
    If intFirstWeekDay > cSUN Then
    Write_TD LastMonthDate, "NON"
    LastMonthDate = LastMonthDate + 1
    intFirstWeekDay = intFirstWeekDay - 1
    ' The month starts on a sunday
    Else
    ' If the dates for the month are exhausted, start printing next month's dates
    ' in grayed font
    If intPrintDay > intLastDay Then
    Write_TD NextMonthDate, "NON"
    NextMonthDate = NextMonthDate + 1
    EndRows = True
    Else
    ' If last day of the month, flag the end of the row
    If intPrintDay = intLastDay Then
    EndRows = True
    End If

    dToday = CDate(intThisMonth & "/" & intPrintDay & "/" & intThisYear)

    If NOT Rs.EOF Then
    ' Set events flag to false. This means the day has no event in it
    bEvents = False
    Do While NOT Rs.EOF AND bEvents = False
    ' If the date falls within the range of dates in the recordset, then
    ' the day has an event. Make the events flag True
    If dToday >= Rs("Start_Date") AND dToday <= Rs("End_Date") Then
    ' Print the date in a highlighted font
    Write_TD "<A HREF=events.asp?date="& Server.URLEncode(dToday) & " CLASS='EVENT' TARGET='rightframe'> " & intPrintDay & "</A>", "HL"
    bEvents = True

    ' If the Start date is greater than the date itself, there is no point
    ' checking other records. Exit the loop
    ElseIf dToday < Rs("Start_Date") Then
    Exit Do
    ' Move to the next record
    Else
    Rs.MoveNext
    End If
    Loop
    ' Checks for that day
    Rs.MoveFirst
    End If

    ' If the event flag is not raise for that day, print it in a plain font
    If bEvents = False Then
    Write_TD "<A HREF=events.asp?date="& Server.URLEncode(dToday) & " CLASS='NOEVENT' TARGET='rightframe'> " & intPrintDay & "</A>", "SOME"
    End If
    End If

    ' Increment the date. Done once in the loop.
    intPrintDay = intPrintDay + 1
    End If

    ' Move to the next day in the week
    Next
    Response.Write " </TR>" & vbCrLf

    Loop
    Rs.Close
    Set Rs = Nothing

    %>
    </table>
    </td></tr>

    </table>


    </body>
    </html>

  4. #4
    Ho due pagine:
    calendar.asp
    events.asp


    Quando chiamo la pagina segliendo il giorno dal calendario events.asp?date=08/10/2005
    la stringa sql per leggere se vi è un evento è:
    SELECT * FROM tEvents WHERE Start_Date <= #08/10/2005# AND End_Date >= #08/10/2005# ORDER BY Event_ID 08/10/2005


    Quando chiamo la pagina events.asp?date=19/10/2005
    la stringa sql per leggere se vi è un evento è
    SELECT * FROM tEvents WHERE Start_Date <= #19/10/2005# AND End_Date >= #19/10/2005# ORDER BY Event_ID

    Nel primo caso mi va a leggere il giorno 10/08/2005 (Questo lo fa per tutti i numeri fino al 12)

    Andando sul database la data è scritta 08/10/2005 e 19/10/2005.

    Nelle pagine ho inserito <% Session.LCID = 1040 %> per codifica italiana.

    Un aiuto.

    Ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.