Skapa en kalender
Förord
Att göra en kalender i ASP
Många har sett behovet av att ha en kalender på sin hemsida. Oftast för att bara fylla ut sidan lite eller för att på ett enkelt sätt skapa överblick över planerade händelser. I det här exemplet kommer vi bygga en månadskalender för aktuell månad, och bygga den med en klassisk tabellstruktur.Innehåll
»»
»
»
Räkna ut månades första dagar
Vi börjar med att räkna ut de datum vi ska jobba med
datumManadForsta = dateadd("d", 0 - (datepart("d", date()) - 1), date())
datumVeckoDagForsta = datepart("w", datumManadForsta, vbMonday)
Vi gör detta för att veta hur många rutor i kalendern vi ska lämna blanka på första raden
Räkna ut antalet dagar
Hur många dagar finns det i den aktuella månaden?Den här koden tar rätt på antalet dagar, och tar även hänsyn till om det skulle vara skottår.
select case datepart("m", date())
case 1, 3, 5, 7, 8, 10, 12:
intDagar = 31
case 2, 4, 6, 9, 11:
intDagar = 30
case else
if datepart("y", datepart("yyyy", date()) & "-12-31") = 365 then
intDagar = 28 ‘Om årets dagar är 365, så är det ju inte skottår
else
intDagar = 29
end if
end select
Rita ut kalendern
Det är dags att få vår ASP kod att rita ut vår kalender, genom att använda en vanlig tabell
for I=1 to datumVeckoDagForsta - 1
intDag = intDag + 1
response.write vbtab & vbtab & " " & vbcrlf
next
‘ Det första stycket här ritar helt enkelt ut de tomma fälten i början på månaden
for I=1 to intDagar
intDag = intDag + 1
if intDag = 8 then ‘Om antalet dagar når 8 så är det dags för en radbrytning
response.write vbtab & "
" & vbcrlf
response.write vbtab & "" & vbcrlf
intDag = 1
end if
response.write vbtab & vbtab & "" & I & " ” & vbcrlf
next
‘ Det här stycket ritar ut månadens alla dagar, och skriver ut datumet i varje
for I=intDag to 6
response.write vbtab & vbtab & " " & vbcrlf
next
’ Och slutligen ritar vi ut de tomma rutorna i slutet på månaden
Färdigt
Och tro det eller ej, men det var allt. Nu är det dags att piffa upp den med CSS-kod, eller varför inte försöka sig på att bygga den med taggar istället för en tabell?
Lycka till med er kalender
Lycka till med er kalender
Pelle Johansson
Din artikel blev uppmärksammad i tidningen HACK! Se http://www.derigomedia.com/hack/arkiv/hack20061025.html#5
Daniel Melin
Tackar för den.. håller på och skriver på en fortsättning på kalendern. Hur man kan göra den användbar till mer än bara för syns skull