/ 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
Rnd skifter ikke
Fra : Tonni Rasmussen


Dato : 19-08-07 00:40

Hej NG håber I kan hælpe

Jeg skal bruge ca. 20 tilfældige tal og bogstaver.

Jeg har derfor lavet denne lille kode, som jeg ville mene burde
løse opgaven.

<%
dim arrMappenavn, q, strMappenavn

arrMappenavn = Split(",a,b,c,[...],6,7,8,9",",")

for q = 1 to 20
strMappenavn = strMappenavn & arrMappenavn(int(Rnd*35+1))
Next

Response.write strMappenavn
%>

Problemet er at det hele tiden er de samme 20 tilfælde tal eller
bogstaver den tager, nemlig: "xqrkk1az2xbn31m63b6l"

Er det mig der totalt har misforstået rnd funktionen, eller hvad
sker der?

Se denne side: www.tonnihr.dk/asptest
Jeg ville tro at hver gang siden blev genindlæst, skulle der
dannes 20 nye bogstaver og tal. Hvor sker det ikke?

Venlig hilsen Tonni H Rasmussen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Philip Nunnegaard (19-08-2007)
Kommentar
Fra : Philip Nunnegaard


Dato : 19-08-07 04:16

> for q = 1 to 20
> strMappenavn = strMappenavn & arrMappenavn(int(Rnd*35+1))
> Next

Prøv at sætte randomize ind.

for q = 1 to 20
randomize
strMappenavn = strMappenavn & arrMappenavn(int(Rnd*35+1))
next


Tonni Rasmussen (19-08-2007)
Kommentar
Fra : Tonni Rasmussen


Dato : 19-08-07 07:55

> Prøv at sætte randomize ind.
>
> for q = 1 to 20
> randomize
> strMappenavn = strMappenavn & arrMappenavn(int(Rnd*35+1))
> next

Nu virker det efter hensigten, tak
Det var nok bare mig der ikke forstod Rnd funktionen.
Skal Rnd altid bruges sammen med randomize?

Venlig hilsen Tonni H Rasmussen


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Rune Jensen (19-08-2007)
Kommentar
Fra : Rune Jensen


Dato : 19-08-07 08:20

"Tonni Rasmussen" skrev i en meddelelse...

> Skal Rnd altid bruges sammen med randomize?

Måske dette kan hjælpe...?
http://www.w3schools.com/vbscript/func_rnd.asp


MVH
Rune Jensen



Tonni Rasmussen (19-08-2007)
Kommentar
Fra : Tonni Rasmussen


Dato : 19-08-07 09:46

> Måske dette kan hjælpe...?
> http://www.w3schools.com/vbscript/func_rnd.asp

Tak så ved jeg det. Artiklen beskriver jo lige netop det problem
jeg var stødt ind i.

Jeg vender nok snart tilbage til nyhedsgruppen, for jeg er i gang
med et stort projekt. Nok lidt større end mine evner rækker til,
men så er det jo godt med en nyhedsgruppe som denne.

Venlig hilsen Tonni H Rasmussen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Poul Kelså (19-08-2007)
Kommentar
Fra : Poul Kelså


Dato : 19-08-07 14:49

Tonni Rasmussen wrote in
dk.edb.internet.webdesign.serverside.asp:
> > Prøv at sætte randomize ind.
> >
> > for q = 1 to 20
> > randomize
> > strMappenavn = strMappenavn & arrMappenavn(int(Rnd*35+1))
> > next
>
> Nu virker det efter hensigten, tak
> Det var nok bare mig der ikke forstod Rnd funktionen.
> Skal Rnd altid bruges sammen med randomize?
>
> Venlig hilsen Tonni H Rasmussen
>
>
Hej Tonni
En EDB-maskine er i bund og grund kun en regnemaskine. For dum
til at lave et tilfældigt tal. I stedet laves en kompliceret
beregning på et udgangstal. Som så gemmes til næste rnd. Dog kun
indtil programmet kaldes påny.
Ved randomize kaldes rnd med klokkeslet som udgangstal.
Uden bruges 0 som udgangstal. Derfor den samme række.

Mvh. Poul Kelså

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Philip Nunnegaard (19-08-2007)
Kommentar
Fra : Philip Nunnegaard


Dato : 19-08-07 19:44

> Ved randomize kaldes rnd med klokkeslet som udgangstal.
> Uden bruges 0 som udgangstal. Derfor den samme række.

Tak for dén forklaring.
Det har nemlig også undret mig, fordi det var lige modsat på min gamle
ZX-Spectrum.


Poul Kelså (20-08-2007)
Kommentar
Fra : Poul Kelså


Dato : 20-08-07 02:59

Philip Nunnegaard wrote in dk.edb.internet.webdesign.serverside.asp:

> Tak for dén forklaring.
> Det har nemlig også undret mig, fordi det var lige modsat på min gamle
> ZX-Spectrum.
>

ZX-Spectrum var da en sjov lille maskine (havde selv en engang). Den
huskede noget og glemte andet.
Skulle nogen have interesse kan jeg sikkert finde sourcen til hvordan
random beregnes (i C fra årgang 1995). Generelt kan siges at RND
molestrerer et givet tal mellem 0 og 1 til et nyt tal mellem 0 og 1 (som
så gemmes i hukommelsen).
Startes RND uden forudgånde RANDOMIZE ligger tallet 0 i hukommelsen.
RANDOMIZE bruger klokkeslet (uvist hvor præcist, men mindst ned til
tiende-dele sekund) til at lave et nyt udgangstal i hukommelsen.
Problemet er naturligvis at når programmet (sitet) genstartes har
hukommelsen glemt tallet i hukommelsen (sat det til 0). Derfor bruges
RANDOMIZE altid før RND.

Med venlig hilsen

Poul


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

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

Månedens bedste
Årets bedste
Sidste års bedste