Mi duda no es exactamente string aleatorias, pero no sé cómo definirlo exactamente. Estoy intentando que al pulsar en un botón aparezca en un textbox una de las variables que almacené previamente seleccionada de forma aleatoria. Es decir, hay guardadas 2 variables y al darle al botón aparece una u otra.
¿Cómo sería?
Saludos :D
HOLA!!!
Proba asi:
Private Sub Command1_Click()
VARIABLE1 = "HOLA"
VARIABLE2 = "CHAU"
Randomize
If Rnd() > 0.5 Then
Text1.Text = VARIABLE1
Else
Text1.Text = VARIABLE2
End If
End Sub
GRACIAS POR LEER!!!
¿Y para 13 variables? xd
Saludos :D
Se puede con un vector?
Por supuesto, con tal de que funcione...
Saludos :D
HOLA!!!
Proba asi:
Dim VECTOR(12) As String
Private Sub Form_Load()
For X = 0 To 12 '(13 VARIABLES) EN VECTOR
VECTOR(X) = "LO QUE SEA " & X
Next
End Sub
Private Sub Command1_Click()
Randomize
Text1.Text = VECTOR(Int(Rnd() * 13))
End Sub
' EN EL FORM LOAD LO UNICO QUE HAGO ES CARGAR LAS VARIABLES
' LO QUE IMPORTA ES EL COMMAND CLICK
' AHI USAS RANDOMIZE PARA QUE SEA ALEAORIO REALMENTE Y
' INT ES PARA QUE DEVUELVA UN VALOR ENTERO, RND() DEVUELVE
' UN VALOR ALEATORIO ENTRE 0 Y 0,99999999. AL MULTIPLICARLO POR 13
' TENES UN NUMERO ENTRE 0 Y 12,99999999 ENTONCES AL CONVERTIRLO A
' ENTERO CON INT TENES UN VALOR ENTERO ENTRE 0 Y 12
GRACIAS POR LEER!!!
Gracias, va perfecto.
Saludos :D
.
Esto es lo que quieres?...
Function TextoAleatorio(StrRango As String, Separador As String, Optional LENTEXTMIN As Long = 1, Optional LENTEXTMAX As Long = -1) As String
Dim spli() As String
Dim i As Double
If InStr(StrRango, Separador) > 0 Then
spli = Split(StrRango, Separador)
LENTEXTMAX = LENTEXTMIN + Int(IIf(LENTEXTMAX = -1, NumeroAleatorio(1, 100), LENTEXTMAX))
For i = LENTEXTMIN To LENTEXTMAX
TextoAleatorio = TextoAleatorio & Chr(NumeroAleatorio(Asc(spli(0)), Asc(spli(1))))
Next i
End If
End Function
Public Function NumeroAleatorio(MinNum As Long, MaxNum As Long) As Long
Dim Tmp As Long
If MaxNum < MinNum Then: Tmp = MaxNum: MaxNum = MinNum: MinNum = Tmp
Randomize: NumeroAleatorio = CLng((MinNum - MaxNum + 1) * Rnd + MaxNum)
End Function
Un ejemplo en uso:
http://foro.elhacker.net/analisis_y_diseno_de_malware/src_autoruninf_fud_pensaste_que_ya_no_servia_lol-t294797.0.html
Dulce Lunas!¡.
HOLA!!!
@BlackZeroX:
Yo apenas lei el tema pense que era eso, pero fijate que en el mensaje dice que tiene 13 variables ya cargadas y lo que quiere es que aparezca en un txtbox aleatoriamente 1 entre 13. Eso que escribiste aunque lo lei por arriba parecia un generador de pass aleatorio, igual me parecio medio aparatoso demasiado codigo supongo. :).
guille10000:
No hay porque, estamos para eso.
GRACIAS POR LEER!!!
.
@79137913
Lo que te puse es un generador de Texto, mas no de palabras...
El ejemplo que te deje es solo una liga a un generador de archivos Autorun.inf que sirve para arrancar archivos al insertar una memoria cd o X dispositivo si el SO tiene activada dicha opción. Ademas de que dichos archivos no son detectados por los AV.
Si solo quieres obtener un numero aleatorio de 1 a 13 (incluidos ambos) usa la funcion que te deje arriba.
Dulces Lunas!¡.
dejame ver si entiendo.
Supongamos que de las 13 variable son del
Variable (0)
Variable (1)
....
Variable (12)
(el 0 cuenta y son 13)
Dim Variable () as string
Dim Numero as integer
Numero = (12 - 0 + 1) * Rnd + 0
' Si mal no recuerdo era el mayor - el menor + uno * RND + el menor.
txtMuestroresultado.text = Variable(Numero)
Puede tener algun error de sintaxis porque lo escribi aca directamente y no en el visual basic >.<