Eliminar los datos vacios de un listbox en visual basic 6.0

Iniciado por kenrigls, 10 Abril 2014, 08:44 AM

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

kenrigls

tanto molestarles   :rolleyes:

lo que quiero es eliminar los items en blanco o vacios de un listbox
ejemplo:

1
2
3

4

5


y que me quede sin los item vacios

1
2
3
4
5


como lo hago? ideas..
ah! y gracias por sus respuestas  ;)

jesuluis

podrias recorrer los items de listbox con un for

y comparar con un if si el item de la lista tiene algo o esta vacio

if item(x) = "" then

item(x).remove

un saludo

kenrigls

oye pero me tira error

For X = 0 To (List1.ListCount - 1)
If List1.List(X) = "" Then
List1.RemoveItem (X)
End If
Next X

1mpuls0

abc

kenrigls

error 5 en tiempo de ejecucion:

llamada a procedimiento o argumentos no validos

terminar   depurar   ayuda



y muestra error en la linea

List1.RemoveItem (X)

porque?

MCKSys Argentina

Hay algo que no tienes en cuenta:

Estas usando un bucle FOR, el cual va desde 0 hasta (listcount - 1).
El problema es que (listcount - 1) se evalúa la primera vez que entras al FOR.
Entonces, si eliminas elementos de la lista, llegará el momento en que el indice que usas, no será válido.

La solucion es usar un while con un indice que se incremente sólo cuando no debes borrar, osea:

Código (vb) [Seleccionar]

Dim x As Long

x = 0
Do While x <= (List1.ListCount - 1)
    If List1.List(x) = "" Then
        List1.RemoveItem (x)
    Else
        x = x + 1
    End If
Loop


Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


BlackZeroX

The Dark Shadow is my passion.