Avatar billede danm Nybegynder
04. september 2007 - 15:08 Der er 8 kommentarer og
1 løsning

RND (random) giver mig de samme tal hele tiden

Jeg har lidt et problem med rnd funktionen til at finde tilfældige tal...
De tilfældige tal bliver fundet i en forms load event, og der skal findes 3 forskellige tal mellem 1 og 16. Problemet er blot at jeg får altid tallene: 13,09,10...
Jeg bruger kommandoen:

Dim nr as integer
Nr= Rnd * 16

Nogen der kender en bedre metode?
Avatar billede erikjacobsen Ekspert
04. september 2007 - 15:14 #1
Skitse:
randomize()  ' kun een gang
for i=1 to 3
  vælg tal
Avatar billede thesurfer Nybegynder
04. september 2007 - 15:48 #2
Som erikjacobsen skriver, sker det typisk fordi man bruger randomize flere gange..

Eksempel der giver samme tal:

for i = 1 to 3
randomize()
nr = rnd * 16
' gør et eller andet med nr
next


Eksempel der giver forskellige tal:

randomize()
for i = 1 to 3
nr = rnd * 16
' gør et eller andet med nr
next

Den eneste forskel er, at randomize() er flyttet uden for loopen, så den kun bliver afviklet 1 gang.
Avatar billede erikjacobsen Ekspert
04. september 2007 - 15:55 #3
Og i spørgerens tilfælde fordi randomize() slet ikke er blevet kaldt.

Det er faktisk sommetider godt at kunne få de samme "tilfældige" tal hver gang. Hvis man fx aftester et program, kan man genskabe præcis samme opførsel, hvis det er deterministisk hvilke tal, der kommer. Men det er en vist ikke relevant her.
Avatar billede danm Nybegynder
04. september 2007 - 16:02 #4
Hm.. Jeg vidste faktisk ikke noget om funktionen randomize()...
Hvad gør den??
Avatar billede thesurfer Nybegynder
04. september 2007 - 16:11 #5
Man plejer at sige, at randomize() "ryster posen" med værdierne.. :-)
Avatar billede danm Nybegynder
04. september 2007 - 20:49 #6
Udemærket, Det hjælp at bruge kommandoen randomize...
Smid endelig svar begge to
Avatar billede erikjacobsen Ekspert
04. september 2007 - 20:57 #7
Jeg samler slet ikke på point, tak.
Avatar billede thesurfer Nybegynder
04. september 2007 - 22:38 #8
danm>

Da erikjacobsen kom med løsningen, og erikjacobsen ikke samler på points, snupper du bare selv pointsne..

Smid et svar, marker dit navn i boksen til venstre, og klik derefter på Accepter-knappen..
Avatar billede danm Nybegynder
05. september 2007 - 12:58 #9
Jamen så skal i da bare have et stort tak for hjælpen istedet.. (o=
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