Se repite...

Iniciado por CAR3S?, 30 Diciembre 2010, 12:11 PM

0 Miembros y 1 Visitante están viendo este tema.

CAR3S?

Hola!

estoy usando este codigo :

x = Int(Rnd * 6)

me da decimales entre 0 y 6.

si yo uso por ejemplo

msgbox x, x, x,x

Voy a suponer que voy a obtener 4 numeros entre 0 y 6 distintos.
Pero no! (Muy obvio), ya que X vale un numero entre 0 y 6 , pero YA LO VALE, no cambia!.

Lo que yo necesito es que cambie :S:S:S

Alguien me dice como se hace?

GL!

edit: tendria que crear un bucle para que se repita la funcion y vuelva a dar valor.. alguna idea¿

Novlucker

Eso mismo lo han preguntado hace unos días (sin tener en cuenta que se ha respondido muuuuchas veces), busca sobre Randomize

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

79137913

HOLA!!!

Mmm, creo que primero, cuando usas RND es preferible poner Randomize

Tomando tu codigo haria esto:
Suponiendo que no queres guardar los numeros que salgan:
Código (vb) [Seleccionar]
Private Sub Msgbox_aleatorio()
   Randomize
   Msgbox Int(Rnd * 6), Int(Rnd * 6), Int(Rnd * 6),Int(Rnd * 6)
End Sub


Suponiendo que queres guardar los numeros que salgan:
Código (vb) [Seleccionar]
Private Sub Msgbox_aleatorio()
   Dim X(3) as integer
   Randomize
   For y = 0 To 3
       X(y) = Int(Rnd * 6)
   Next
   msgbox X(0),X(1),X(2),X(3)
End Sub


GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

CAR3S?

#3
Miren, psa esto...

yo toco un boton, se establece el "Azar", y se edita un .txt remplazando la letra X por el numero al azar... por mas que use Randomize , la letra o numero q seria Azar sigue siendo la misma...

entonces, en el txt se remplazan todas las X por el mismo numero.
pero si toco 2 veces el boton, se remplazan las X por otro numero (Pero son todos iguales)

ABDERRAMAH

Se me ocurre: haz un timer con cierto retardo que genere uno de los números a sustituir cada vez y lo añada.

79137913

#5
HOLA!!!

Mira, no se si leiste el segundo ejemplo que te escribi, o si lo entendiste...

Solucion:Mas abajo

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

CAR3S?

Sigue remplazando la X por el mismo numero.. Hay muchas X en el texto!, y las reemplaza por el mismo numero... M explico?

Novlucker

No, no te explicas, aún no hemos visto el código que dices estar usando :rolleyes:
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

CAR3S?

Código (vb) [Seleccionar]
sBuscar = "x"
    Randomize
    sPoner = Str(Int(Rnd * 6))



despues de eso se crea el txt.... balbal

79137913

#9
HOLA!!!

Solucion:

Código (vb) [Seleccionar]
Private Function Reemplazar_Aleatorio(Texto_orig As String, caracter_a_sustituir As String)
Randomize
For x = 1 To Len(Texto_orig)
   If Mid(Texto_orig, x, 1) = caracter_a_sustituir Then
       Texto_orig = Mid(Texto_orig, 1, x - 1) & Int(Rnd * 6) & Right(Texto_orig, Len(Texto_orig) - x)
   End If
Next
Reemplazar_Aleatorio = Texto_orig
End Function

Private Sub Form_Load()
texto_nuevo = Reemplazar_Aleatorio("holax, comox andax", "x")
Debug.Print texto_nuevo
End Sub



GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*