Sei sulla pagina 1di 21

SEMANA 4 LP2

PROF. WILLIAM BRAVO GARCA

Ejercicio del postulante

EJERCICIO PROPUESTO
Hacer un formulario en VB .NET que permita registrar a un postulante solicitando 3 datos : Nombre Edad Profesin (debe seleccionarlo de un combobox) Cada vez que se agreguen los postulantes deben mostrarse en un listbox As como se pueden agregar , tambin debe poder eliminarse postulantes del listbox

CAPA PRESENTACION

SOLUCIN SIN VALIDACIONES Y SIN CLASES NI OBJETOS

Ejercicio del postulante

CDIGO BOTN AGREGAR


Se capturan los datos que ingresa el usuario del formulario y se deben aadir al listbox lstPostulantes . Para ello se usa Items y su mtodo Add Private Sub btnA gregar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnA gregar.Click

lstPostulantes.Items.Add (txtNombre.Text & " " & txtEdad.Text & " & cmbProfesion.SelectedItem )
End Sub

CDIGO BOTN ELIMINAR


En base a el item seleccionado por el usuario en el listbox lstPostulantes , se procede a eliminar al postulante y se usa Items y su mtodo Remove Private Sub btnEliminar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click

lstPostulantes.Items.RemoveAt (lstPostulantes.SelectedIndex )
End Sub

CDIGO BOTN LIMPIAR


Se debe dejar en blanco las cajas de texto y sin nada seleccionado el combobox Private Sub btnLimpiar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click

txtNombre.Text = txtEdad.Text = cmbProfesion.SelectedIndex = -1

End Sub

SOLUCIN CON VALIDACIONES, SIN CLASES NI OBJETOS

Ejercicio del postulante

CDIGO BOTN AGREGAR


Se c a pt ura n l o s da to s q ue i n g resa e l us ua ri o de l fo rm ul ario y s e de be n a a dir a l l i st box l s t Post ulante s . Pa ra e l l o s e us a I te m s y s u m to do A d d Se de be va lida r q ue s e h aya n i n g resado l o s 3 da to s s o lic it ados a n te s de a g re g ar e n e l l i st box y pa ra e l l o s e us a l a pro pi e da d Tex t y S e l e cte d In d ex P r ivate S u b b t n A grega r_Clic k ( B y Val s e n der As Sy s te m . Objec t , B y Va l e As Sy s te m . Event Args ) H a n dl es bt n A g re g ar. Clic k

If txtNombre.Text = "" OR t xEdad.Text = "" OR cmbProfesion.SelectedIndex = -1 Then MsgBox("debe tipear algo") Else

lstPostulantes.Items.Add (txtNombre.Text & " " & txtEdad.Text & " & cmbProfesion.SelectedItem )
End if End Sub

CDIGO BOTN ELIMINAR


E n ba s e a e l te m s e lec c ionado po r e l us ua ri o e n e l l i st box l s t Post ulante s , s e pro ce de a e l iminar a l po s tul ante y s e us a I te m s y s u m to do Re m ove Se de be va lida r q ue s e h aya s e l ecc iona do a l g n e l e mento a e l iminar y pa ra e l l os l a pro pi e da d S e l e cte d In d ex de be te n e r un va l or m ayo r o i g ua l a 0 . Cua n do di c h a pro pi e da d va l e - 1 s i g nifi ca q ue n o s e h a s e l ec c ionado n a da e n e l l i s t box P r ivate S u b b t n Elimina r_Clic k ( B y Val s e n der As Sy s te m . Objec t , B y Va l e As Sy s te m . Event Args ) H a n dl es bt n E l iminar. Clic k

If l s t Po s t ula ntes . Selec tedIn dex >= 0 Then


l s t Po s t ula ntes . Items .Re moveAt (lst Post ulantes. Selec te dIndex ) Else M s g B ox ("de be s e le cc ionar pa ra e l iminar" ) End If End Sub

CDIGO BOTN LIMPIAR


Se debe dejar en blanco las cajas de texto y sin nada seleccionado el combobox Private Sub btnLimpiar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click

txtNombre.Text = txtEdad.Text = cmbProfesion.SelectedIndex = -1

End Sub

SOLUCIN CON VALIDACIONES Y CON CLASES Y OBJETOS

Ejercicio del postulante

AGREGANDO UNA CLASE

A la clase le ponemos Postulante.vb

CAPA DATOS - ESTRUCTURA DE LA CLASE POSTULANTE


Se debe crear una clase Postulante que permita almacenar los datos que se han ingresado por formulario. Para ello como se piden 3 datos , se deben tener 3 atributos en dicha clase.

CODIFICACIN DE LA CLASE POSTULANTE

CREANDO UN LISTADO DE POSTULANTES


El formulario es el encargado de aceptar cada uno de los postulantes. En el ejercicio anterior se reciba un postulante y directo iba al listbox, no se almacenaba en ningn sitio previo, como un arreglo o base de datos o archivo

Por tanto, debemos crear algo similar a un arreglo que almacene todos los postulantes. Existe un tipo de dato en .NET que se llama LIST , este tipo de dato es similar a una bolsa que almacena cosas pero va creciendo a medida que se agregan mas cosas y se va reduciendo cuando se van eliminando.
A continuacin se crea una variable listado de tipo LIST de POSTULANTES y en dicho listado almacenaremos todos los postulantes

MODIFICANDO EL BTNAGREGAR
1. Ahora el agregar debe crear previamente con los datos capturados en el formulario un objeto de tipo Postulante. Pero recordemos que el constructor de Postulante necesita 3 datos : nombre, edad y profesin 2. Ya que tengo a nuevo que es un nuevo Postulante creado debo insertarlo al listado de postulantes 3. Por ultimo, este listado de postulantes debe ser visualizado en el listbox

CREANDO EL ACTUALIZALISTBOX
1. Debemos limpiar cualquier dato previo que exista en el listbox, antes de mostrar los datos del listado de postulantes en el listbox 2. Debo recorrer el listado e ir viendo cada uno de los objetos Postulante que existen en el listado 3. Debo agregar en los items del listbox solo el nombre de cada objeto postulante NOTA: Sale un error al querer acceder al atributo nombre del objeto de tipo Persona Porque?

CREANDO UN MTODO DE ACCESO PARA EL ATRIBUTO NOMBRE


No se puede acceder al atributo nombre porque el atributo es privado y jams podr ser publico, por tanto es obligatorio crear un mtodo de acceso para poder acceder al contenido del atributo Debemos crear mediante prop + tab+tab Como ya existe el atributo nombre, entonces esta primera lnea del prvate newpropertyvalue la debemos eliminar y solo quedarnos con el mtodo public

CREANDO UN MTODO DE ACCESO PARA EL ATRIBUTO NOMBRE


El mtodo de acceso al atributo nombre le pondremos accesoNombre y debemos modificarlo de forma tal que quede as como se muestra en la imagen

Vean bien que el valor que retorna el GET es el atributo nombre y el valor que modifica el SET es el atributo nombre tal como debe ser

ACTUALIZALISTBOX VERSION FINAL


Ya que hemos creado previamente el mtodo de acceso al atributo nombre accesoNombre que nos faltaba en la clase Postulante

Ahora corregimos el cdigo y agregamos al listbox lstPostulantes solo el nombre del postulante invocando a obj.accesoNombre

Potrebbero piacerti anche