Avatar billede zneo Nybegynder
23. november 2000 - 10:54 Der er 5 kommentarer og
1 løsning

Dynamisk variabel... Eller hvad man nu kan kalde det...

En variabel skal hente en variabel fra en anden variabel(!) Se kode:

\'document er en skabelon, som skal have erstattet nogle elementer
document = \"<B>#:OVERSKRIFT#</b><br>#:TEKST#\"

\'de elementer der skal erstatte kommer her
tekst = \"Dette er en tekst, der står en masse ting...\"
overskrift = \"Dette er overskriften\"

\'denne sub skal erstatte de forskellige ting med noget indhold
Sub erstat(element)
    strVartoreplace = \"#:\" & ucase(element) & \"#\" \'her er element fx \"tekst\"
    if len(element) > 0 Then
        document = replace(document,strVartoreplace,element) \'her skal element gerne returnere indholdet af variablen tekst eller overskrift, ikke blot \"tekst\" eller \"overskrift\"
    else
        document = replace(document,strVartoreplace,\"\")
    end if
end sub

\'kør sub med de forskellige ting som skal erstattes
erstat \"tekst\"
erstat \"overskrift\"

\'skriv document til browseren
response.write document
Avatar billede sone Nybegynder
23. november 2000 - 11:10 #1
2 muligheder:

  document = \"<B>\" & OVERSKRIFT & \"</b><br>\" & TEKST

Indsætter overskrift og tekst i document (NU).

Hvis du vil gøre det efterfølgende:

  document = \"<B>#:OVERSKRIFT#</b><br>#:TEKST#\"
  document = Replace(document, \"#:OVERSKRIFT#\", overskrift)
  document = Replace(document, \"#:TEKST#\", tekst)

Indsætter overskrift og tekst i document (efterfølgende)
Avatar billede zneo Nybegynder
23. november 2000 - 11:19 #2
sone: Jeg kender godt begge metoder, men det skal være som en sub, da jeg ellers skal lave gentage replace-funktionen utallige gange.

uddybet eksempel:

i = \"mus\" \'i er en variabel
ost = \"i\" \'ost er en variabel

response.write ost \'skriver i

Hvis jeg så gerne vil have den til at returnere indholdet af variablen \"i\" i stedet for blot i, hvad gør jeg så?

Jeg ved at med session variabler vil det være noget med session(ost), men hvad med alm. variabler?
Avatar billede tdaugaard Nybegynder
23. november 2000 - 11:54 #3
i = \"mus\" \'i er en variabel
set ost = i \'ost er en variabel

response.write ost \'skriver \"mus\"

Set opretter vist en reference til I gennem OST. Prøv engang.
Avatar billede sone Nybegynder
23. november 2000 - 12:03 #4
eller:

i = \"mus\" \'i er en variabel
ost = \"i\" \'ost er en variabel

Response.Write(eval(ost))
Avatar billede tdaugaard Nybegynder
23. november 2000 - 12:06 #5
sone:> har VBScript Eval() funktionen ? Cool .. det anede jeg ikke *DOH*
Avatar billede zneo Nybegynder
23. november 2000 - 12:18 #6
tdaugaard:
Microsoft VBScript runtime error \'800a01a8\'
Object required: \'i\'

sone: Det virker! Eval har reddet min dag!

Tak for hjælpen allesammen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester