Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2010, 12:35
AverAver
 
Fecha de Ingreso: mayo-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Pregunta Buscar cadena dentro de Colección

Hola a todos. Después de buscar y buscar y probar y probar he decidido preguntar.. a ver si alguien me puede ayudar con esto:

Tengo una clase 'Alumnos'

y en un form una coleccion 'coleccionAlumnos', hasta ahí bien... de todas formas aquí el código:
Código:
Alum = New Alumnos(CInt(txtCodigo.Text), txtNombre.Text, txtDni.Text, CDate(txtFechaAlta.Text), comboCurso.Text)

        coleccionAlumnos.Add(Alum, txtCodigo.Text)

        MsgBox("El alumno se ha sido dado de alta satisfactoriamente")
El tema es que en el form tengo dos opciones:

Después de rellenar los datos del formulario y guardarlos, tengo que:

a - Buscar alumnos por su codigo.

b - Buscar alumnos por su nombre.


a: 'MUESTRA EL RESULTADO EN LAS MISMAS CASILLAS DEL FORMULARIO:

'
Código:
Dim buscoCodigo As String
        buscoCodigo = InputBox("Introduzca el código del alumno que desea buscar")
        TabAlumno.Visible = True

        ' ahora busca, y utiliza try por si no encuentra nada que salga un error.

        Try
            With coleccionAlumnos(buscoCodigo)
                txtCodigo.Text = .elCodigo
                txtNombre.Text = .elNombre
                txtDni.Text = .elDni
                txtFechaAlta.Text = .laFecha
                comboCurso.Text = .elCurso
            End With
        Catch
            MsgBox("¡ No existe ese alumno !")
        End Try
Esto me funciona a la perfección, pero el buscar por NOMBRE¿? no.

BUSCO NOMBRE:

Código:
Dim buscoNombre As String
        buscoNombre = InputBox("Introduzca el nombre del alumno que desea buscar")
        TabAlumno.Visible = True

        ' ahora busca, y utiliza try por si no encuentra nada que salga un error.
        coleccionAlumnos.GetEnumerator()

        Try
            With coleccionAlumnos(buscoNombre)
                txtCodigo.Text = .elCodigo
                txtNombre.Text = .elNombre
                txtDni.Text = .elDni
                txtFechaAlta.Text = .laFecha
                comboCurso.Text = .elCurso
            End With
        Catch
            MsgBox("¡ No existe ese nombre !")
        End Try

Creo que es por esto que incluyo en el primer código (el de guardar):

Código:
 coleccionAlumnos.Add(Alum, txtCodigo.Text)
Puesto que ahí le estoy diciendo que el indice sea txtCodigo.text ¿?¿

Espero haberme explicado medianamente bien, no se como puedo hacerlo, si alguien me puede explicar como le digo que busque "buscoNombre" en todos los nombres que hayan almacenados en esa colección, me sería muy útil. Me va a explotar la cabeza con la tontería esta.

Muchas gracias y un saludo.