Foros del Web » Programación para mayores de 30 ;) » Programación General »

elegir letras aleatoriamente

Estas en el tema de elegir letras aleatoriamente en el foro de Programación General en Foros del Web. Hola! Como puedo elegir letras (entre A y Z) de modo aleatorio? He intentado utilizar la función Rnd del siguiente modo: intNum = Int((Rnd * ...
  #1 (permalink)  
Antiguo 20/10/2004, 11:50
 
Fecha de Ingreso: enero-2003
Ubicación: A Coruña
Mensajes: 76
Antigüedad: 21 años, 10 meses
Puntos: 0
Busqueda elegir letras aleatoriamente

Hola!
Como puedo elegir letras (entre A y Z) de modo aleatorio?
He intentado utilizar la función Rnd del siguiente modo:
intNum = Int((Rnd * 64) + 1)
strLetra = CStr(intNum)
pero asi solo paso el numero devuelto a una cadena.
Tambien he probado del siguiente modo:
strLetra = Str((Rnd * 65) + 1)
con resultados practicamente iguales.
Podeis ayudarme con esto?
Gracias!!
  #2 (permalink)  
Antiguo 20/10/2004, 12:46
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Evaantelo:

Usa esto:
Código:
strLetra = Chr$(Int(Rnd * 26) + 65&)
Saludos
  #3 (permalink)  
Antiguo 21/10/2004, 06:03
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 20 años, 3 meses
Puntos: 13
Proba con Randomize

Acordate antes de cada Rnd, en la línea anterior, de usar Randomize.
Esto es textual del MSDN

Randomize usa número para iniciar el generador de números aleatorios de la función Rnd, asignándole un nuevo valor de semilla. Si se omite número, el valor devuelto por el reloj del sistema se usa como nuevo valor de semilla.
Si no se usa Randomize, la función Rnd (sin argumentos) usa el mismo número como semilla la primera vez que se llama y, a partir de ese momento, usa el último número generado como valor de semilla.

El siguiente ejemplo muestra el uso de la instrucción Randomize:

Dim MiValor, Respuesta
Randomize ' Inicia el generador de números aleatorios.

Do Until Respuesta = vbNo
MiValor = Int((6 * Rnd) + 1) ' Genera un valor aleatorio entre 1 y 6.
MsgBox MiValor
Response = MsgBox ("¿Volver a girar? ", vbYesNo)
Loop
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:34.