Programación General > Visual Basic para principiantes
Comprobación de la existencia de elementos en una lista.
(1/1)
SamRico:
Saludos, tengo un pequeño problema. Estoy haciendo un programa y tengo que pasar una serie de nombres de una lista a otra lista. Pero no quiero que se pasen de la lista 1 a la lista 2 si en la lista 2, el elemento de la lista 1 ya se encuentra.
Yo he intentado el siguiente código pero falla por motivos de falta de conceptos por mi parte. A ver si me pueden ayudar.
Este es el algoritmo que he realizado para hacer sólo esa operación (pasar un nombre de una lista a otra)
--- Código: Visual Basic ---Private Sub LstJugadores_DblClick() Dim i As Integer Dim Bandera As Boolean Bandera = True For i = 0 To LstAlineacion.ListCount - 1 If LstJugadores.Text <> LstAlineacion.List(i) & Bandera = True Then LstAlineacion.AddItem LstJugadores.Text LstJugadores.RemoveItem LstJugadores.ListIndex Bandera = False End If Next iEnd Sub
m0skit0:
Deberías repasar conceptos básicos del lenguaje antes de hacer nada. & se usa para concatenar cadenas de caracteres y no como "Y" lógico. Para eso se usa And. Además, Bandera es booleano, no necesitas compararlo con True. Él mismo es True or False y te vale como condición. Es decir tu IF quedaría tal que
--- Código: Visual Basic ---If LstJugadores.Text <> LstAlineacion.List(i) And Bandera Then Y esto es sólo la punta del iceberg de tu código, que realmente no hay por donde cogerlo. Por ejemplo, una vez que pones Bandera a False, ya no se vuelve a poner a True en ningún lugar, con lo cual el If no volvera a ser True jamás hasta el final del bucle.
Yo que tú me lo pensaría bien primero y volvería a escribirlo. Y definitivamente te recomiendo que cojas un buen libro sobre VB6 y te lo leas primero antes de nada.
Saludos
Navegación
Ir a la versión completa