elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Como podría combinar el contenido de dos lixtbox en un tercero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como podría combinar el contenido de dos lixtbox en un tercero  (Leído 2,156 veces)
luis456


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Como podría combinar el contenido de dos lixtbox en un tercero
« en: 26 Diciembre 2013, 02:44 am »

Hola ando buscando una forma corta de combinar (no sumar ni adicionar) todo el contenido de dos lisbox en un otro sin que haya duplicados en grupos de cuatro resultados esto es si hay por ejemplo entre los dos lisbox 12 numeros que se muestren grupos de cuatro esto seria 3 resultados de cuatro números cada uno


Gracias :)

Felices fiestas a todos

Luis


En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
luis456


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Como podría combinar el contenido de dos lixtbox en un tercero
« Respuesta #1 en: 28 Diciembre 2013, 22:15 pm »

Buaaaaaaa ya nadie quiere este viejo :)

luis


En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.701



Ver Perfil
Re: Como podría combinar el contenido de dos lixtbox en un tercero
« Respuesta #2 en: 29 Diciembre 2013, 02:32 am »

Al final voy a acabar odiando los Listbox :silbar:

¿Que has intentado?

No entiendo muy bien lo que pretendes hacer (eso de combinar, pero no sumar ni adicionar?), te muestro la manera de concatenar dos listas de items en un tercer Listbox, añadiendo un "separador" entre cada lista (que si no me equivoco, ya las tienes agrupadas de 4 en 4).

Código
  1.        Dim Items1 As List(Of String) = ListBox1.Items.Cast(Of String)().ToList
  2.        Items1.Add("  ")
  3.  
  4.        Dim Items2 As List(Of String) = ListBox2.Items.Cast(Of String)().ToList
  5.        Items2.Add("  ")
  6.  
  7.        Dim CombinedItems As List(Of String) = Items1.Concat(Items2).ToList
  8.  
  9.        ListBox3.Items.AddRange(CombinedItems.ToArray)

Saludos
« Última modificación: 29 Diciembre 2013, 03:09 am por ElektroSoft » En línea


luis456


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Como podría combinar el contenido de dos lixtbox en un tercero
« Respuesta #3 en: 29 Diciembre 2013, 14:20 pm »

Al final voy a acabar odiando los Listbox :silbar:

¿
Saludos

Bien la idea es que me muestre en un tercer lisbox los datos que tienen estos dos primeros y bueno seria agruparlos en un tercero pero estoy tratando de hacer funcionar tu codigo pero me da este error " se esperaba una declaracion "

Bien se que es declarar al principio y con
Dim Items1
Dim Items2

los declaro y si pasa, pero tambien  me pide declarar el listbox3 y ai si quedo parado ;( he buscado pero no encuentro como declaralo


Gracias

Luis






En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.701



Ver Perfil
Re: Como podría combinar el contenido de dos lixtbox en un tercero
« Respuesta #4 en: 29 Diciembre 2013, 16:47 pm »

pero tambien  me pide declarar el listbox3 y ai si quedo parado ;( he buscado pero no encuentro como declaralo

'¬¬

Agrega un Listbox en la GUI y cámbiale el nombre por "Listbox3"

Lo de arriba es un simple ejemplo con 3 listbox (listbox1, listbox2 y listbox3) que óbviamente deben existir en la GUI, puedes utilizar los nombres que quieras...

saludos
En línea


luis456


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Como podría combinar el contenido de dos lixtbox en un tercero
« Respuesta #5 en: 29 Diciembre 2013, 18:23 pm »

Ya funciona :)  y estoy tratando de eliminar repetidos con:)

.Distinct().ToArray() ' Eliminar duplicados pero no va
Lo de ordenar ya se como se hace :)



Código
  1. Public Class Form1
  2.    Dim maximum As Short = 49
  3.    Dim x As Integer = 0
  4.    Dim Número As Double
  5.    Private TextBoxes As TextBox() = {Nothing}
  6.    Private Result1 As Int32(), Result2 As Int32()
  7.    Private _textBox As Object
  8.    Private Property ListBox1Count As Integer
  9.  
  10.    Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
  11.        Me.ControlBox = False ' Elimino todos los controles del formulario
  12.    End Sub
  13.  
  14.    Private Property Calcular As Object
  15.  
  16.    Private Property TextBox(ByVal TextBoxCount As Short) As Object
  17.        Get
  18.            Return _textBox
  19.        End Get
  20.        Set(ByVal value As Object)
  21.            _textBox = value
  22.        End Set
  23.    End Property
  24.  
  25.    Public Sub solonumeros(ByRef e As System.Windows.Forms.KeyPressEventArgs)
  26.        ' evitar letras
  27.        If Char.IsDigit(e.KeyChar) Then
  28.            e.Handled = False
  29.        ElseIf Char.IsControl(e.KeyChar) Then
  30.            e.Handled = False
  31.        ElseIf Char.IsSeparator(e.KeyChar) Then
  32.            e.Handled = False
  33.        Else
  34.            e.Handled = True
  35.        End If
  36.  
  37.    End Sub
  38.  
  39.  
  40.    ReadOnly Property Num1 As Int32
  41.        Get
  42.            Return CInt(TextBox1.Text)
  43.        End Get
  44.    End Property
  45.  
  46.    ReadOnly Property Num2 As Int32
  47.        Get
  48.            Return CInt(TextBox2.Text)
  49.        End Get
  50.    End Property
  51.  
  52.  
  53.    Private Sub Sumar(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
  54.  
  55.        Result1 = {Num1 + 10, Num1 + 20, Num1 + 30} _
  56.                  .Distinct().ToArray ' Elimino duplicados
  57.  
  58.        Result2 = {Num2 + 10, Num2 + 20, Num2 + 30} _
  59.                  .Distinct().ToArray ' Elimino duplicad
  60.  
  61.  
  62.        Array.Sort(Result1) : Array.Sort(Result2) ' El número no está repetido:
  63.  
  64.        Dim Results As IEnumerable(Of Integer) =
  65.            Result1  ' El número no está repetido.Concat(Result2)  
  66.  
  67.  
  68.  
  69.        For X As Integer = 0 To Results.Count - 1
  70.  
  71.            Dim Items1 As List(Of String) = ListBox1.Items.Cast(Of String)().ToList
  72.            Items1.Add("  ")
  73.  
  74.  
  75.            Dim Items2 As List(Of String) = ListBox2.Items.Cast(Of String)().ToList
  76.            Items2.Add("  ")
  77.  
  78.            Dim CombinedItems As List(Of String) = Items1.Concat(Items2).ToList
  79.  
  80.  
  81.            ListBox3.Items.AddRange(CombinedItems.ToArray)
  82.  
  83.  
  84.  
  85.            Select Case Results.Where(Function(n) n = Results(X)).Skip(1).Any
  86.  
  87.                Case False ' El número no está repetido en ninguna "linea"
  88.                    ' Así que colocamos el número en el Textbox
  89.                    Try
  90.                        ListBox1.Items.Add(CStr(Results(X)))
  91.  
  92.  
  93.                        ' TextBoxes(TextBoxCount).Text = CStr(Results(X))
  94.                    Catch ex As Exception
  95.                        Throw New Exception(ex.Message & ex.StackTrace)
  96.                    End Try
  97.  
  98.  
  99.  
  100.            End Select
  101.  
  102.  
  103.        Next X
  104.        ' -------segunda
  105.  
  106.        Dim Resultss As IEnumerable(Of Integer) =
  107.            Result2 ' .
  108.  
  109.  
  110.  
  111.        For X As Integer = 0 To Resultss.Count - 1
  112.  
  113.  
  114.  
  115.            Select Case Resultss.Where(Function(n) n = Resultss(X)).Skip(1).Any
  116.  
  117.                Case False
  118.                    Try
  119.                        ListBox2.Items.Add(CStr(Resultss(X)))
  120.  
  121.                    Catch ex As Exception
  122.                        Throw New Exception(ex.Message & ex.StackTrace)
  123.                    End Try
  124.  
  125.  
  126.            End Select
  127.  
  128.        Next X
  129.  
  130.    End Sub
  131.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  132.  
  133.    End Sub
  134.  
  135. End Class
  136.  

Luis
« Última modificación: 29 Diciembre 2013, 18:54 pm por Elektro 2.0 » En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines