Syntax:
For kontrollvariabel = frånvärde to tillvärde.
Dvs:
For i = fdm to adim
Skriv också ut variablernas värden så du ser att de innehåller rätt saker.
mvh
7 svar · 462 visningar · startad av plelkes
...håller jag på med. Har kommit så här långt:
<%@LANGUAGE=VBSCRIPT %>
<% Option Explicit %>
<HTML>
<BODY>
<%
Session.LCID = 1053
Dim dagensdat 'för att få reda på det aktuella datumet
Dim fdm 'aktuella månadens första dag
Dim adim 'hur många dagar innehåller den aktuella månaden?
dagensdat = Date()
fdm = DatePart("w", DateSerial(Year(dagensdat), Month(dagensdat), 1))
adim = DatePart("d", DateSerial(Year(dagensdat), Month(dagensdat)+1, 1-1)) 'da´n innan första dagen i nästa månad. dvs sista dagen i nuvarande månad.
'kalendern skall visas i form av en tabell. Kalendern har som mest 6 veckor, och varje vecka innehåller 7 dagar.
'kalendertabellen innehåller alltså 42 (= 6*7) celler.
Dim almanacka(42) 'här skapar vi en array för 42 möjliga dagar
'För att fylla almanacka() vill vi stega från månadens första dag till antalet dagar i månaden
For fdm to adim
Next
Dim kolumn, rader
kolumn = 7 'eftersom jag vill visa kalendern i form av en tabell skapar jag 7 kolumner (1 för varje dag i veckan)
rader = 6 -Int((42-(fdm + adim)/7))
'antalet rader fås fram på följande sätt: 6 är antalet möjliga rader, 42 är ju övre gränsen av almanacka()
'första dagen + totala antalet dager dividerad med dager på en vecka som är ju 7.
'skapa tabellen
Response.Write "<TABLE WIDTH=""75%"" HEIGHT=""75%"" BORDER=1 ALIGN=CENTER CELLPADDING=1 CELLSPACING=1>"
Response.Write "<TH COLSPAN=7><FONT SIZE=+2>"
Response.Write MonthName(Month(dagensdat)) & ", " & Year(dagensdat)
Response.Write "</FONT></TH>"
När jag försöker testa får jag:
det fröväntas ett " = " i raden
For fdm to adim Next
Jag kommer ingen vart, och skulle behöva er hjälp.
Mitt syfter är att göra en loop där man stegar från månadens första dag till totala antalet dagar i månaden
Syntax:
For kontrollvariabel = frånvärde to tillvärde.
Dvs:
For i = fdm to adim
Skriv också ut variablernas värden så du ser att de innehåller rätt saker.
mvh
@nders:
For i = fdm to adim
Behöver inte jag ändra almanacka(42) till almanacka(i) ?
Skriv också ut variablernas värden så du ser att de innehåller rätt saker.
Menar du
Response.Wrie almanacka(i)
Nu har jag ändrat lite:
<%@LANGUAGE=VBSCRIPT %>
<% Option Explicit %>
<HTML>
<BODY>
<%
Session.LCID = 1053
Dim dagensdat 'för att få reda på det aktuella datumet
Dim fdm 'aktuella månadens första dag
Dim adim 'hur många dagar innehåller den aktuella månaden?
dagensdat = Date()
fdm = DatePart("w", DateSerial(Year(dagensdat), Month(dagensdat), 1))
adim = DatePart("d", DateSerial(Year(dagensdat), Month(dagensdat)+1, 1-1)) 'da´n innan första dagen i nästa månad. dvs sista dagen i nuvarande månad.
'kalendern skall visas i form av en tabell. Kalendern har som mest 6 veckor, och varje vecka innehåller 7 dagar.
'kalendertabellen innehåller alltså 42 (= 6*7) celler.
Dim i
Dim almanacka(42) 'här skapar vi en array för 42 möjliga dagar
'För att fylla almanacka() vill vi stega från månadens första dag till antalet dagar i månaden
For i = fdm to adim
Response.Write WeekdayName(i) & "<P>"
Next
%>
</BODY>
</HTML>
Porblemet är att när jag "kör" så får jag de 3 första dagarna rätt, men sedan får jag följande flemeddelande
Körningsfel i Microsoft VBScript 800a005
Ogiltigt proceduranrop eller argument.: 'WeekdayName'
Har jag fel om jag tror att WeekdayName vill ha ett tal mellan 1 och 7 som argument?
Hur menar du egentligen mad att testa koden? Vad vill du uppnå med det där?
Lista alla veckodagar i din almanacka?
Typ: Torsdag, Fredag osv, ~26 dagar eller vad det nu kan bli?
Go´morrn alla :h
Hur menar du egentligen mad att testa koden?
Jag skall försöka förklara:
Jag använder boken: "Teach Yourself ASP 3.0 på 21 dagar" av Mitchell & Atkinson. Men jag försöker "tänka lite sjäv" för att se om jag kan tänka ASP och använda mig av principer och kunskaper som jag lärt mig från dels Er på webforum och dels från boken - så jag har gjort ändringar/modifieringar och dessa tänkte jag testa (om det går) undan för undan.
I boken står tex.:
Dim iLoop
For iLoop=1 to adim
almanacka(iLoop + fdm -1) = iLoop
Next
Och eftersom jag tolkar detta som att man: loopar från fdm till adim så skrev jag koderna som jag gjorde..
Och det är detta jag försöker testa---