Anda di halaman 1dari 4

Microsoft

GUA DE LABORATORIO N 5 Objetivos

Visual Basic

Luego de completar este laboratorio, el estudiante ser capaz de: Manipular y realizar operaciones con arreglos. Crear una estructura y realizar operaciones con los campos de la misma. Implementar arreglos de estructuras. Trabajar con ficheros. Aplicacin N 5 Hacer una aplicacin que lea un nombre y un telefono y los guarde en un array de registros formados por dos string una para el nombre y otro para el telefono, el noimbre debe visualizarse e incluirse tambin en un cuadro de lista. El diseo debe ser algo as.

Despus guardar los datos en un fichero datos.dat.

Para guardar los datos en la agenda. Private Sub M_A_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles M_A_Guardar.Click Dim fs As FileStream fs = New FileStream("datos.dat", FileMode.OpenOrCreate, FileAccess.Write)

Adela Valenciano Surez

Pag. 1 De 4

'Crea un flujo asociado con el fichero del disco donde deseamos almacenar la informacin Dim bw As BinaryWriter = New BinaryWriter(fs) 'Crea el flujo bw para escribir en fs For i = 0 To cont - 1 bw.Write(agenda(i).nombre) bw.Write(agenda(i).tlf) Next bw.Close() 'Comprobacion de guardado. Leer todo el fichero e imprimirlo en un mensaje Dim cadena As String = "" fs = New FileStream("datos.dat", FileMode.Open, FileAccess.Read) Dim br As BinaryReader = New BinaryReader(fs) For i = 0 To cont - 1 cadena = cadena & br.ReadString() & br.ReadString() Next bw.Close() MessageBox.Show(cadena)

End Sub End Class

Adela Valenciano Surez

Pag. 2 De 4

Mejorar la aplicacin de la agenda. Cargar datos de la agenda guardados en un fichero datos.dat


Private Sub FrmAgenda_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Cargar datos de la agenda "datos.dat" en el array Dim fs As FileStream = Nothing Dim br As BinaryReader = Nothing Try 'Abrir un flujo binaryreader para leer del fichero fs = New FileStream("datos.dat", FileMode.OpenOrCreate, FileAccess.Read) br = New BinaryReader(fs) Do 'Leer un nombre y un telefono (un regeistro) desde el fichero. 'Cuando se alcance el final del fichero, el metodo utilizado para leer 'lanzar una excepcion que ser atrapada por el bloque catch agenda(cont).nombre = br.ReadString() agenda(cont).tlf = br.ReadString() 'Aadir el nombre a la caja de lista LstNombres.Items.Add(agenda(cont).nombre) cont += 1 'Actualizamos el contador de elmentos en la agenda Loop While True Catch ex As Exception MessageBox.Show("Proceso de carga de la agenda terminado") Finally 'Cierra el flujo si se abri. If Not br Is Nothing Then br.Close() fs.Close() End If End Try End Sub

Mejorar la aplicacin de la agenda No se podr aadir un nombre en la agenda que ya exista. Aadiremos la siguiente funcin que devuelve la posicin en la que se encuentra el nombre buscado o -1 si no lo encuentra en la agenda. Mejorar la aplicacin de la agenda. Eliminar elementos de la agenda. Comprobar que el elemento a borrar existe, en su caso eliminarlo del array y de la caja de lista. Mejorar la aplicacin de la agenda. Cuando se seleccione un nombre de la caja de lista, se debe visualizar el nombre y el telefono en las cajas de texto: TxtNombre y TxtTlf Mejorar la aplicacin de la agenda. Modificar los datos de la agenda. Cuando se seleccione un nombre de la caja de lista, se debe visualizar el nombre y el telefono en las cajas de texto: TxtNombre y TxtTlf Adems se podrn modificar los datos del elemento seleccionado cuando se haga click en un nuevo botn que llamaremos Modificar.

Adela Valenciano Surez

Pag. 3 De 4

Mejorar la aplicacin de la agenda. Es una buena idea preguntar al usuario en el instante en el que cierra la aplicacin, si quiere guardar la agenda actual. Para ello debemos saber que cuando se cierra un formulario se produce el evento FormClosing del mismo. Utilizaremos el mtodo que responda a este evento para notificarle lo descrito. Segn esto aada el mtodo que responda a este evento y compltelo como se indica a continuacin. Mejorar la aplicacin de la agenda. Aada la orden Acerca de en el men. Edite el mtodo que responde al evento Click de la orden Acerca del men para que muestre una ventana como la que muestra la figura siguiente:

Mejorar la aplicacin de la agenda. Aadir los elementos en la agenda siempre ordenados por nombre. Mejorar la aplicacin de la agenda. Aadir un botn para buscar un nombre en la agenda y si est que me ensee el telefono correspondiente y se marque en laja de lista.

Mejorar la aplicacin de la agenda. Poder abrir distintos archivos de agenda o guardar en diferentes archivos. En el evento FormLoad no debemos programar nada.

Adela Valenciano Surez

Pag. 4 De 4