Visual Basic.NET - Random Numerico Con Lista Predeterminada

 
Vista:
Imágen de perfil de Davidms
Val: 26
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Davidms (14 intervenciones) el 17/03/2019 20:30:51
Buenas Tarde:
Compañeros Mi Consulta y ayuda es la Siguiente.... Como Puedo desarrollar un Form o el código para que de determinada lista de números ya previa mente Ingresados, por medio de un comanbutton al presionar me muestre algún numero de la Lista en un Textbox...

e usado este código:

Dim Random As New Random()
' generar un random entre 00 y 99
Dim numero1 As Integer = Random.Next(0, 100)
A1.Text = (numero1)

lo malo como ven es que la lista ba del 00 al 99

como explique lo que deseo es que el random lo haga apartir de una lista previa mente ingresada...osea de una lista alojada en DB y mostrada en un datagriw

espero me puedan orientar gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Phil Rob (1554 intervenciones) el 17/03/2019 21:42:28
Hola,
Comprendo que tome un dato eligido aleatoriamente desde una lista.
¿es corecto?
En este caso,
1
2
NumeroFila = (Now.Millisecond Mod LaLista.Rows.Count) 	'  Aleatoriamente de 0 a Numero de las lineas en DataGridView
NumeroFila = (Now.Millisecond Mod LaLista.Items.Count) 	'  Aleatoriamente de 0 a Numero de las lineas en ListBox

Si no comprendo tu pregunta, quizás un imagen de las listas y de los numeros utilizado podian me informar.

Espero te dar una idea ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Davidms
Val: 26
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Davidms (14 intervenciones) el 17/03/2019 23:50:48
gracias por tomar su tiempo compañero en ayudar con mi necesidad:
como lo enfocas es como lo ocupo... solo que pasa lo siguiente....

random


si vez la foto es lo siguiente... el datagrid tiene un ejemplo del 0 al 10 (la lista en la que voy a trabajar es del 0 al 99)
cuento con 9 textbox los cuales cuando presione el botón (Random Numerico) el va a tomar números aleatorios de la lista interna del datagrid
y ba a mostrar un numero diferente en cada textbox sin repetirlo


has de cuentas que es como un programa de lotería.. donde hay del 0 a 99 bolitas donde bas a sacar de esa lista 9 bolitas
la base del datagrid viene hacer...un analicis previo de los numeros que salen mas o menos... la cual con base a eso se hace el random

espero haberme explicado y gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Phil Rob (1554 intervenciones) el 18/03/2019 10:19:48
Hola,

Asi, comprendo bien. Tienes que tome un dato eligido aleatoriamente desde una lista, pero tienes hacer 9 veces.
Los codigos que envo ayer estan correctos para esta, excepto el codigo que da aleatoriamente los numeros, mejor es :
1
2
3
4
5
Dim IndiceDeLaLinea As Integer
        For i As Integer = 0 To 8
            IndiceDeLaLinea = Microsoft.VisualBasic.Rnd() * 99
            ' Utilizar ListBox1.Items( IndiceDeLaLinea )  ''' pero porque no poner directo en los TextBox ????
        Next
Supuesto que es una ListBox, si es una DataGridView con una sola colona, tiens que reemplazar ListBox1.Items( IndiceDeLaLinea ) para DataGridView.Item(0, IndiceDeLaLinea).Value.
Para no tener duplicos, esta codigo es bueno :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim MisNumeros(9) As Integer
        Dim IndiceMisNumeros As Integer = 0
        Dim IndiceDeLaLinea As Integer
        Dim CuantoNumeroBuscar As Integer = 0
        Dim i As Integer
        Microsoft.VisualBasic.Randomize(Now.Millisecond)
        While CuantoNumeroBuscar < 9
            IndiceDeLaLinea = Microsoft.VisualBasic.Rnd() * 9
            For i = 0 To IndiceMisNumeros - 1
                If MisNumeros(i) = IndiceDeLaLinea Then
                    Exit For
                End If
            Next
            If i = IndiceMisNumeros Then
                MisNumeros(IndiceMisNumeros) = IndiceDeLaLinea
                IndiceMisNumeros += 1
                CuantoNumeroBuscar += 1
                ' Utilizar ListBox1.Items( IndiceDeLaLinea )
            End If
        End While
Gracias por diceme como esta functiona ...
Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Phil Rob (1554 intervenciones) el 18/03/2019 12:32:48
Continuación ...

Para hacer el trabajo sin ListBox ni DataGridView, directo en los 9 texBox :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Dim MisNumeros(8) As Integer
Dim IndiceMisNumeros As Integer = 0
Dim IndiceDeLaLinea As Integer
Dim CuantoNumeroBuscar As Integer = 0
Dim i As Integer
Microsoft.VisualBasic.Randomize(Now.Millisecond)
While CuantoNumeroBuscar < 9
    IndiceDeLaLinea = Microsoft.VisualBasic.Rnd() * 99
    For i = 0 To IndiceMisNumeros - 1
        If MisNumeros(i) = IndiceDeLaLinea Then
            Exit For
        End If
    Next
    If i = IndiceMisNumeros Then
        MisNumeros(IndiceMisNumeros) = IndiceDeLaLinea
        IndiceMisNumeros += 1
        CuantoNumeroBuscar += 1
    End If
End While
TextBox1.Text = MisNumeros(0)
TextBox2.Text = MisNumeros(1)
TextBox3.Text = MisNumeros(2)
TextBox4.Text = MisNumeros(3)
TextBox5.Text = MisNumeros(4)
TextBox6.Text = MisNumeros(5)
TextBox7.Text = MisNumeros(6)
TextBox8.Text = MisNumeros(7)
TextBox9.Text = MisNumeros(8)

Saludos ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Davidms
Val: 26
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Davidms (14 intervenciones) el 18/03/2019 19:20:25
buenos días:
compañero excelente tu ayuda.. me quedan varias dudas...


1- el código para hacer sin listbox y sin datagrid funciona perfecto (pero el aleatorio necesito hacerlo con lista ya cargada) no puedo hacerlo quemado desde el fuente... entonces el random tiene que venir de una lista ya ingresada previa mente la cual va a mostrar el datagird

2- no entiendo muy bien el código para usar con el datagrid y mostrar en los textbox,.... el codigo quedaria asi dentro de un comanbuton? adjunto imagen...

con los listbox no me llevo... por eso lo estoy programando bajo un datagrid conectado a un ODB con la base numerica

te mando mi proyecto haber si me puedes ayudar... cuando ejecutes el programa metes los numeros manuales en el datagrid y que luego al precionar random los muestre aleatoria mente en los textbox sin repetirlos

gracias por toda tu ayuda y tiempo que dedicas



lop
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Phil Rob (1554 intervenciones) el 18/03/2019 19:59:57
Hola,

En el procedimiento, cargo el DataGridView con una cicla "For", no manualmente ...
El procedimiento del boton carga los TextBox A1, ...

Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim MisNumeros(8) As Integer
        Dim IndiceMisNumeros As Integer = 0
        Dim IndiceDeLaLinea As Integer
        Dim CuantoNumeroBuscar As Integer = 0
        Dim i As Integer
        Microsoft.VisualBasic.Randomize(Now.Millisecond)
        While CuantoNumeroBuscar < 9
            IndiceDeLaLinea = Microsoft.VisualBasic.Rnd() * 99
            For i = 0 To IndiceMisNumeros - 1
                If MisNumeros(i) = IndiceDeLaLinea Then
                    Exit For
                End If
            Next
            If i = IndiceMisNumeros Then
                MisNumeros(IndiceMisNumeros) = IndiceDeLaLinea
                IndiceMisNumeros += 1
                CuantoNumeroBuscar += 1
            End If
        End While
        A1.Text = DataGridView2.Item(0, MisNumeros(0)).Value
        A2.Text = DataGridView2.Item(0, MisNumeros(1)).Value
        A3.Text = DataGridView2.Item(0, MisNumeros(2)).Value
        B1.Text = DataGridView2.Item(0, MisNumeros(3)).Value
        B2.Text = DataGridView2.Item(0, MisNumeros(4)).Value
        B3.Text = DataGridView2.Item(0, MisNumeros(5)).Value
        C1.Text = DataGridView2.Item(0, MisNumeros(6)).Value
        C2.Text = DataGridView2.Item(0, MisNumeros(7)).Value
        C3.Text = DataGridView2.Item(0, MisNumeros(8)).Value
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        DataGridView2.Columns.Add("LosNumeros", "")
        For i As Integer = 0 To 99      ' Cargar el DataGridView con numeros de 0 a 99
            DataGridView2.Rows.Add(i.ToString)
        Next
    End Sub
End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Davidms
Val: 26
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Davidms (14 intervenciones) el 18/03/2019 20:40:27
Excelente era lo que buscaba solo hago la conexion sting a los datos que carga el grid ODB
y me queda perfecto...era lo que ocupaba muchas gracias por su ayuda

eres un crack cualquier duda que me salga de camino sela interpongo muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Davidms
Val: 26
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Davidms (14 intervenciones) el 18/03/2019 22:12:09
Compañero estructurando el programa.. me surge esta duda

en la lista que levanta el datagrid habrán números que se repiten en dicha lista ejemplo

1
2
3
3
4
2
4
1
1

el random de la lista pre cargada muestre los numeros en los textbox pero sin repetirlos...
a la hora de presionar el random muestre números de dicha lista pero sin repetirlos
Podrías ayudarme

la base de datos esta en el proyecto la cual se coloca en el escritorio
Gracias por toda tu ayuda


lotooo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Phil Rob (1554 intervenciones) el 19/03/2019 16:53:20
Hola,

Dos pregruntas :

1. Comprendo que tienes que copiar la columna "Sorteo del dia", sin duplicados (o sin repetirlos), en el DataGridView. ¿Es corecto?
2. Penso que el DataGridView duebe mostrar una sola columna y no todo el base de datos. ¿Es corecto?

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Random Numerico Con Lista Predeterminada

Publicado por Giancarlo (488 intervenciones) el 20/03/2019 04:30:36
facil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dim numero as new list(of integer)
dim generado as new list(of string)
dim maximo as integer=21'numero a generar
 
for i as integer=1 to 100 'agregas los números
numero.add(i)
end for
 
for j as integer =1 to maximo
nRandom= random(del 0 al numero.count-1)'no recuerdo como se genera el random, pero debes generarlo entre el 0 y el número de elementos del list( numeros)-1
generado.add(numero(nRandom))
numero.removeat(nRandom) 'remover el elemento random que generaste
end for
 
'luego solo debes agregar la variable generado a textbox, listbox o como gustes

¿que hace el código?
generas o guardas los números en la variable numero, cada vez que generas un random que comprenda el número de elementos de la variable numero, agregará a la variable generado de acuerdo al indice de numero, el cual será el resultado, y como luego vas a eliminar el indice , no se van a repetir

creo que me enredé al explicarlo, pero funciona, además en la variable numero, de esta forma podrás poner los numeros en el orden que desees y no necesariamente ordenado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar