---
title: "försök till almanacka"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/76833-försök-till-almanacka"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-05-13T18:56:56.000Z"
updated: "2003-05-15T05:40:53.000Z"
replies: 7
views: 470
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/76833-försök-till-almanacka"
---

# försök till almanacka

## #1 — plelkes, 2003-05-13T18:56Z

...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

Permalänk: https://www.webforum.nu/p/76833

## #2 — @nders, 2003-05-13T19:09Z

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

Permalänk: https://www.webforum.nu/p/1048211

## #3 — plelkes, 2003-05-14T09:36Z

@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)
```

Permalänk: https://www.webforum.nu/p/1048734

## #4 — plelkes, 2003-05-14T17:55Z

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'

 

- varför får jag detta efter 3 "loopar"?
- är koden rätt hittills ändå?
- vad bör jag ändra på?

Permalänk: https://www.webforum.nu/p/1049237

## #5 — solbulle, 2003-05-14T18:40Z

Har jag fel om jag tror att WeekdayName vill ha ett tal mellan 1 och 7 som argument?

Permalänk: https://www.webforum.nu/p/1049302

## #6 — plelkes, 2003-05-14T18:43Z

det stämmer solbulle!

Men hur kommer jag runt detta och ändå kunna testa koden?

Permalänk: https://www.webforum.nu/p/1049306

## #7 — solbulle, 2003-05-14T19:07Z

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?

Permalänk: https://www.webforum.nu/p/1049338

## #8 — plelkes, 2003-05-15T05:40Z

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

Permalänk: https://www.webforum.nu/p/1049696

---

Tråden på webben: https://www.webforum.nu/amne/asp/76833-försök-till-almanacka
