Me Bota error al querer escojer el nombre radom este es el code quiero escojer uno de esos 4 nombres ramdom pero no me lo da :vl si me pudieran ayudar aque me lo bote radom[code]Public Class Form1
Dim pool As String = ""
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
pool = ""
If CheckBox2.Checked = True Then
pool = pool & "Pedro"
pool = pool & "Pablo"
pool = pool & "Juan"
pool = pool & "Jose"
End If
Dim count = 0
Result.Text = ""
Dim cc As New Random
Dim strpos = ""
End While
[/code]
Una idea sería asignar a cada nombre un ID, y crear una función que generase un integer aleatorio comprendido entre n1-n2.
El código que muestro a continuación es una adaptacción del código de Guille. Échale un ojo para profundizar en la generación de aleatorios.
http://www.elguille.info/NET/dotnet/random_Next.aspx
Option Strict On
Imports Microsoft.VisualBasic
Imports System
Module Module1
Dim semilla As Integer
Dim rnd As Random
Sub Main()
Dim num As Integer
semilla = CInt(DateTime.Now.Ticks)
' Para que funcione Ticks
' debes quitar la comprobación de desbordamiento de enteros
' en las propiedades del proyecto, ficha compilación, opciones avanzadas
rnd = New Random(semilla)
For i As Integer = 1 To 10
num = numeroaleatorio()
Console.WriteLine("{0:00} {1}", i, num)
Next
Console.WriteLine()
Console.WriteLine("Pulsa una tecla")
Console.ReadKey()
End Sub
Function numeroaleatorio() As Integer
Dim integro As Integer
' Prueba 1:
' El valor debe ser un integer válido,
' desde el numero 1
' hasta la numero 4
integro = (rnd.Next(1, 5))
' Devolvemos el integer generado
Return integro
End Function
End Module
End Module
El millon seran las incognitas que tiene sobre basic :D
Hola
Vendría bien que explicaras que es lo que quieres hacer exáctamente, porque sólamente con el código no siempre basta. La verdad a mi no me queda claro. Me da la impresión que lo que quieres es obtener esos nombre de forma aleatoria.
A ver si este código te sirve:
Dim X As Int32 = 0
Dim N(0 To 3) As String
Randomize() 'Evita que cada vez que se inicie la apliación se obtenga el mismo random
N(0) = "Pedro"
N(1) = "Pablo"
N(2) = "Juan"
N(3) = "Jose"
Result.Text = ""
pool = ""
X = Int(Rnd() * 4) 'Obtiene números aleatórios del 0 al 3
If CheckBox2.Checked = True Then
pool = pool & N(X)
End If
Result.Text = pool