Título: Comparar dos listbox
Publicado por: rapbyone en 13 Marzo 2017, 15:29 pm
Hola amigos, hace rato que no pasaba por acá, me surgió la siguiente interrogante:
Cómo puedo comparar dos listbox, es decir que al recorrer las listas compruebe que tengan los mismos valores algo así como:
if list1 <> list2 then msgbox "diferentes" else msgbox "iguales" end if
Gracias amigos
Título: Re: Comparar dos listbox
Publicado por: Eleкtro en 14 Marzo 2017, 01:22 am
¿VB6, o VB.NET?.
¡Saludos!
Título: Re: Comparar dos listbox
Publicado por: FJDA en 18 Marzo 2017, 15:18 pm
a ver si te sirve esto, está en VB6 With List1 .AddItem (25) .AddItem (36) .AddItem (18) .AddItem (13) End With With List2 .AddItem (16) .AddItem (36) .AddItem (11) End With Dim Diferencia() As Boolean 'Array para guardar el resultado de la comparación For Item = 0 To List1.ListCount - 1 ReDim Preserve Diferencia(Item + 1) Diferencia(Item) = CBool(List1.List(Item) = List2.List(Item)) If List2.List(Item) = "" Then Diferencia(Item) = False End If Next Item MsgBox ("¿Son iguales " & List1.List(0) & " y " & List2.List(0) & "? " & Diferencia(0)) Dim str As String For Index = 0 To UBound(Diferencia) - 1 str = str + _ List1.List(Index) & "=" & _ List2.List(Index) & " --> " & _ Diferencia(Index) & vbCrLf Next Index MsgBox (str)
meto las diferencias en un array booleano para poder acceder a él siempre que se quiera como se muestra en el primer mensaje. como ejemplo he hecho una lista más larga que otra, pero lo suyo es que ambas sean de igual longitud. espero que te sirva saludos
Título: Re: Comparar dos listbox
Publicado por: rapbyone en 19 Marzo 2017, 00:16 am
a ver si te sirve esto, está en VB6 With List1 .AddItem (25) .AddItem (36) .AddItem (18) .AddItem (13) End With With List2 .AddItem (16) .AddItem (36) .AddItem (11) End With Dim Diferencia() As Boolean 'Array para guardar el resultado de la comparación For Item = 0 To List1.ListCount - 1 ReDim Preserve Diferencia(Item + 1) Diferencia(Item) = CBool(List1.List(Item) = List2.List(Item)) If List2.List(Item) = "" Then Diferencia(Item) = False End If Next Item MsgBox ("¿Son iguales " & List1.List(0) & " y " & List2.List(0) & "? " & Diferencia(0)) Dim str As String For Index = 0 To UBound(Diferencia) - 1 str = str + _ List1.List(Index) & "=" & _ List2.List(Index) & " --> " & _ Diferencia(Index) & vbCrLf Next Index MsgBox (str)
meto las diferencias en un array booleano para poder acceder a él siempre que se quiera como se muestra en el primer mensaje. como ejemplo he hecho una lista más larga que otra, pero lo suyo es que ambas sean de igual longitud. espero que te sirva saludos lo intentaré, muchas gracias amigo
|