webForumDet fria alternativet

Kalendern vill inte börja med första dagen i månden

ASP

86 svar · 1 703 visningar · startad av plelkes · sida 5 av 5

Frågan, av plelkes

Hej, jag har snickrat ihop en kalender som skall i HTML-tabell visa aktuell månads dagar. Nedanstående kod fungerade perfekt för maj-03 <%@LANGUAGE=VBSCRIPT %> <% Option Explicit %> <HTML> <BODY> <% Session.LCID = 1053 'Vi skapar en array med 42 element. 1:a elementet = 1:a cellen = 1:a Måndagen i månaden '2:a elementet = 2:a cellen = 1:a Tisdagen i månaden 'osv 'Om vi placerar månadens daga

Läs frågan i sin helhet →
Medlem sedan mars 2002823 inlägg
#81

Fortfarande samma fel!!

<%@LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>wf</TITLE>
</HEAD>

<BODY>
<%
Session.LCID = 1053
Dim intFirstDayIndex, dagensdat, iDayMonth, iDag, aKalender(42), strDate, dteDate

strDate = Request.Form("year") & "-" & Request.Form("month") & "-01"
dteDate = CDate(strDate)
'intFirstDayIndex = WeekDay(dteCurrentDate, 1), 2) - 1
'intLastDayIndex = IntFirstDayIndex - 1 + DatePart("d", (DateAdd("m", 1, dteCurrentDate) - 1))
'dteCurrentDate = DateSerial(Request.Form("year"), Request.Form("month"), 1)

intFirstDayIndex = WeekDay(dteDate, 2) - 1  
iDayMonth = DatePart("d", DateSerial(Request.Form("year"), Request.Form("month") + 1, 0)) 
intLastDayIndex = intFirstDayIndex  + iDayMonth - 1 
iDag = 1
For i = intFirstDayIndex to intLastDayIndex 

    aKalender(i) = iDag
	iDag = iDag + 1

Next
Response.Write "<TABLE ALIGN=CENTER BORDER=1 CELLSPACING=1 WIDTH=75% HEIGHT=75% >"
Response.Write "<TH COLSPAN=7> <FONT SIZE=+2>"
Response.Write MonthName(Month(dteDate))
   Response.Write ", " & Year(dteDate)

  Response.Write "</FONT> </TH>"
  Response.Write "<TR><TD><CENTER><B>"
  Response.Write "Måndag"  
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Tisdag"
  Response.Write "</B></CENTER></TD> <TD><CENTER><B>"
  Response.Write "Onsdag" 
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Torsdag"
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Fredag"
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Lördag"
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Söndag"
  Response.Write "</B></CENTER></TD></TR>"
For i = 0 to 41
If i mod 7 = 0 Then Response.Write "<TR>"  

Do Until i > intLastDayIndex And i mod 7 = 0
  If aKalender(i) < 1 Then
    Response.Write "<TD BGCOLOR=""#000000""> _</TD>"
  Else
    Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#330099"">"
    Response.Write aKalender(i) & " " 
    Response.Write "</FONT></CENTER></TD>"
  End If

  If i mod 7 = 0 Then Response.Write("</tr><tr>")

  i = i + 1
Loop

Response.Write "</TR></TABLE></BODY></HTML>"
%>
Medlem sedan mars 20015 287 inlägg
#82

Kolla hur många rader du behöver o ändra loopen efter det:

If intLastDayIndex =< 34 then
	loopslut = 34
	Else
	loopslut = 41
End If

For i = 0 to loopslut

Ska fungera på denna kod. (Med ändringen i inlägget nedanför.

Medlem sedan mars 2002823 inlägg
#83

Av ngn anledning så kan jag ej komma in på på just den sida hos brinkster men menar du så här på slutet?:

For i = 0 to 41
If i mod 7 = 0 Then Response.Write "<TR>"  
If aKalender(i) < 1 Then
Response.Write "<TD BGCOLOR=""#000000"">"
Response.Write " _" & "</TD>"
Else
Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#330099"">"
Response.Write aKalender(i) & " " 
Response.Write "</FONT></CENTER></TD>"
End If
Next
If i mod 6 = 0 And i <> 0 Then 
Response.Write "</TR>"
End If
If intLastDayIndex =< 34 then
	loopslut = 34
	Else
	loopslut = 41
End If
For i = 0 to loopslut 

Response.Write "</TABLE></BODY></HTML>"
%>
Medlem sedan mars 2002823 inlägg
#84

Min val-sida

Medlem sedan mars 2002823 inlägg
#85

Ngn som ser felet och har lösningen?
Andra asp-sidor på brinkster funkar bra!

Medlem sedan mars 20015 287 inlägg
#86

Nepp, så menar jag inte.

<%@LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>wf</TITLE>
</HEAD>
<BODY>
<%
Session.LCID = 1053

Dim intFirstDayIndex, dagensdat, iDayMonth, iDag, aKalender(42), strDate, dteDate

strDate = Request.Form("year") & "-" & Request.Form("month") & "-01"
dteDate = CDate(strDate)

intFirstDayIndex = WeekDay(dteDate, 2) - 1  
'iDayMonth  = DatePart("d", DateSerial(Year(Request.Form("year")), Month(Request.Form("month"))+1, 0)) 
iDayMonth = DatePart("d", DateSerial(Year(dteDate), Month(dteDate)+1, 0))

intLastDayIndex = intFirstDayIndex  + iDayMonth - 1 
iDag = 1
For i = intFirstDayIndex to intLastDayIndex 

    aKalender(i) = iDag
	iDag = iDag + 1

Next

Response.Write "<TABLE ALIGN=CENTER BORDER=1 CELLSPACING=1 WIDTH=75% HEIGHT=75% >"
Response.Write "<TH COLSPAN=7> <FONT SIZE=+2>"

  Response.Write MonthName(Month(dteDate))  
  Response.Write ", " & Year(dteDate)

  Response.Write "</FONT> </TH>"
  Response.Write "<TR><TD><CENTER><B>"
  Response.Write "Måndag"  
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Tisdag"
  Response.Write "</B></CENTER></TD> <TD><CENTER><B>"
  Response.Write "Onsdag" 
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Torsdag"
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Fredag"
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Lördag"
  Response.Write "</B></CENTER></TD><TD><CENTER><B>"
  Response.Write "Söndag"
  Response.Write "</B></CENTER></TD></TR>"

If intLastDayIndex =< 34 then
	loopslut = 34
	Else
	loopslut = 41
End If

For i = 0 to loopslut 
	If i mod 7 = 0 Then Response.Write "<TR>"  

	If aKalender(i) < 1 Then
		Response.Write "<TD BGCOLOR=""#000000""> _</TD>"
	Else
		Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#330099"">"
		Response.Write aKalender(i)
		Response.Write " </FONT></CENTER></TD>"
	End If
Next

If i mod 6 = 0 And i <> 0 Then 
	Response.Write "</TR>"
End If

Response.Write "</TABLE></BODY></HTML>"
%>
Medlem sedan mars 2002823 inlägg
#87

Tack, nu fungerar det som jag vill - äntligen!

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)