ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Gestion de archivos desde Basic

maomeResumen13 de Octubre de 2015

3.609 Palabras (15 Páginas)158 Visitas

Página 1 de 15

Gestión de archivos desde BASIC / Visual BASIC

[pic 1]

Manejo de archivos tipo secuencial, aleatorio y binario desde BASIC

[pic 2]

Este artículo describe la manera básica de gestionar archivos desde una aplicación BASIC o Visual BASIC.

[pic 3]

Contenido

  • Introducción 
  • Archivos Secuenciales 
  • Archivos Aleatorios 
  • Archivos Binarios 

más

[pic 4]Enlace 

[pic 5]Cita[pic 6]Correo electrónico[pic 7]Imprimir[pic 8]Favorito[pic 9]Recopilar esta página

Este artículo está redactado en español

 

Introducción

Un archivo de datos es básicamente un conjunto de bytes almacenados bajo un nombre en un soporte físico, por ejemplo en un disco. Pero esa colección de bytes representa algo más, es normalmente una sucesión de registros que representan la unidad de información, registros que a su vez se dividen en campos que almacenan datos comunes. Gráficamente, una estructura de este tipo se puede representar de la siguiente forma:

 

[pic 10]

 

En este ejemplo supusimos un archivo de datos compuesto de cuatro registros conteniendo nombre, edad y matricula de 4 supuestos alumnos. Como se puede ver, cada registro contiene la información de un alumno en particular, y cada campo contiene un determinado tipo de dato común a todos los registros. Se dice entonces que el archivo está compuesto de registros (filas) divididos en campos (columnas).
Un proceso de "alta" es cuando se agrega un registro nuevo al archivo de datos. Un proceso de "baja" es cuando se elimina un registro y uno de "modificación" cuando se altera el contenido de uno o más campos de un registro.
Visual BASIC mantiene un indicador interno sobre el archivo de datos que se denomina puntero. Sirve para realizar una operación específica sobre un registro en particular. Algunas instrucciones modifican por si solas la posición de este puntero, otras son expresamente para esto.

Visual BASIC (además de bases de datos) reconoce tres tipos diferentes de archivos:

- Secuenciales  Son archivos de texto (normalmente con codificación ASCII o ANSI) en donde cada registro termina con la dupla de bytes CR/LF (retorno de carro + avance de línea), y los campos están separados por comas. Si un dato es de tipo carácter aparece encerrado entre comillas, si es numérico no. Los registros pueden tener diferente longitud. Esto último conduce a una de las principales contras de este tipo de archivos, para acceder a un registro hay que recorrer el archivo desde el principio hasta encontrarlo (acceso secuencial).

- Aleatorios  Son archivos en donde cada registro tiene una longitud fija, gracias a que cada campo en todos los registros es de igual ancho. Esto permite un acceso a los registros en forma directa, ya que se sabe de antemano la posición de cada uno (acceso directo). Además implícitamente cada registro tiene asociado un número que lo identifica.

- Binarios  Son ficheros que se salen de la estructura registro-campo, ya que son tratados como una sucesión de bytes independientes. Cada byte ocupa una posición numerada 0, 1, 2, etc.. y se trata a su contenido como valor binario más que como representación ASCII/ANSI.

En las próximas líneas se tratará, para cada tipo de archivo, los siguientes puntos:

 - Estructura
 - Técnica para altas, bajas y modificaciones (ABM).
 - Creación
 - Acceso

En las instrucciones de manejo de archivos se utiliza lo que se llama un handler; se trata de un valor numérico que se asocia a un archivo que se abre para que luego, al hacer mención del mismo archivo se utilice este número asociado.

 

FREEFILE   -   función

Devuelve el primer número libre para asociar a un archivo

Sintaxis:

 variable = FREEFILE

variable Esta variable pasa a contener el número que se asociará a las instrucciones de manejo de archivos. De esta forma no nos tenemos que preocupar por recordarlo. 
 

Archivos Secuenciales

Estructura de un archivo secuencial

Un archivo secuencial en Visual BASIC es un archivo de texto, esto quiere decir que los elementos que lo componen son caracteres representados según el código ASCII/ANSI. Esto permite que se pueda inspeccionar con un editor cualquier archivo secuencial de Visual BASIC, donde podremos ver una serie de filas que van a ser los registros del mismo; esta presentación en líneas se debe a que cada registro tiene como marca de terminación dos caracteres de control: el código 13 o "retorno de carro" (en hexadecimal 0D) y el 10 o "avance de línea" (en hexadecimal 0A). Luego del último registro podemos encontrar el carácter de control "fin de archivo" de código 26 (en hexadecimal 1A). Los campos dentro de cada registro están separados por comas. Veamos el modelo del gráfico anterior como archivo secuencial:

    "Juan",19,"32-324509"
    "Luis",22,"30-348722"
    "Claudia",12, "36-390087"
    "Martín",25,"28-349812"

 De los tres campos, el primero y el tercero son de carácter, es por eso que están encerrados entre comillas. También se puede apreciar que los registros son de diferente longitud porque el primer campo varía su largo.

ABM de un archivo secuencial

Los archivos secuenciales son muy imprácticos para los procesos de actualización, solo un proceso es simple, el alta de registros al final del archivo, pero de estar ordenado lo desordena. Un proceso de ABM manteniendo el ordenamiento solo puede hacerse cargando primero todo el archivo en memoria (en un array), haciendo las actualizaciones y luego volviéndolo a grabar. Esto se debe a que no es posible el acceso directo a los registros, debiéndose siempre acceder secuencialmente desde el primero. Por todo esto, los archivos secuenciales no son muy usados; tiene sentido utilizarlos sólo para almacenar pequeñas cantidades de información como ser: datos de configuración, archivos temporales, archivos de migraciones de datos entre sistemas, etc. o para generar archivos ASCII de un conjunto de datos para que otra aplicación pueda importarlos.

Creación de un archivo secuencial

Para crear un archivo secuencial se deben seguir los siguientes pasos:

1- Abrir el archivo para salida (OUTPUT) o para agregados (APPEND) utilizando la sentencia OPEN.
2- Introducir datos en el archivo abierto usando las sentencias PRINT #  o WRITE #.
3- Finalizadas las tareas cerrar el archivo con la sentencia CLOSE.

Ejemplo 1:

Haga clic en la imagen de abajo para ver el ejemplo

 

[pic 11]

 Ejemplo 2:

 En el ejemplo anterior, cambiar el OUTPUT de la primer línea por APPEND.

 

OPEN   -   sentencia

Abre un archivo para operaciones de entrada/salida.

Sintaxis:

 OPEN  nombre_archivo  [FOR  modo] AS [#] nº_archivo

nombre_archivo Es una expresión de caracteres indicando el nombre del archivo a abrir. El nombre del archivo puede incluir la ruta de acceso (path) al mismo.

modo    Es una de las tres palabras siguientes:

 OUTPUT Se usa para indicar que se quieren escribir datos al archivo. Si no existe un archivo con igual nombre, entonces se crea; si el archivo ya existe se destruye y se crea uno nuevo.

 APPEND Usada cuando se quiere añadir datos al archivo, preservando los anteriores. Si el archivo no existe se crea. El puntero se ubica al final del archivo.

 INPUT Indica que se van a leer datos del archivo. El puntero se ubica al principio del archivo.

nº_archivo   Es un número comprendido entre 1 y 255 que queda asociado al archivo mientras esté abierto para que lo usen las instrucciones de E/S (Entrada/Salida).

Ejemplo:

 fichero = FREEFILE
 OPEN "c:\datos\info.txt" FOR INPUT AS # fichero  'abre arch."info.txt" p / lectura

 a$ = "log.dat"
 OPEN a$ FOR OUTPUT AS # fichero    'abre archivo "log.dat" p/escritura


PRINT #   -   sentencia

Envía los datos a un archivo.

Sintaxis:

 PRINT # nº_archivo, lista de expresiones N/C [{,|;}]

nº_archivo   Es el numero que se asoció al archivo cuando fue abierto para escritura  con OPEN.

lista de expresiones N/C Son las expresiones que se grabarán en el archivo. La separación y terminación con coma o punto y coma funciona igual que con PRINT del BASIC


PRINT # no es adecuada para que el archivo de datos secuencial quede formateado como corresponde, ya que hay que agregar en la lista de expresiones las comillas y comas que este tipo de archivo necesita.

...

Descargar como (para miembros actualizados) txt (21 Kb) pdf (358 Kb) docx (192 Kb)
Leer 14 páginas más »
Disponible sólo en Clubensayos.com