[asp] functie met optionele parameters?

Pagina: 1
Acties:

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

Topicstarter
Weet iemand of het mogelijk is om met ASP/VBScript gebruik te maken van optionele parameters?

Met VB is het wel mogelijk, maar in VBScript lukt het niet op die manier. Ik krijg dan de foutmelding:

Compilatiefout Microsoft VBScript (0x800A03F2)
Id wordt verwacht
/project/default.asp, line 51, column 29
Function functienaam(sFile, Optional sAltFile ="")
--------------------------^

Ook als je de standaardwaarde voor sAltFile weglaat, werkt het niet.

Zoeken op msdn.microsoft.com een google leverde (tot nu toe) ook niets bruikbaars op

[ Voor 6% gewijzigd door wizzkizz op 01-11-2003 22:33 . Reden: iets anders formuleren ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

Topicstarter
Jammer. In elke geval bedankt.

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Ik kan het niet nalaten om hier ff aan toe te voegen dat als je JScript als taal had gekozen, je wel optionele parameters kan gebruiken. in JScript zijn parameters in principe altijd optioneel, want als je ze niet meegeeft, zijn ze in de betreffende functie "undefined".

Daarnaast moet je je bedenken dat zowel JScript als VBScript niet echt programmeertalen zijn, dus dat je ook geen features van "echte" programmeertalen mag verwachten. In JScript kun je bijvoorbeeld niet eens classes definiëren...

日本!🎌


Verwijderd

function(array)

call function('test','test')

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

_Thanatos_ schreef op 03 november 2003 @ 15:07:
Ik kan het niet nalaten om hier ff aan toe te voegen dat als je JScript als taal had gekozen, je wel optionele parameters kan gebruiken. in JScript zijn parameters in principe altijd optioneel, want als je ze niet meegeeft, zijn ze in de betreffende functie "undefined".
Dan mag jij me uitleggen hoe ik deze parameters optioneel maak:

JavaScript:
1
2
3
4
5
6
7
8
9
function doItNow(a, b, c, d, e, f){
  alert(b);
  alert(d);
  alert(f);
}

bladibla

doItNow("a", "c", "e")


Hoe ga je je functie vertellen dat ik niet de eerste drie parameters bedoel? ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

BtM909 schreef op 03 november 2003 @ 22:04:
[...]
Hoe ga je je functie vertellen dat ik niet de eerste drie parameters bedoel? ;)
offtopic:
'bladibla' is undefined ;)

Today's subliminal thought is:


Verwijderd

mm, mijn enige script ervaring is met php :$, maar daar kun je gewoon een waarde definieren voor als een parameter niet wordt meegegeven:
PHP:
1
2
3
4
function hallo($a, $b = " wereld") {
echo $a.$b;
}
hallo("hallo");

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Dat kent VBScript niet.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Dan mag jij me uitleggen hoe ik deze parameters optioneel maak:

JavaScript:
1
2
3
4
5
6
7
8
9
function doItNow(a, b, c, d, e, f){
  alert(b);
  alert(d);
  alert(f);
}

bladibla

doItNow("a", "c", "e")


Hoe ga je je functie vertellen dat ik niet de eerste drie parameters bedoel? ;)
Zo werken optionele parameters niet. de eerste parameter die je meegeeft is altijd de eerste in de an te roepen functie, optioneel of niet, gebruikt of niet.

In VB (en vast nog wel andere) kun je parameters expliciet opgeven, of lege parameters meegeven door respectievelijk doItNow(d="a",e="c",f="e") of doItNow(,,,"a","c","e") aan te roepen. Maar JScript kent dat niet.
function(array)

call function('test','test')
Fout. Een parameter naam "array" is uit m'n blote hoofd niet toegestaan (gereserveerd woord). En je roept em verkeerd aan. Dit is de correcte syntaxis:
VBScript:
1
2
3
4
5
Function DoeIets(A)
   //...
End Function

DoeIets Array("a", "b", "e")

[ Voor 12% gewijzigd door _Thanatos_ op 04-11-2003 15:25 ]

日本!🎌


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat versta jij onder een optionele parameter dan :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

BtM909 schreef op 04 november 2003 @ 18:29:
Wat versta jij onder een optionele parameter dan :?
Visual Basic .NET:
1
2
3
Public Function MyFunction(a as Integer, optional b as Integer = 3) as Integer
    ....
End Function

Dit denk ik. :)

[ Voor 3% gewijzigd door gorgi_19 op 04-11-2003 19:19 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • vinnux
  • Registratie: Maart 2001
  • Niet online
gorgi_19 schreef op 04 november 2003 @ 19:19:
[...]

Visual Basic .NET:
1
2
3
Public Function MyFunction(a as Integer, optional b as Integer = 3) as Integer
    ....
End Function

Dit denk ik. :)
En ik nou toch denken dat een echte goede programmeertaal geen gebruik maakt van zulk een viezie dingen :(. Helaas....

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

vgouw schreef op 04 november 2003 @ 19:47:
[...]

En ik nou toch denken dat een echte goede programmeertaal geen gebruik maakt van zulk een viezie dingen :(. Helaas....
:? Het zit in meerdere talen, C#, C++ hebben het afaik ook.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

gorgi_19 schreef op 04 november 2003 @ 19:48:
:? Het zit in meerdere talen, C#, C++ hebben het afaik ook.
C#:
1
2
3
void optellen (params int[] getalletje) { ... }
//aanroep:
optellen(1,2,3,4);
In C/C++ is het iets lastiger (trefwoorden: va_arg, va_start, va_end, uit het hoofd).

Ja dus, het zit in (zelfs) heel veel talen. Waar ik nou heel benieuwd naar ben: waarom is dit vies?


Journalism is printing what someone else does not want printed; everything else is public relations.


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je moet nu in je methode controlleren waar je eigenlijk mee bezig bent terwijl je dat van te voren al duidelijk kan maken door of bla(a) of bla(a, b) aan te roepen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Gert schreef op 04 november 2003 @ 23:33:
Je moet nu in je methode controlleren waar je eigenlijk mee bezig bent terwijl je dat van te voren al duidelijk kan maken door of bla(a) of bla(a, b) aan te roepen.
Hoezo moet je in een methode controleren? Stel je wilt een bericht plaatsen, met als standaard verschijningswaarde de huidige datum. Je kan dan de datum optioneel maken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1