Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: kenrigls en 10 Abril 2014, 08:44 am



Título: Eliminar los datos vacios de un listbox en visual basic 6.0
Publicado por: kenrigls en 10 Abril 2014, 08:44 am
tanto molestarles   :rolleyes:

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

Código:
1
2
3

4

5

y que me quede sin los item vacios

Código:
1
2
3
4
5

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


Título: Re: Eliminar los datos vacios de un listbox en visual basic 6.0
Publicado por: jesuluis en 10 Abril 2014, 19:23 pm
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


Título: Re: Eliminar los datos vacios de un listbox en visual basic 6.0
Publicado por: kenrigls en 10 Abril 2014, 20:03 pm
oye pero me tira error

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


Título: Re: Eliminar los datos vacios de un listbox en visual basic 6.0
Publicado por: 1mpuls0 en 10 Abril 2014, 20:20 pm
??

Qué error?, sé mas especifico...


Título: Re: Eliminar los datos vacios de un listbox en visual basic 6.0
Publicado por: kenrigls en 10 Abril 2014, 21:11 pm
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?


Título: Re: Eliminar los datos vacios de un listbox en visual basic 6.0
Publicado por: MCKSys Argentina en 10 Abril 2014, 22:30 pm
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
  1. Dim x As Long
  2.  
  3. x = 0
  4. Do While x <= (List1.ListCount - 1)
  5.    If List1.List(x) = "" Then
  6.        List1.RemoveItem (x)
  7.    Else
  8.        x = x + 1
  9.    End If
  10. Loop
  11.  

Saludos!


Título: Re: Eliminar los datos vacios de un listbox en visual basic 6.0
Publicado por: BlackZeroX en 11 Abril 2014, 08:33 am
No me di cuenta y te respondi acá...

http://foro.elhacker.net/programacion_visual_basic/como_declarar_en_visual_basic_60-t412339.0.html;msg1934783#msg1934783

Dulces Lunas!¡.