webForumDet fria alternativet

Ej tvingande värde i Sub

ASP

4 svar · 237 visningar · startad av Koplik

Medlem sedan juli 20011 129 inlägg
Frågan#1

Hej.

Jag har ett litet dilemma med en sub. Detta problem är något jag funderat över flera gånger förut, men aldrig försökt leta reda på svaret.
Hittade inget i forumen, men jag ber om ursäkt om det tagits upp förr.

Till saken:
Jag vill ha en valfri parameter i en sub, normalt när jag lägger in en parameter som används i subben så blir den tvingande och felmeddelandet: "Fel antal argument eller felaktig egenskapstilldelning.: 'Chart' " dyker upp, när jag anropar subben utan att ange ett värde.

Finns det något sätt för mig att ha med en parameter i subben utan att behöva ange den vid anrop?

Anledning är att jag vill lägga till en hanterare i sub-rutinen och vill inte leta fram var sida som anropar den och lägga till en 0:a eller dyl.

Mitt ex.
Sub Chart(Title, tDia, barValues, Percent, Values, Labels, xPos, yPos, Width, Height, totsum, perVal, myHi, yValues)

yValues är alltså ny och den ska jag bara behöva lägga in vid anrop då jag vill ta bort några värden, och default skall vara disable:at (vilket jag redan nu kan hantera, men inte felet att inte skicka med argumentet/parametern.

Rörigt det blev, jag skyller på att jag är trött och att det är fredag för mig.

Medlem sedan dec. 20003 563 inlägg
#2

I ASP är man väl tvungen att skapa två subar. En med x parametrar och en med x-1 parametrar. Vilken sub som körs beror på hur många man skickar till den.

I ASP.NET finns det 'optional' man kan sätta på de sista parametrarna.

Medlem sedan juli 20011 129 inlägg
#3

Aj, va jobbigt.

Nu fick jag lite motivation att försöka byta från ASP till .NET istället då.
Att dom inte lyckats ta med en sådan sak i gamla ASP är ju lite sorgligt, då man ofta återanvänder och förbättrar subbar/funktioner.

Tack för svaret.

Medlem sedan dec. 20003 563 inlägg
#4

Heh. Fast egentligen är det inte så jobbigt. Lägg det gemensamma arbetet i en egen privat sub så blir det ändå inte mycket dubbelkodning.

ex.

sub graf(x1,...,x9)
  draw(x1,...)
end sub

sub graf(x1,...,x8)
  ' Gör det som skiljer dem åt
  draw(x1,...)
  ' Gör det som skiljer dem åt
end sub

sub draw(x1,...)
  ...
end sub
Medlem sedan juli 20011 129 inlägg
#5

Det är sant, men blir att göra om hela subben då med. Den är rätt omfattande. Känns som waste med includes då.

Hursomhelst så gjorde jag om subben i include-filen istället, hade tydligen bara 2 ställen där jag anropade den (vad jag vet) så det var inget större arbete :)

Tack för tipsen!

275 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
146 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)