---
title: "villkor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/83430-villkor/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-08-04T11:44:21.000Z"
updated: "2003-08-07T18:44:10.000Z"
replies: 30
views: 793
page: 2
pages: 2
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/83430-villkor"
---

# villkor

_Sida 2 av 2._

## #21 — solbulle, 2003-08-06T19:02Z

Ingen fara.

Din är ide är kanon, det är bara det att det är ungefär precis vad jag håller på att  försöka få plelkes till också.
Precis som i ditt script så har han några lösa funktioner som hittar någon speciell helg, samt en del andra "givna" helger, julafton mfl.

Jag tycker alltså också att han bör samla alltihop i en funktion som förslagsvis returnerar vilken helg det är. :)

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

## #22 — plelkes, 2003-08-06T19:51Z

nicclas: som solbulle skrev så har jag redan en funktion som beräknar officiella svenska helgdagar...
solbulle:
låter intressant med din idée om funktion, men jag tycker att det verkar vara himla komplicerat. Men på min nybörjarnivå, så tycker jag att det är svårt att få ihop funktioner...

Och se´n var det ju med

> Man får väl komma på ett vettigt sätt att skicka in datumet dock

 
Men jag provar gärna att ge mig på funktionskonstruktion.. Naturligtvis bara om du/ni är beredda att så pedagogiskt som möjligt vägleda och lära mig

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

## #23 — plelkes, 2003-08-07T09:44Z

Funktionerna får vänta ett tag till.
För tillfället har jag fullt upp med if-then- else...

```
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"">"
	Response.Write " _" & "</TD>"
Else

	If cint(manad) = Month(GeAllhelgon(ar)) AND aKalender(i) = Day(GeAllhelgon(ar)) then
		Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#FF0000"" SIZE=""2"">"
		Response.Write aKalender(i) & "</FONT>" 
		Response.Write "<P ALIGN=""CENTER""><FONT COLOR=""#FF0000"" SIZE=""2"">Alla helgonsdag</FONT></P>"
		Response.Write "</CENTER></TD>"
	End If
		If int(manad) = Month(NewYearday(ar)) AND aKalender(i) = Day(NewYearday(ar)) then
			Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#FF0000"" SIZE=""2"">"
			Response.Write aKalender(i) & "</FONT>" 
			Response.Write "<P ALIGN=""CENTER""><FONT COLOR=""#FF0000"" SIZE=""2""> Nyårsdagen</FONT></P>"
			Response.Write "</CENTER></TD>"
	End If
		If int(manad) = Month(trettondag(ar)) AND aKalender(i) = Day(trettondag(ar)) then
			Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#FF0000"" SIZE=""2"">"
			Response.Write aKalender(i) & "</FONT>" 
			Response.Write "<P ALIGN=""CENTER""><FONT COLOR=""#FF0000"" SIZE=""2""> Trettondagen</FONT></P>"
			Response.Write "</CENTER></TD>"
Else
	Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#330099"">"
	Response.Write aKalender(i)
	Response.Write "</FONT></CENTER></TD>"

End If
End IF
Next

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

 I ovanstående koden har jag tex misslyckats...
Som ni [ser det här](http://www31.brinkster.com/plelkesprojekt/min_kalender3.asp)  om ni kollar på november och januari..
I nedanstående kod:

```
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"">"
	Response.Write " _" & "</TD>"
Else

If cint(manad) = Month(GeAllhelgon(ar)) AND aKalender(i) = Day(GeAllhelgon(ar)) then
	Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#FF0000"" SIZE=""2"">"
	Response.Write aKalender(i) & "</FONT>" 
	Response.Write "<P ALIGN=""CENTER""><FONT COLOR=""#FF0000"" SIZE=""2"">Alla helgonsdag</FONT></P>"
	Response.Write "</CENTER></TD>"
Else
	Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#330099"">"
	Response.Write aKalender(i)
	Response.Write "</FONT></CENTER></TD>"

End If
End IF
Next

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

 fungerar det som [ni kan se](http://www31.brinkster.com/plelkesprojekt/min_kalender2.asp) för januari men inte för november

Snälla hjälp mig så att jag kan förstå hur if-then-else skall konstrueras!

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

## #24 — solbulle, 2003-08-07T10:12Z

Det du gör nu blir svårare...
Du måste köra med Elseif där.
Sen som du ser så blir det en attans upprepning av kod.

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

## #25 — solbulle, 2003-08-07T10:18Z

```
If aKalender(i) < 1 Then
	Response.Write "<TD BGCOLOR=""#000000"">"
	Response.Write " _" & "</TD>"
Else

	If cint(manad) = Month(GeAllhelgon(ar)) AND aKalender(i) = Day(GeAllhelgon(ar)) then
		Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#FF0000"" SIZE=""2"">"
		Response.Write aKalender(i) & "</FONT>" 
		Response.Write "<P ALIGN=""CENTER""><FONT COLOR=""#FF0000"" SIZE=""2"">Alla helgonsdag</FONT></P>"
		Response.Write "</CENTER></TD>"

	ElseIf int(manad) = Month(NewYearday(ar)) AND aKalender(i) = Day(NewYearday(ar)) then
		Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#FF0000"" SIZE=""2"">"
		Response.Write aKalender(i) & "</FONT>" 
		Response.Write "<P ALIGN=""CENTER""><FONT COLOR=""#FF0000"" SIZE=""2""> Nyårsdagen</FONT></P>"
		Response.Write "</CENTER></TD>"

	ElseIf  int(manad) = Month(trettondag(ar)) AND aKalender(i) = Day(trettondag(ar)) then
		Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#FF0000"" SIZE=""2"">"
		Response.Write aKalender(i) & "</FONT>" 
		Response.Write "<P ALIGN=""CENTER""><FONT COLOR=""#FF0000"" SIZE=""2""> Trettondagen</FONT></P>"
		Response.Write "</CENTER></TD>"
	
	Else
		Response.Write "<TD ALIGN=""CENTER"" VALIGN=""MIDDLE""><CENTER><FONT COLOR=""#330099"">"
		Response.Write aKalender(i)
		Response.Write "</FONT></CENTER></TD>"
	End If

End If
Next
```

Fast inte är det vackert inte.

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

## #26 — plelkes, 2003-08-07T11:10Z

> Sen som du ser så blir det en attans upprepning av kod.

tur att man kan göra en Marjasin (dvs klippa - klistra)

> Fast inte är det vackert inte.

 Men förlorar jag ngt i effektivitet ????

Jag fattar fortfarande inte hur jag skulle få till med funktion\*snyft\*

Kan ng ge ett fungerande exempel med de tre helgdagarna - tack

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

## #27 — plelkes, 2003-08-07T11:29Z

tilläg:
varför ElseIF ?
PS. : ditt förslag funkar naturligtvis!

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

## #28 — plelkes, 2003-08-07T12:41Z

Jag har funderat mycket kring funktionsfrågan. Men jag får inte till det hela.
Fick ju följande föörslag från solbulle:

> function helg(datum)
> 
> If datum = GeAllhelgon(datum) then
> 	helg = "Allhelgona"
> Elseif datum = GeJulafton(datum) then
> 	helg = "Julafton"
> Else
> 	helg = "vardag" ' eller helt tomt iofs.
> End iF
> 
> End function

  Men varje helgdag består ju av datum/funktion själva..
Typ allhelgona

```
function GeAllhelgon(ar)
dteDate = ar & "-10" & "-31"
dteDate = CDate(dteDate)
intWeekday = WeekDay(dteDate, vbSunday)
newdate = dateAdd("d", 7-intWeekDay, dteDate)
GeAllhelgon = newdate
end function
```

 Och nyårsdagen

```
function NewYearday(ar)
  dteDate = ar & "-01" & "-01"
  NewYearday = CDate(dteDate)
End function
```

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

## #29 — solbulle, 2003-08-07T15:03Z

Upprepandet av kod.

Onödigt, tar väl kanske inte så mycket kraft, men blir ju som du märker jobbigt att ändra i o lätt att det blir fel. Som nu.
Har du en funktion, kanske du tex även kan använda dig av den på andra sidor osv.

Jag försöker alltid att göra allting så skalbart som möjligt, smaksak iofs.

Angående mitt förslag med funktion, det som den gör är ju att "samla ihop" dina funktioner i ett block.
Så syftet med det är egentligen bara att optimera koden.

Varför ElseIf?

Jo, för att annars blir det ju som så att inget skrivs ut om inte något villkor uppfylls.

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

## #30 — plelkes, 2003-08-07T18:18Z

Så då har "den fula koden" inget effekt på hur bra sidan laddas eller andra funktioner?
För i så fall väljer jag nog hellre klippa -klistra metoden

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

## #31 — plelkes, 2003-08-07T18:44Z

fast klart - jag tar gärna emot hjälp och förslag på hur jag kan "sy ihop" allt till en funktion :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/83430-villkor/page2  
Föregående sida: https://www.webforum.nu/amne/asp/83430-villkor.md
