Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenidos del tema 1. Archivos de datos. Introduccin 1. Utilizando las funciones integradas, propias de VbNet 1.2. Utilizando la clase Stream del espacio de nombres System.IO Consideraciones de programacin 2. Gestin del sistema de archivos 3. Anexo 1. El espacio de nombres System.IO de .Net 4. Bibliografa
En este captulo vamos a tratar sobre la utilizacin de archivos de datos con VB.Net, Fundamentalmente se comentarn los mtodos de trabajo, tanto propios de las versiones previas a .Net, tanto como las propias a la plataforma .Net. As mismo se especificarn los mtodos y propiedades para manejar el sistema de archivos y directorios. Se proponen dos ejercicios, un editor bsico de texto y una agenda de datos.
Para ello vamos a hacer dos programas ejemplo: 1. Editor: 2. Agenda: Lee la informacin de un fichero lnea a lnea y lo carga en un array de memoria. Vuelca la informacin de un array en un fichero. Carga un archivo de texto en un TextBox. Guarda los datos de un TextBox en un archivo
En Visual Basic .Net, se pueden manejar los archivos de texto, de dos formas: 1. Utilizando las funciones integradas, propias del lenguaje Visual Basic .Net.
Veremos ambas, pero haremos hincapi en la segunda, puesto que es la forma ms novedosa y quizs tambin algo ms complicada de entender, puesto que se fundamenta en la utilizacin de las clases y objetos propios de .Net. Aunque a primera vista, parezca ms fcil de utilizar las funciones propias de VB, pensemos que si sabemos cmo utilizar las clases comunes de .Net, nos puede servir para utilizarlo con cualquier otro lenguaje de la plataforma.
1.
Vienen proporcionadas por el objeto FileSystem. Es similar a como se utilizaba en la versin anterior de VB. Las principales funciones integradas son: FileOpen. Abre un archivo de texto para entrada o salida. LineInput. Lee una lnea de entrada desde de un archivo de texto. EOF. Comprueba el final del archivo. PrintLine. FileClose. Cierra el archivo.
Abrir un archivo para acceso secuencial Cuando se abre un archivo para acceso secuencial, se debe especificar si se van a extraer caracteres del archivo (modo Input), si se van a escribir caracteres en el archivo (modo Output) o si se van a anexar caracteres al archivo (modo Append). Utilizar FileOpen (Funcin) con la siguiente sintaxis: FileOpen(FileNumber, FileName, OpenMode.[Input,Output,Append]) Donde: FileNumber: Es un nmero que se asigna al fichero abierto. Podemos especificarlo nosotros directamente pero es aconsejable solicitarlo previamente al sistema, para ello tenemos la funcin FreeFile(), que solicita un nmero al sistema para asignarlo al fichero que utilizaremos.
Visual Basic proporciona instrucciones y funciones que leen y escriben archivos secuenciales carcter a carcter o lnea a lnea. Por ejemplo, el siguiente fragmento de cdigo lee un archivo lnea a lnea: Dim LineasFich, lineaSig As String, NumFichero As Integer NumFichero = FreeFile() Do Until EOF(NumFichero) LineaSig = LineInput(NumFichero) LineasFich = LineasFich & LineaSig & Chr(13) & Chr(10) Loop Aunque la funcin LineInput reconoce el fin de una lnea cuando llega a la secuencia retorno de carro y de salto de lnea, no incluye esa secuencia cuando lee la lnea en la variable. Si se desea conservar el retorno de carro y el saldo de lnea, el cdigo deber agregarlos.
Print(NumFichero, Cadena) Visual Basic tambin admite la funcin Write, que escribe una lista de nmeros y expresiones de cadena en un archivo. Separa automticamente cada expresin mediante una coma y pone entre comillas las expresiones de tipo String. Por ejemplo: Dim AnyString As String, AnyNumber, FileNum As Integer AnyString = "Cualquier cosa" AnyNumber = 23445 Write(FileNum, AnyString, AnyNumber) Print(FileNum, AnyString & AnyNumber)
Enumeracin Descripcin FileAccess Define constantes para accesos de lectura, de escritura o de lectura y escritura a un archivo. FileAttributes Proporciona atributos para archivos y directorios. FileMode Especifica cmo debe abrir un archivo el sistema operativo. FileShare Contiene constantes para controlar el tipo de acceso que otros FileStreams puedan tener al mismo archivo. NotifyFilters Especifica los cambios que se van a buscar en un archivo o una carpeta. SeekOrigin Proporciona los campos que representan puntos de referencia en las secuencias para realizar bsquedas seek. WatcherChangeTypesCambios que pueden producirse en un archivo o directorio.