01. august 2006 - 01:31Der er
4 kommentarer og 1 løsning
Dynamisk variabel navn
Hej.
Jeg har brug for at navngive en variabel dynamisk.
Prøv at se følgende forkorte kode eksempel: e_1=SSAddTopLevelMenu("...") SSAddMenuItem , e_1, ""
Jeg har brug for at variablen e_1 har et dynamisk navn - så den fx hed e_2 e_3 etc. Den får navnet fra databasen rsSQL("id"). Så hvis man kunne skrive: e_&rsSQL("id") = ... , så ville det jo være perfekt.
Er der en work around? Er kørt lidt træt i det. Jeg kan vel lave en eller anden form for slave variabel som henviser til e_x. Det er for lang tid siden jeg har skrevet ASP.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
parameteren til Execute er altså blot en streng som indeholder vbscript-kode, så pas på med strengafgrænsere (det er derfor jeg har brugt dobbeltanførselstegn i værditildelingen).
Ad 2.: Et array kan indeholde variabelværdier som du kan finde frem ved et indeks. Denne metode er lidt mindre intuitiv, men da du i forvejen benytter tal i dit variabelnavn er det måske en OK måde at gøre det på...
Ad 3.: Det er som sagt lidt det samme som 2, men med den forskel at du kan bruge de dynamiske variabelnavn som nøgler i dit dictionary, hvilket giver en mere naturlig og intuitiv måde at referere dine variable på.
Set e = Server.CreateObject("Scripting.Dictionary") e.Add "e_" & rsSQL("id"), SSAddTopLevelMenu("...")
og dette kan naturligvis køres i en løkke som du får lagt alle værdierne fra database-udtrækket over i dit dictionary-objekt. Dette gælder naturligvis også de andre 2 metoder ovenfor... :)
Det med point er ikke så vigtigt, bare du får nogle muligheder for at løse din udfordring :)
Synes godt om
Ny brugerNybegynder
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.