/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Dynamisk erklæring af variabelnavne
Fra : Jesper Stocholm


Dato : 01-11-01 12:11

Er det muligt at tweake ASP, så det bliver muligt at erklære variabelnavne
dynamisk ?

Jeg har en form, der spytter en masse data over i en side. Disse variable
vil jeg gerne have erklæret ... dvs som noget i denne retning:

strFirstname = Request.Form("FirstName")
strLastname = Request.Form("LastName")
strAddress = Request.Form("Address")

.... men det nærmest skriger jo på en smart måde at gøre det på ... og jeg
strikkede dette sammen:

for each x in Request.Form
"str" & x = Request.Form(x)
next

.... men ... big surprise ... compileren brokker sig ...

Kan det jeg vil ikke lade sig gøre ?

--
Jesper Stocholm
http://stocholm.dk
ICQ: 13214885
MSN Messenger: jesperstocholm at hotmail dot com

 
 
Zamme Röha (01-11-2001)
Kommentar
Fra : Zamme Röha


Dato : 01-11-01 14:54

On Thu, 1 Nov 2001 11:10:48 +0000 (UTC), Jesper Stocholm wrote:
> Er det muligt at tweake ASP, så det bliver muligt at erklære variabelnavne
> dynamisk ?
>
> Jeg har en form, der spytter en masse data over i en side. Disse variable
> vil jeg gerne have erklæret ... dvs som noget i denne retning:
>
> strFirstname = Request.Form("FirstName")
> strLastname = Request.Form("LastName")
> strAddress = Request.Form("Address")
>
> ... men det nærmest skriger jo på en smart måde at gøre det på ... og jeg
> strikkede dette sammen:
>
> for each x in Request.Form
> "str" & x = Request.Form(x)
> next
>
> ... men ... big surprise ... compileren brokker sig ...
>
> Kan det jeg vil ikke lade sig gøre ?
>

Generelt for forskellige scriptsprog, bruger man
eval funktionen til dette formål. Jeg er dog elektronisk
handikappet i skrivende stund, så jeg kan ikke henvise
til noget mere brugbart. Prøv at søg efter en eval
funktion til ASP.

--
Zamme Röha, Sældomptør og søløve

Red verdens sæler.

Kim Jensen (01-11-2001)
Kommentar
Fra : Kim Jensen


Dato : 01-11-01 15:16

> strFirstname = Request.Form("FirstName")
> strLastname = Request.Form("LastName")
> strAddress = Request.Form("Address")
> ... men det nærmest skriger jo på en smart måde at gøre det på ... og jeg
> strikkede dette sammen:

Uden at kende det store til det; kan du ikke bruge det indbyggede Dictionary
object? Altså en slags array, hvor du ikke kører på integer-indexering, men
på key-values.

Eksempel sakset fra VBscript dokumentationen:

Function DicDemo
Dim d ' Create some variables.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens" ' Add some keys and items.
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
d.Key("c") = "d" ' Set key for "c" to "d".
DicDemo = d.Item("d") ' Return associate item.
End Function


mvh
Kim Jensen



Anders Holbøll (01-11-2001)
Kommentar
Fra : Anders Holbøll


Dato : 01-11-01 18:34

Jesper Stocholm wrote:
>
> Er det muligt at tweake ASP, så det bliver muligt at erklære
> variabelnavne dynamisk ?

Normalt ville jeg sige: Benyt dictionary-objektet.

> Jeg har en form, der spytter en masse data over i en side.
> Disse variable vil jeg gerne have erklæret ... dvs som noget
> i denne retning:
> strFirstname = Request.Form("FirstName")
> strLastname = Request.Form("LastName")
> strAddress = Request.Form("Address")

Hvorfor vil du have dem ned i (midlertidige) variable? Hvorfor bruger du
ikke værdierne direkte fra request objektet? skal skal vel bruge dem til
et eller andet bagefter? Request objektet har jo også værdierne liggende
i et dictionary-(agtigt)-objekt.

--
Anders

Jesper Stocholm (01-11-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 01-11-01 19:27

Anders Holbøll wrote in news:3BE18788.13EB620F@serveren.dk:

> Jesper Stocholm wrote:
>>
>> Er det muligt at tweake ASP, så det bliver muligt at erklære
>> variabelnavne dynamisk ?
>
> Normalt ville jeg sige: Benyt dictionary-objektet.
>
>> Jeg har en form, der spytter en masse data over i en side.
>> Disse variable vil jeg gerne have erklæret ... dvs som noget
>> i denne retning:
>> strFirstname = Request.Form("FirstName")
>> strLastname = Request.Form("LastName")
>> strAddress = Request.Form("Address")
>
> Hvorfor vil du have dem ned i (midlertidige) variable? Hvorfor bruger du
> ikke værdierne direkte fra request objektet? skal skal vel bruge dem til
> et eller andet bagefter? Request objektet har jo også værdierne liggende
> i et dictionary-(agtigt)-objekt.
>

eksemplet er sådan set ikke så vigtigt ... det var mere om det overhovedet
kunne lade sig gøre ... :)

Hvorfor jeg vil lægge dem ned i midlertidige variable: Jeg synes det giver
pænere kode ...

--
Do you also think surveillance has gone too far ?
http://www.salon.com/comics/tomo/2001/07/09/tomo/index.html

- Jesper Stocholm - http://Stocholm.dk

mkj (09-11-2001)
Kommentar
Fra : mkj


Dato : 09-11-01 15:51

Hvad med at bruge et array??? Ca.:

dim arrFormElements
for each x in Request.Form
arrFormElements= Request.Form(x)
next

Nu indeholder f.eks. arrFormElements(0) værdien af første form element.

MKJ

"Jesper Stocholm" <spam@stocholm.dk> wrote in message
news:Xns914C7BDF66358spamstocholmdk@192.38.208.81...
> Er det muligt at tweake ASP, så det bliver muligt at erklære variabelnavne
> dynamisk ?
>
> Jeg har en form, der spytter en masse data over i en side. Disse variable
> vil jeg gerne have erklæret ... dvs som noget i denne retning:
>
> strFirstname = Request.Form("FirstName")
> strLastname = Request.Form("LastName")
> strAddress = Request.Form("Address")
>
> ... men det nærmest skriger jo på en smart måde at gøre det på ... og jeg
> strikkede dette sammen:
>
> for each x in Request.Form
> "str" & x = Request.Form(x)
> next
>
> ... men ... big surprise ... compileren brokker sig ...
>
> Kan det jeg vil ikke lade sig gøre ?
>
> --
> Jesper Stocholm
> http://stocholm.dk
> ICQ: 13214885
> MSN Messenger: jesperstocholm at hotmail dot com



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408954
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste