Foros - Stratos

Stratos => General => Mensaje iniciado por: sebastianarroyo en 30 de Junio de 2006, 01:24:36 AM

Título: Randomize en Visual Basic
Publicado por: sebastianarroyo en 30 de Junio de 2006, 01:24:36 AM
Hola, necesito ayuda con esto.
Existe la posibilidad que randomize no me vuelva a elegir el musmo numero aleatorio ?
Utilizo esto para crea un numero a la zar

Randomize Timer
au2 = Int(Rnd * MSFlexGrid3.Rows)

la idea es que "au2" no sea repita.

Gracias
Sebastian
Título: Randomize en Visual Basic
Publicado por: [EX3] en 30 de Junio de 2006, 01:39:03 AM
Esta seria la forma correcta de implementar un generador de numeros aleatorios en Visual Basic 6:

Public Function MATH_Rand(ByVal Max As Single, ByVal Min As Single) As Single
   Randomize    
   MATH_Rand = (Max - Min + 1) * Rnd + Min

End Function

De esta forma, sin pasarle argumento a la instruccion Randomize, habra escasas probabilidades de que se repita la secuencia, pero aun asi es dificil impedir la repeticion de los numeros.

Salu2...
Título: Re: Randomize en Visual Basic
Publicado por: Vicente en 30 de Junio de 2006, 07:23:56 AM
Cita de: sebastianarroyoHola, necesito ayuda con esto.
Existe la posibilidad que randomize no me vuelva a elegir el musmo numero aleatorio ?
Utilizo esto para crea un numero a la zar

Randomize Timer
au2 = Int(Rnd * MSFlexGrid3.Rows)

la idea es que "au2" no sea repita.

Gracias
Sebastian

Si no quieres que se repita, apunta los números que ya has generado y si sale uno de esos números vuelves a generarlo. Pero si no no existe forma de que por casualidad no te salga el mismo número (dependerá del máximo número posible de números que puedas generar).

Un saludo!

Vicente