Autor
|
Tema: Pregunta Boba / como pasar registros desde un listbox a variables (Leído 8,984 veces)
|
luis456
Desconectado
Mensajes: 551
|
Pero no sería pasarlo a integer, sino crear una colección o matriz interpretando cada elemento de una cadena de texto distinto de " " como integer. De ahí el uso que le das de Split
Al parecer tiene dos códigos, uno que le pasé yo y otro el tuyo Elektro. El cual estará como lo acabas de poner. Y quiere usar los dos en el mismo proyecto
Eso mismo es lo que quiero ya que si no tendria que modificar todo lo que llevo en años
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
Lekim
Desconectado
Mensajes: 268
|
Lo que no entiendo es por qué no usas este otro código que te pasó Elektro y que modifiqué para 6 números y para que no hubieran correlativos. Todas las combinaciones: Dim intCol As New List(Of Integer)({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.OfType(Of Integer)) Dim pairsCol As IEnumerable(Of String) = Nothing pairsCol = From value1 As Integer In intCol From value2 As Integer In intCol From value3 As Integer In intCol From value4 As Integer In intCol From value5 As Integer In intCol Select String.Join(Environment.NewLine, ( From value6 As Integer In intCol Where (value1 <> value2) AndAlso (value1 <> value3) AndAlso (value1 <> value4) AndAlso (value1 <> value5) AndAlso (value1 <> value6) AndAlso (value2 <> value3) AndAlso (value2 <> value4) AndAlso (value2 <> value5) AndAlso (value2 <> value6) AndAlso (value3 <> value4) AndAlso (value3 <> value5) AndAlso (value3 <> value6) AndAlso (value4 <> value5) AndAlso (value4 <> value6) AndAlso (value5 <> value6) AndAlso (value2 > value1) AndAlso (value3 > value2) AndAlso (value4 > value3) AndAlso (value5 > value4) AndAlso (value6 > value5) Select String.Format("{0:00} {1:00} {2:00} {3:00} {4:00} {5:00}", value1, value2, value3, value4, value5, value6))) For Each pairs As String In pairsCol For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) ListBox1.Items.Add(line) Next line Next pairs
Combinaciones SIN todos los números correlativos Dim intCol As New List(Of Integer)({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.OfType(Of Integer)) Dim pairsCol As IEnumerable(Of String) = Nothing pairsCol = From value1 As Integer In intCol From value2 As Integer In intCol From value3 As Integer In intCol From value4 As Integer In intCol From value5 As Integer In intCol Select String.Join(Environment.NewLine, ( From value6 As Integer In intCol Where (value1 <> value2) AndAlso (value1 <> value3) AndAlso (value1 <> value4) AndAlso (value1 <> value5) AndAlso (value1 <> value6) AndAlso (value2 <> value3) AndAlso (value2 <> value4) AndAlso (value2 <> value5) AndAlso (value2 <> value6) AndAlso (value3 <> value4) AndAlso (value3 <> value5) AndAlso (value3 <> value6) AndAlso (value4 <> value5) AndAlso (value4 <> value6) AndAlso (value5 <> value6) AndAlso (value2 > value1) AndAlso (value3 > value2) AndAlso (value4 > value3) AndAlso (value5 > value4) AndAlso (value6 > value5) Select String.Format("{0:00} {1:00} {2:00} {3:00} {4:00} {5:00}", value1, value2, value3, value4, value5, value6))) For Each pairs As String In pairsCol For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) Dim Pattern As String = " " Dim Digito() As String Digito = System.Text.RegularExpressions.Regex.Split(line, Pattern) If CInt(Digito(1)) <> CInt(Digito(0)) + 1 Or CInt(Digito(2)) <> CInt(Digito(1)) + 1 Or CInt(Digito(3)) <> CInt(Digito(2)) + 1 Or CInt(Digito(4)) <> CInt(Digito(3)) + 1 Or CInt(Digito(5)) <> CInt(Digito(4)) + 1 Then ListBox1.Items.Add(line) End If Next line Next pairs
Pero no me queda claro como pasar cada Item a Integer. Este ejemplo, al final va obteniendo los números y crea una array cuyos items son los números de una combinación pero no se como se podría crear otro array con cada array ?¿?¿?¿ Dim intCol As New List(Of Integer)({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.OfType(Of Integer)) Dim pairsCol As IEnumerable(Of String) = Nothing pairsCol = From value1 As Integer In intCol From value2 As Integer In intCol From value3 As Integer In intCol From value4 As Integer In intCol From value5 As Integer In intCol Select String.Join(Environment.NewLine, ( From value6 As Integer In intCol Where (value1 <> value2) AndAlso (value1 <> value3) AndAlso (value1 <> value4) AndAlso (value1 <> value5) AndAlso (value1 <> value6) AndAlso (value2 <> value3) AndAlso (value2 <> value4) AndAlso (value2 <> value5) AndAlso (value2 <> value6) AndAlso (value3 <> value4) AndAlso (value3 <> value5) AndAlso (value3 <> value6) AndAlso (value4 <> value5) AndAlso (value4 <> value6) AndAlso (value5 <> value6) AndAlso (value2 > value1) AndAlso (value3 > value2) AndAlso (value4 > value3) AndAlso (value5 > value4) AndAlso (value6 > value5) Select String.Format("{0:00} {1:00} {2:00} {3:00} {4:00} {5:00}", value1, value2, value3, value4, value5, value6))) For Each pairs As String In pairsCol For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) Dim Pattern As String = " " Dim Digito() As String Digito = System.Text.RegularExpressions.Regex.Split(line, Pattern) If CInt(Digito(1)) <> CInt(Digito(0)) + 1 Or CInt(Digito(2)) <> CInt(Digito(1)) + 1 Or CInt(Digito(3)) <> CInt(Digito(2)) + 1 Or CInt(Digito(4)) <> CInt(Digito(3)) + 1 Or CInt(Digito(5)) <> CInt(Digito(4)) + 1 Then ListBox1.Items.Add(line) End If Next line Next pairs '//Esto solo crea un array con la última combinación. '//En realidad lo hace con todas pero solo queda registrada la última '//¿Habría que hacer una colección de arrays? Dim NuevaLista As New List(Of String)(ListBox1.Items.OfType(Of String)) Dim int32Col As IEnumerable(Of Integer) = Nothing For Each item As String In NuevaLista int32Col = From Elemento As String In item.Split(" "c) Select CInt(Elemento) Next 'Los números de la última combinación MessageBox.Show(int32Col(0).ToString) MessageBox.Show(int32Col(1).ToString) MessageBox.Show(int32Col(2).ToString) MessageBox.Show(int32Col(3).ToString) MessageBox.Show(int32Col(4).ToString) MessageBox.Show(int32Col(5).ToString)
FALTABA UN: (value5 <> value6) AndAlso Ya lo he puesto
|
|
« Última modificación: 7 Abril 2016, 16:42 pm por Lekim »
|
En línea
|
|
|
|
luis456
Desconectado
Mensajes: 551
|
Lo que no entiendo es por qué no usas este otro código que te pasó Elektro y que modifiqué para 6 números y para que no hubieran correlativos. Todas las combinaciones: Dim intCol As New List(Of Integer)({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.OfType(Of Integer)) Dim pairsCol As IEnumerable(Of String) = Nothing pairsCol = From value1 As Integer In intCol From value2 As Integer In intCol From value3 As Integer In intCol From value4 As Integer In intCol From value5 As Integer In intCol Select String.Join(Environment.NewLine, ( From value6 As Integer In intCol Where (value1 <> value2) AndAlso (value1 <> value3) AndAlso (value1 <> value4) AndAlso (value1 <> value5) AndAlso (value1 <> value6) AndAlso (value2 <> value3) AndAlso (value2 <> value4) AndAlso (value2 <> value5) AndAlso (value2 <> value6) AndAlso (value3 <> value4) AndAlso (value3 <> value5) AndAlso (value3 <> value6) AndAlso (value4 <> value5) AndAlso (value4 <> value6) AndAlso (value5 <> value6) AndAlso (value2 > value1) AndAlso (value3 > value2) AndAlso (value4 > value3) AndAlso (value5 > value4) AndAlso (value6 > value5) Select String.Format("{0:00} {1:00} {2:00} {3:00} {4:00} {5:00}", value1, value2, value3, value4, value5, value6))) For Each pairs As String In pairsCol For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) ListBox1.Items.Add(line) Next line Next pairs
Combinaciones SIN todos los números correlativos Dim intCol As New List(Of Integer)({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.OfType(Of Integer)) Dim pairsCol As IEnumerable(Of String) = Nothing pairsCol = From value1 As Integer In intCol From value2 As Integer In intCol From value3 As Integer In intCol From value4 As Integer In intCol From value5 As Integer In intCol Select String.Join(Environment.NewLine, ( From value6 As Integer In intCol Where (value1 <> value2) AndAlso (value1 <> value3) AndAlso (value1 <> value4) AndAlso (value1 <> value5) AndAlso (value1 <> value6) AndAlso (value2 <> value3) AndAlso (value2 <> value4) AndAlso (value2 <> value5) AndAlso (value2 <> value6) AndAlso (value3 <> value4) AndAlso (value3 <> value5) AndAlso (value3 <> value6) AndAlso (value4 <> value5) AndAlso (value4 <> value6) AndAlso (value5 <> value6) AndAlso (value2 > value1) AndAlso (value3 > value2) AndAlso (value4 > value3) AndAlso (value5 > value4) AndAlso (value6 > value5) Select String.Format("{0:00} {1:00} {2:00} {3:00} {4:00} {5:00}", value1, value2, value3, value4, value5, value6))) For Each pairs As String In pairsCol For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) Dim Pattern As String = " " Dim Digito() As String Digito = System.Text.RegularExpressions.Regex.Split(line, Pattern) If CInt(Digito(1)) <> CInt(Digito(0)) + 1 Or CInt(Digito(2)) <> CInt(Digito(1)) + 1 Or CInt(Digito(3)) <> CInt(Digito(2)) + 1 Or CInt(Digito(4)) <> CInt(Digito(3)) + 1 Or CInt(Digito(5)) <> CInt(Digito(4)) + 1 Then ListBox1.Items.Add(line) End If Next line Next pairs
Pero no me queda claro como pasar cada Item a Integer. Este ejemplo, al final va obteniendo los números y crea una array cuyos items son los números de una combinación pero no se como se podría crear otro array con cada array ?¿?¿?¿ Dim intCol As New List(Of Integer)({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.OfType(Of Integer)) Dim pairsCol As IEnumerable(Of String) = Nothing pairsCol = From value1 As Integer In intCol From value2 As Integer In intCol From value3 As Integer In intCol From value4 As Integer In intCol From value5 As Integer In intCol Select String.Join(Environment.NewLine, ( From value6 As Integer In intCol Where (value1 <> value2) AndAlso (value1 <> value3) AndAlso (value1 <> value4) AndAlso (value1 <> value5) AndAlso (value1 <> value6) AndAlso (value2 <> value3) AndAlso (value2 <> value4) AndAlso (value2 <> value5) AndAlso (value2 <> value6) AndAlso (value3 <> value4) AndAlso (value3 <> value5) AndAlso (value3 <> value6) AndAlso (value4 <> value5) AndAlso (value4 <> value6) AndAlso (value5 <> value6) AndAlso (value2 > value1) AndAlso (value3 > value2) AndAlso (value4 > value3) AndAlso (value5 > value4) AndAlso (value6 > value5) Select String.Format("{0:00} {1:00} {2:00} {3:00} {4:00} {5:00}", value1, value2, value3, value4, value5, value6))) For Each pairs As String In pairsCol For Each line As String In pairs.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) Dim Pattern As String = " " Dim Digito() As String Digito = System.Text.RegularExpressions.Regex.Split(line, Pattern) If CInt(Digito(1)) <> CInt(Digito(0)) + 1 Or CInt(Digito(2)) <> CInt(Digito(1)) + 1 Or CInt(Digito(3)) <> CInt(Digito(2)) + 1 Or CInt(Digito(4)) <> CInt(Digito(3)) + 1 Or CInt(Digito(5)) <> CInt(Digito(4)) + 1 Then ListBox1.Items.Add(line) End If Next line Next pairs '//Esto solo crea un array con la última combinación. '//En realidad lo hace con todas pero solo queda registrada la última '//¿Habría que hacer una colección de arrays? Dim NuevaLista As New List(Of String)(ListBox1.Items.OfType(Of String)) Dim int32Col As IEnumerable(Of Integer) = Nothing For Each item As String In NuevaLista int32Col = From Elemento As String In item.Split(" "c) Select CInt(Elemento) Next 'Los números de la última combinación MessageBox.Show(int32Col(0).ToString) MessageBox.Show(int32Col(1).ToString) MessageBox.Show(int32Col(2).ToString) MessageBox.Show(int32Col(3).ToString) MessageBox.Show(int32Col(4).ToString) MessageBox.Show(int32Col(5).ToString)
FALTABA UN: (value5 <> value6) AndAlso Ya lo he puesto Ya te agradezco la ayuda pero esto ya lo tengo cubierto, tengo mas filtros de lo que seguro usare jejej cuando tienes una idea pero no sabes como implementarlo es lo Jo,,, Lo que pasa y como sabe "El padre de Net " jejej (elektro es broma ) casi todo mi programa esta hecho en linq: por eso cuando me salgo de la linea esa me pierdo pero como soy terco jejej no creo que no se pueda convertir los datos de un listbox en una simple variable Luis
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.858
|
no creo que no se pueda convertir los datos de un listbox en una simple variable Asumo que por variable te estás refiriendo a un Array de enteros, ¿has leido mi última respuesta en este hilo?, ahí te expliqué como hacerlo, y de varias maneras... Si no es eso lo que quieres hacer entonces yo no me estoy enterando (para variar...) Saludos
|
|
« Última modificación: 7 Abril 2016, 17:13 pm por Eleкtro »
|
En línea
|
|
|
|
luis456
Desconectado
Mensajes: 551
|
Asumo que por variable te estás refiriendo a un Array de enteros, ¿has leido mi última respuesta en este hilo?, ahí te expliqué como hacerlo, y de varias maneras...
Si no es eso lo que quieres hacer entonces yo no me estoy enterando (para variar...)
Saludos
Que si hombre lo que paso es que solo vi lo de Lekim ,tenia un ojo en el visual y otro aca no lo vi bien jeje como siempre gracias Elektro Clausurado este post jejje hasta la siguiente pregunta Luis
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.858
|
Que si hombre lo que paso es que solo vi lo de Lekim ,tenia un ojo en el visual y otro aca no lo vi bien jeje como siempre gracias Elektro Clausurado este post jejje hasta la siguiente pregunta Luis Te lo pregunto más que nada por que yo no me voy a seguir conectando con la misma frecuencia al foro por motivos...indeseables, por si necesitas (mi) ayuda AHORA. ¿seguro que se ha resuelto tu duda?, de lo contrario dilo sin miedo, que no como xd saludos
|
|
|
En línea
|
|
|
|
luis456
Desconectado
Mensajes: 551
|
Te lo pregunto más que nada por que yo no me voy a seguir conectando con la misma frecuencia al foro por motivos...indeseables, por si necesitas (mi) ayuda AHORA. ¿seguro que se ha resuelto tu duda?, de lo contrario dilo sin miedo, que no como xd
saludos
No de verdad esta listo , solo te pido que me dejes un email en mi privado Luis
|
|
|
En línea
|
Que tu sabiduria no sea motivo de Humillacion para los demas
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pregunta boba de Vb
Programación Visual Basic
|
GrTk
|
6
|
2,210
|
22 Julio 2006, 13:28 pm
por Hans el Topo
|
|
|
como recorrer Listbox y pasar valores a un arreglo?
Programación Visual Basic
|
GhostLT
|
4
|
18,762
|
26 Mayo 2016, 16:27 pm
por SirioCasius
|
|
|
Pasar listbox a textbox al hacer click en un valor del listbox
.NET (C#, VB.NET, ASP)
|
BrokerJoker
|
3
|
23,913
|
13 Mayo 2012, 17:13 pm
por BrokerJoker
|
|
|
pregunta boba, siglas de archivos
Dudas Generales
|
basickdagger
|
3
|
2,645
|
5 Junio 2014, 17:00 pm
por basickdagger
|
|
|
Seguimos con registros en listbox :)
.NET (C#, VB.NET, ASP)
|
luis456
|
8
|
4,175
|
29 Marzo 2016, 14:23 pm
por Lekim
|
|