Grabando texto en un fichero

Grabando texto en un fichero

Una vez seleccionado el procedimiento de evento para el botón btnSalir, escribiremos las líneas mostradas en el Código fuente 25 que comentaremos detalladamente.

© Grupo EIDOS 7. Una aplicación con funcionalidad básica

Private Sub btnGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGrabar.Click

' declarar una variable para la escritura ' de texto en un fichero Dim oEscritor As StreamWriter

' crear un fichero de texto vacío ' y obtener un objeto StreamWriter ' para escribir en el fichero oEscritor = File.CreateText(Environment.CurrentDirectory & "\" &

Me.txtNombreFichero.Text & ".TXT")

' escribir en el fichero el contenido del ' control TextBox oEscritor.Write(Me.txtTexto.Text)

' cerrar el objeto, lo que cierra también el ' fichero, y eliminar el objeto oEscritor.Close() oEscritor = Nothing

End Sub

Código fuente 25. Evento Click() del botón btnGrabar.

En primer lugar declaramos la variable oEscritor de tipo StreamWriter. Este tipo de objetos nos permitirán realizar la escritura de un flujo (stream) de caracteres sobre un fichero del disco.

A continuación, vamos a crear un fichero de texto en nuestro disco duro, en la misma ruta en la que se está ejecutando la aplicación. Esto lo conseguimos llamando al método compartido CreateText( ), del objeto File (observe el lector que al ser un método compartido no necesitamos instanciar un objeto de la clase File y pasarlo a una variable).

El método CreateText( ) recibe como parámetro una cadena de caracteres con la ruta y el nombre del fichero a crear. Para componer esta ruta utilizamos por un lado el objeto Environment y su propiedad compartida CurrentDirectory que devuelve la ruta del directorio actual en donde se está ejecutando la aplicación, y por otro lado la propiedad Text del control txtNombreFichero, que contiene el valor que el usuario haya escrito en dicho TextBox. Estos dos elementos los unimos, formando una sola cadena, mediante el operador de concatenación de VB: &.

La llamada a CreateText( ) devuelve un objeto de tipo StreamWriter, que depositamos en la variable oEscritor, con lo que ya tenemos en la variable un objeto para escribir texto.

El siguiente paso consiste en llamar al método Write( ) de oEscritor y pasarle como parámetro la propiedad Text del control txtTexto, que contiene el texto escrito por el usuario. Este texto es grabado en el fichero.

Para finalizar, cerramos el objeto oEscritor llamando a su método Close( ) y le asignamos la palabra clave Nothing para liberar los recursos del sistema que pudiera estar utilizando.

Observe el lector, como el formato de manipulación de objetos se basa en la variable que contiene el objeto o el propio nombre del objeto (si es compartido), un punto y el nombre del método a llamar o propiedad de la que recuperamos o a la que asignamos un valor, tal y como muestra de forma esquemática el Código fuente 26.

Programación con Visual Basic .NET © Grupo EIDOS

' objetos instanciados '---------------------

oVar.Propiedad = valor ' asignar valor a propiedad variable = oVar.Propiedad ' recuperar valor de propiedad oVar.Metodo([ListaParametros]) ' llamar a método variable = oVar.Metodo([ListaParametros]) ' llamar a método y recuperar valor

' objetos compartidos '--------------------- Objeto.Propiedad = valor ' asignar valor a propiedad variable = Objeto.Propiedad ' recuperar valor de propiedad Objeto.Metodo([ListaParametros]) ' llamar a método Variable = Objeto.Metodo([ListaParametros]) ' llamar a método y recuperar valor

Código fuente 26. Modos de manipulación propiedades y métodos de objetos.

Ya sólo queda ejecutar el programa, escribir valores en los controles, y generar el fichero de texto para comprobar que todo funciona correctamente, con ello habremos conseguido crear un programa que tenga una aplicación algo más práctica que el típico hola mundo.