3.122 messaggi dal 16 maggio 2002
E' normale che la funzione Rnd (preceduta da Randomize) restituisca praticamente sempre 0? Voglio estrarre un numero casuale n compreso fra 0 e t-1, perciò ho scritto
Randomize
n=Int(Rnd*t).
A questo punto mi muovo di n posizioni all'interno di un recordset (partendo dall'inizio) e mostrando un'immagine il cui url è indicato in un campo del record selezionato. La pagina successiva non verrà estratto il numero casuale e verrà mostrata l'immagine indicata nel record successivo. Tramite l'incremento di un contatore (per ciascuna immagine) ogni volta che un'immagine esce, vedo che la prima immagine è la più vista e, a scalare, l'ultima è quella uscita di meno.
Così mi viene da pensare che la funzione Rnd restituisca molto spesso il valore 0 (muovendomi di 0 posizioni all'interno del recordset resto al primo record), poiché è l'unica condizione che annulla Int(Rnd*t) essendo t<>0.
Anche accedendo io stesso alla pagina più volte noto che la prima volta appare, nella maggior parte dei casi, la prima immagine.
Come si spiega questo? Come posso risolvere questo problema?

Jim Raynor
http://www.freestyler.it

Modificato - Raynor - 19 Mag 2002 00:40:36

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
calcola il range con MaxValue-Minvalue + 1 poi fai

int(rnd()*(range)+MinValue)

Ricordati di mettere all' inizio funzione "randomize"

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
45 messaggi dal 01 maggio 2002
...o per semplificare ancora di più:

Randomize Timer

x = Int ((((estremo superiore - estremo inferiore) + 1) * Rnd) + estremo inferiore)




3.122 messaggi dal 16 maggio 2002
Ho capito dov'è l'errore. La funzione Rnd va benissimo, la causa dell'errore che rilevavo sta da un'altra parte.
Grazie comunque per il vostro aiuto.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.