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

[0] Índice de Mensajes

Ir a la versión completa