Estoy haciendo un generador de numeros y letras para q salgan al hazar.Las a puesto un timer para q se generen solos,pero el problema es q siempre genera los mismos.Mi codigo es este
Private Sub Command1_Click()
With Text1
.Text = "": .Tag = 1
While .Tag <= 14
.Text = .Text & Int((9 * Rnd) + 1) ' Genera un valor aleatorioentre el 1 y el 9
.Tag = .Tag + 1
Wend
End With
End Sub
Private Sub Timer1_Timer()
Call Command1_Click 'interval 20'
End Sub
Private Sub Timer2_Timer()
Timer1.Enabled = False
Timer2.Enabled = False 'interval 5000'
End Sub
como puedo hacer para q no me genere siempre los mismos numeros?? Como puedo añadirle letras?
Gracias
El de los numeros es muy simple...para hacer el de letras puedes hacer dos cosas:
1. Hacer un case incluyendo todas las letras que quieras
2. Pasar el ejemplo que te voy a poner, en vez de salirte el numero, que te salga como ascii "equivalencia"
Te pondre la primera...si te interesa la segunda, me lo dices y te lo codeo.
'Numeros y letras aleatorias by BenRu
Private Sub Command1_Click()
Dim Num As Byte
Num = Int(255 - 1) * Rnd + 0
Text1.Text = Num
End Sub
Private Sub Command2_Click()
Dim AlgorritmoLetra As Integer
Dim AlgorritmoLetra2 As String
AlgorritmoLetra = Int((4 * Rnd) + 1) 'Cambia el 4 por el numero de Case que vallas a poner
Select Case AlgorritmoLetra
Case 1
AlgorritmoLetra2 = "a"
Case 2
AlgorritmoLetra2 = "b"
Case 3
AlgorritmoLetra2 = "c"
Case 4
AlgorritmoLetra2 = "d"
End Select
Text2.Text = AlgorritmoLetra2
End Sub
Private Sub Form_Load()
Randomize
End Sub
me gusta el code,pero no hay una forma de unir los numeros con las letras en el mismo textbox??
otra cosa.Hay alguna posibilidad de q se repitan las cadenas generadas?
porq no quiero q se repitan
Cita de: bautistasbr en 11 Julio 2006, 10:39 AM
me gusta el code,pero no hay una forma de unir los numeros con las letras en el mismo textbox??
Donde estan los Case tambien puedes meter numeros, signos o lo que quieras.
Citarotra cosa.Hay alguna posibilidad de q se repitan las cadenas generadas?
Si, simplemente son numeros aleatorios
no hay alguna forma para q salgan todas a la vez pero tambien con orden aleatorio?
Hola
Como tú entenderás para obtener números aleatorios no se hace "magia". Hay un algoritmo que calcula los números.
Ese algoritmo calcula los números basándose en algo. Si parte de la misma base obtiene los mismos números. Por eso debes decir que para hacer el algoritmo parta de algo diferente cada vez.
La base numérica que se utiliza para partir el algoritmo se cambia con la orden randomize.
randomize (numero)
Si cambias de número cambias de valores. Con el mismo número siempre los mismos valores.
Por eso la costumbre suele ser partir del número de serie de la fecha o cualquier cosa semejante
randomize now
por ejemplo para que parta con el número correspondiente a la fecha/hora actual.
;D
os doy las gracias a todos por vuestros consejos.Me sirven de gran ayuda
Gracias