Visual Basic - Números aleatorios

Life is soft - evento anual de software empresarial
 
Vista:

Números aleatorios

Publicado por Miguel (243 intervenciones) el 03/01/2001 00:00:00
Necesito hacer un programa que me de un número aleatorio entre dos números dados.Hasta aqui bien.Pero cada número nuevo que el programa me de no tiene que haber salido antes.He probado de ir grabando los números nuevos en una tabla y en el momento que el programa da un número que está en esa tabla es cuando viene el problema.

Utilizo esta función
Dim MyValue
Randomize
MyValue = Int((Val(Text2.Text) - Val(Text1.Text) + 1) * Rnd + Val(Text1.Text))
Text3.Text = MyValue

Hay alguna manera de hacerlo?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Números aleatorios

Publicado por Neon R/T (35 intervenciones) el 03/01/2001 00:00:00
Yo conosco un truquito sacado del "Guille" que hace bien eso de los numeros aleatorios y casi nunca falla.

Create un nuevo Form e inserta un CommandButton y un ListBox. Escribe esto en evento click del CommandButton:

Dim iNum As Integer

Randomize Time

iNum = Int(Rnd * 20)

List1.AddItem iNum




Ya. Esto hace que aparescan numeros aleatorios entre el 1 y el 19(nunca el 20). Si quieres que salga el 20 por ejemplo, reecribe la linea asi:

iNum = Int(Rnd * 20) + 1


Puedes cambiar el 20 por lo que sea. Tambien he utilizado la funcion Int, para que corte los decimales. Si quieres que aparezcan decimales, no escribas el Int:

iNum = Rnd * 20


Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Números aleatorios

Publicado por Rosa (3 intervenciones) el 03/01/2001 00:00:00
Supongo que esa funcion es porque quieres que se haga una operacion con el numero aleatorio, sino no entiendo porque no generas el numero directamente. La idea de meterlos en una tabla es la que debes usar para controlar la no repeticion
lo que has de hacer es que cada vez que se genere un numero se recorra la tabla, si lo encuentra repite la creacion del numero aleatorio, sino lo añades a la tabla, si no sabes la cantidad de numeros que necesitaras crea la tabla redimensionable. Si te hace falta codigo me escribes y te lo mando o te reviso el que tengas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Números aleatorios revisalo

Publicado por karen (1 intervención) el 15/06/2007 18:15:48
solo queremos que salgan numeros aleatorios excepto el 0.

Private Sub tmrproceso_Timer()
Randomize
If p5.Visible = True Then
If VP4.Caption <> "" Then
VP5.Caption = Int(10 * Rnd)
ap5 = Int(9 * Rnd) + 3
tmrproceso.Interval = 0
cmdaceptar.Visible = True
cmdautor.Visible = True
Exit Sub
End If
If VP3.Caption <> "" And VP5.Caption = "" Then
VP4.Caption = Int(10 * Rnd)
ap4 = Int(9 * Rnd) + 2
End If
If VP2.Caption <> "" And VP4.Caption = "" Then
VP3.Caption = Int(10 * Rnd)
ap3 = Int(9 * Rnd) + 2
End If
If VP1.Caption <> "" And VP3.Caption = "" Then
VP2.Caption = Int(10 * Rnd)
ap2 = Int(9 * Rnd) + 2
End If
If VP1.Caption = "" Then
VP1.Caption = Int(10 * Rnd)
ap1 = Int(9 * Rnd) + 4
End If
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar