Listas

eduardo
22 de Enero del 2004
Hola, buenos dias, tengo un problema y es el siguiente: tengo dos listas en un formulario, entonces al cargar el formulario se carga una de ellas y la otra permanece vacía, la segunda lista se alimenta de la primera, es decir al seleccionar un dato de la primera lista y pulsar un boton lo carga en la segunda lista y lo elimina de la primera. El problema que tengo es que si la lista primera tiene por ejemplo 3 datos, y selecciono el primero, funciona bien, pero si en vez del primero selecciono el segundo o el tercero me da un error.
A continuacion incluyo el código del boton que es el que hace la operacion para haber si alguien me puede decir que es lo que esta mal.

For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then
List2.AddItem List1.List(i)

End If
List2.ListIndex = List1.ListIndex
Next
For i = 0 To List2.ListCount - 1
If List1.ListIndex = List2.ListIndex Then
List1.RemoveItem (i)
End If
Next

Gracias y buenos dias...


sdemingo
22 de Enero del 2004
Hola,

ya te conteste en otro foro (aunque tenías otro nombre). Te vuelvo a pasar el código...

Private Sub Command1_Click()

Dim i As Integer

For i = 0 To List1.ListCount - 1
If List1.Text = List1.List(i) Then
List2.AddItem List1.List(i)
Exit For
End If
Next i
List1.RemoveItem (i)

End Sub

Private Sub Form_Load()

List1.AddItem "Elemento 1"
List1.AddItem "Elemento 2"
List1.AddItem "Elemento 3"
List1.AddItem "Elemento 4"
List1.AddItem "Elemento 5"

End Sub

Saludos
sdeming
http://boards.melodysoft.com/sdemingo

Thessen
22 de Enero del 2004
He probado tu código y me da un error en la línea :
List2.ListIndex = List1.ListIndex
De todas formas, he probado a hacer lo que necesitas y te pongo el código que he hecho, espero que te ayude. Un saludo.

Dim i As Integer

While Not i = List1.ListCount
If List1.Selected(i) Then
List2.AddItem (List1.List(i))
List1.RemoveItem (i)
Else
i = i + 1
End If
Wend

naveguito
22 de Enero del 2004
Bueno probe algo parecido y puse en un formulario dos Listbox,del modo que haciendo click en el List1 se me incorporara al list2 el objeto seleccionado y despues borrandose,lo hice asi:

Private Sub List1_Click()
Dim idx As Integer
idx = List1.ListIndex
List2.AddItem List1.Text
List1.RemoveItem idx
End Sub

Espero que te sirva