Resumen Tipos de archivos

----- Mensaje original -----
De: Jose Villar <joxev@hotmail.com>
Para: <visualbasic-esp@egroups.com>
Enviado: Jueves, 20 de Mayo de 1999 09:10 a.m.
Asunto: (VB-ESP) Fichero Random


> ¿Sabe alguien si...
> Puede un fichero abierto en modo Random serlo también en modo
> Append ?
>
> Me gustaría poder abrir ese mismo fichero mas tarde y añadir registros.

[Nota: en este mensaje existen las siguientes equivalencias: archivo = fichero, computadora = ordenador, además, las comas se utilizan como separador de miles y no como separador de decimales]

Vamos por partes:

Visual Basic puede abrir tres tipos distintos de archivos planos, cada uno con sus características propias:

* Archivos de texto
* Archivos aleatorios
* Archivos binarios

Los archivos de texto son aquellos que almacenan caracteres ASCII (o ANSI) planos y que pueden ser cargados y modificados por cualquier editor de texto que se precie de serlo. Si el archivo de texto es abierto y grabado por una aplicación en modo consola (DOS), el archivo almacenará caracteres ASCII. Si es abierto por una aplicación en modo Windows, el archivo almacenará caracteres ANSI. Si es abierto por algún Sistema Operativo que soporte UNICODE, almacenará caracteres de este tipo. Sin menoscabo, en todos los casos deberá almacenarse texto plano y legible.

Este tipo de archivos se abre, como en los otros dos casos, con la palabra clave OPEN de Visual Basic. El modificador de apertura es el que establecerá el modo. Existen tres modificadores de apertura que pueden utilizarse: For Output, For Input y For Append. Un archivo de texto sólo podrá ser abierto por uno de estos tres modos a la vez. Como el sistema no tiene posibilidad de hacer algún cálculo para determinar la forma en que deberá leerse el archivo, la responsabilidad queda 100% orientada al desarrollador. Así pues, el formato de los datos y la manera en que los grabes y leas, será responsabilidad tuya por completo.

El segundo modo, For Random, basa su funcionamiento en registros perfectamente definidos, que permiten que el sistema pueda obtener los datos en forma ordenada. Aunque el diseño del registro también pende del desarrollador, este método permite un libre movimiento por el archivo, sin requerir de hacer aperturas en distintos modos para, entonces, leer o guardar información. Lo único que se requiere es proporcionar el número de registro en el que se trabajará y llevar a cabo el proceso de leer o guardar. Si se requiere de agregar algún registro al conjunto de registros ya almacenado, te podrías valer de la fórmula:

Lof(Canal)/LongReg + 1

Donde:
 Lof() es una función que te devuelve la cantidad total de bytes de un archivo abierto.
 Canal es el número con el que abriste el archivo de marras.
 LongReg es la longitud (cantidad de bytes) de cada registro (este número lo proporcionas al abrir tu archivo Random. Si no lo proporcionas, el tamaño predeterminado es de 128 bytes).

A LongReg lo puedes obtener mediante la expresión Len(Registro), donde Len() es una función que te devuelve la cantidad total de bytes de que consta la variable indicada entre paréntesis, y Registro sería aquél donde estableciste los nombres y características de los campos por utilizar en tu archivo.

Para leer datos de un archivo de este tipo, debes hacer uso de la palabra clave Get. Para guardarlos, deberás hacer uso de la palabra clave Put. Ambas tienen sintaxis similares, donde lo único que cambia es el uso de la palabra Get o Put:

Get #Canal, [NumReg], Registro
Put #Canal, [NumReg], Registro

Donde:
 Canal es el número con el que abriste el archivo de marras.
 NumReg es el número de registro que desees acceder (de 1 a 2,147,483,647 [equivalente a (2^31) -1]).
 Registro es aquél donde estableciste los nombres y características de los campos por utilizar en tu archivo.

En el tercer modo, For Binary, la lectura y escritura de los datos se hace byte por byte. No existen registros, no existen textos planos. Puedes almacenar lo que sea, como lo quieras. El tamaño máximo del archivo que puedes crear es de 2GB ((2^31) -1 bytes). Al abrir un archivo en modo binary, también podrás leer o guardar datos de manera indistinta, con las mismas palabras clave que For Random: Get y Put. La diferencia es que en la parte Registro de la sintaxis dada en For Random, deberás asignar una
variable de cualquier tipo que contenga la información por almacenar.

Así pues, no es necesario que abras un archivo Random en modo For Append, dado que el sólo uso del modo For Random te permitirá leer y escribir indistintamente la información en el archivo.

+---¡Saludos desde México!--+
| .+'~~'+. |
| * Tron * David.BAS |
| `+,__,+' |
+---------------------------+
 http://www.spin.com.mx/~adgarza
adgarza@spin.com.mx



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com