Escojer nombres ramdom

Iniciado por pablomillon, 18 Abril 2015, 20:07 PM

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

pablomillon

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]

josprou

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

pkj

El millon seran las incognitas que tiene sobre basic :D

okik

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:

Código (vbnet) [Seleccionar]

           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