GuíaLaboratorio5

Anuncio
Microsoft
Visual Basic
GUÍA DE LABORATORIO Nº 5
Objetivos
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.
Aplicación Nº 5
Hacer una aplicación 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 también en un cuadro de lista.
El diseño debe ser algo así.
Después 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 Suárez
Pag. 1 De 4
'Crea un flujo asociado con el fichero del disco donde deseamos almacenar la información
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 Suárez
Pag. 2 De 4
Mejorar la aplicación 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()
'Añadir 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 aplicación de la agenda
No se podrá añadir un nombre en la agenda que ya exista.
Añadiremos la siguiente función que devuelve la posición en la que se
encuentra el nombre buscado o -1 si no lo encuentra en la agenda.
Mejorar la aplicación 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 aplicación 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 aplicación 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
Además se podrán modificar los datos del elemento seleccionado cuando se haga click en un nuevo
botón que llamaremos Modificar.
Adela Valenciano Suárez
Pag. 3 De 4
Mejorar la aplicación de la agenda. Es una buena idea preguntar al
usuario en el instante en el que cierra la aplicación, 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
método que responda a este evento para notificarle lo descrito. Según
esto añada el método que responda a este evento y complételo como se
indica a continuación.
Mejorar la aplicación de la agenda. Añada la orden Acerca de en el menú.
Edite el método 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 aplicación de la agenda. Añadir los elementos en la agenda
siempre ordenados por nombre.
Mejorar la aplicación de la agenda. Añadir un botón para buscar un nombre
en la agenda y si está que me enseñe el telefono correspondiente y se
marque en laja de lista.
Mejorar la aplicación de la agenda. Poder abrir distintos archivos de
agenda o guardar en diferentes archivos. En el evento FormLoad no debemos
programar nada.
Adela Valenciano Suárez
Pag. 4 De 4
Descargar