|
| Array i Session Fra : Rasmus Nielsen |
Dato : 03-02-02 18:30 |
|
Hej,
Hvordan laver man en session-variabel, der indeholder et array, der består
af 4-cifrede varenumre? Hvad skriver man, når der skal tilføjes et tal til
dette array?
--
Venlig hilsen / Best regards,
Rasmus Nielsen.
| |
Tony Lorentzen (04-02-2002)
| Kommentar Fra : Tony Lorentzen |
Dato : 04-02-02 15:16 |
|
Hej Rasmus,
Det nemmeste er nok at kaste en strengværdi ind i session-variablen og så
splitte den når du skal læse i den.
Hvis du f.eks. har flg. stående i din session variabel:
"2345,2341,7232,1236,2347" kan du hive det ud og lave et array ved at gøre
således:
Dim myArray
myArray = Split(session("variabelnavn"),",")
God fornøjelse med det.
Mvh,
Tony
"Rasmus Nielsen" <postmaster@rasmusn.dk> wrote in message
news:3c5d7368$0$62871$edfadb0f@dspool01.news.tele.dk...
> Hej,
>
> Hvordan laver man en session-variabel, der indeholder et array, der består
> af 4-cifrede varenumre? Hvad skriver man, når der skal tilføjes et tal til
> dette array?
>
> --
> Venlig hilsen / Best regards,
>
> Rasmus Nielsen.
>
>
| |
Rasmus Nielsen (04-02-2002)
| Kommentar Fra : Rasmus Nielsen |
Dato : 04-02-02 17:37 |
|
> Hvis du f.eks. har flg. stående i din session variabel:
> "2345,2341,7232,1236,2347" kan du hive det ud og lave et array ved at gøre
> således:
>
> Dim myArray
> myArray = Split(session("variabelnavn"),",")
Det ser smart ud. Hvad er koden, hvis man vil tilføje et tal til
strengværdien?
--
Venlig hilsen / Best regards,
Rasmus Nielsen.
| |
Janus Klok Lauritsen (04-02-2002)
| Kommentar Fra : Janus Klok Lauritsen |
Dato : 04-02-02 18:26 |
|
Du kunne vel lave noget ligende:
dinNyeVar = 7999 ' eller noget helt andet....
session("variabelnavn") = session("variabelnavn") & "," & dinNyeVar
Mvh
Janus
"Rasmus Nielsen" <postmaster@rasmusn.dk> wrote in message
news:3c5eb85f$0$62902$edfadb0f@dspool01.news.tele.dk...
> Det ser smart ud. Hvad er koden, hvis man vil tilføje et tal til
> strengværdien?
| |
Rasmus Nielsen (04-02-2002)
| Kommentar Fra : Rasmus Nielsen |
Dato : 04-02-02 18:49 |
|
> session("variabelnavn") = session("variabelnavn") & "," & dinNyeVar
Mange tak for for hjælpen. Findes der en tilsvarende man kan bruge, hvis man
ønsker at fjerne et tal fra stregen?
--
Venlig hilsen / Best regards,
Rasmus Nielsen.
| |
Allan Ebdrup (04-02-2002)
| Kommentar Fra : Allan Ebdrup |
Dato : 04-02-02 19:09 |
|
"Rasmus Nielsen" <postmaster@rasmusn.dk> wrote in message
news:3c5ec954$0$230$edfadb0f@dspool01.news.tele.dk...
> > session("variabelnavn") = session("variabelnavn") & "," & dinNyeVar
>
> Mange tak for for hjælpen. Findes der en tilsvarende man kan bruge, hvis
man
> ønsker at fjerne et tal fra stregen?
Så kunne du gøre noget a la:
session("variabelnavn") = Replace(session("variabelnavn"), "," &
intTalAtFjerne)
session("variabelnavn") = Replace(session("variabelnavn"), intTalAtFjerne &
",")
Grunden til at køre replace både med kommer før og efter er at du ikke kan
vide om tallet evt. står først eller sidst.
Vær også opmærksom på at alle forekomster af tallet bliver fjernet(*), og at
dette kun virker hvis det er tal (ikke vilkårlige strenge).
(*) Kan laves så der kun fjernes een forekomst.
MVH
Allan Ebdrup, 10-4 ApS
www.ti-fire.dk
| |
Janus Klok Lauritsen (04-02-2002)
| Kommentar Fra : Janus Klok Lauritsen |
Dato : 04-02-02 19:59 |
|
Som du skriver vil alle forekomster af tallet blive fjernet, så hvis din
streng var:
7999, 99, 899
og du forsøgte at fjerne 99.
Så ville din streng pludselig være:
79, 899
Sååå, måske skulle du overveje at f.eks. sætte , både før det første tal og
efter det sidste, og så lave:
session("variabelnavn") = Replace(session("variabelnavn"), "," &
intTalAtFjerne & ",", ",")
Når du skal lave dit array skal du så bare se bort fra det første og det
sidste tegn.
Hvorfor virker dette forresten kun ved tal ? Det kan jeg ikke lige se.
Mvh
Janus
"Allan Ebdrup" <ebdrup@ti-fire.dk> wrote in message
news:a3mimr$efk$1@news.cybercity.dk...
> "Rasmus Nielsen" <postmaster@rasmusn.dk> wrote in message
> news:3c5ec954$0$230$edfadb0f@dspool01.news.tele.dk...
> Grunden til at køre replace både med kommer før og efter er at du ikke kan
> vide om tallet evt. står først eller sidst.
> Vær også opmærksom på at alle forekomster af tallet bliver fjernet(*), og
at
> dette kun virker hvis det er tal (ikke vilkårlige strenge).
| |
Allan Ebdrup (05-02-2002)
| Kommentar Fra : Allan Ebdrup |
Dato : 05-02-02 11:55 |
|
Hej Janus
Kommentare inline
"Janus Klok Lauritsen" <janus@mcb.dk> wrote in message
news:a3mlfa$4jj$1@sunsite.dk...
> Som du skriver vil alle forekomster af tallet blive fjernet, så hvis din
> streng var:
> 7999, 99, 899
> og du forsøgte at fjerne 99.
> Så ville din streng pludselig være:
> 79, 899
> Sååå, måske skulle du overveje at f.eks. sætte , både før det første tal
og
> efter det sidste, og så lave:
> session("variabelnavn") = Replace(session("variabelnavn"), "," &
> intTalAtFjerne & ",", ",")
Yep, det var kode skudt fra hoften, der var en fejl. Din løsning retter den.
> Når du skal lave dit array skal du så bare se bort fra det første og det
> sidste tegn.
> Hvorfor virker dette forresten kun ved tal ? Det kan jeg ikke lige se.
Det er ikke så godt hvis de værdier man putte ind kan indeholde komma, så
vil Split funktionen ikke virke efter hensigten.
Man kan komme udenom problemerne (også uden hack), men det tager en del
kodning og så bliver spørgsmålet om det ikke bedre kan betale sig at arbejde
med rigtige Arrays, købe sig til et Both-threaded dictionary objekt, proppe
session data i en database (og fx benytte dictionary objektet på sidescope,
det gør opslag noget nemmere) eller noget helt fjerde.
MVH
Allan Ebdrup
www.ti-fire.dk
| |
|
|