Crear una base de datos utilizando el archivo de archivos mecanografiados de Delphi

Simplemente poner un archivo es un secuencia binaria de algún tipo En Delphi, hay tres clases de archivo: mecanografiado, texto y sin tipo. Los archivos mecanografiados son archivos que contienen datos de un tipo particular, como Doble, Entero o Tipo de registro personalizado previamente definido. Los archivos de texto contienen caracteres ASCII legibles. Los archivos sin tipo se utilizan cuando queremos imponer la menor estructura posible en un archivo.

Archivos mecanografiados

Mientras que los archivos de texto consisten en líneas terminadas con un CR / LF (#13#10) combinación, los archivos escritos consisten en datos tomados de un tipo particular de estructura de datos.

Por ejemplo, la siguiente declaración crea un tipo de registro llamado TMember y una matriz de variables de registro TMember.

tipo

 TMember = grabar

 Nombre: cuerda[50];

correo electrónico:
cuerda[30];

Publicaciones: LongInt;
final;

var Miembros: formación[1..50] de TMember; 

Antes de poder escribir la información en el disco, tenemos que declarar una variable de un tipo de archivo. La siguiente línea de código declara una variable de archivo F.

instagram viewer

var F: archivo de TMember; 

Nota: Para crear un archivo escrito en Delphi, utilizamos lo siguiente sintaxis:

var SomeTypedFile: archivo de Algún tipo

El tipo base (SomeType) para un archivo puede ser un tipo escalar (como Double), un tipo de matriz o un tipo de registro. No debe ser una cadena larga, matriz dinámica, clase, objeto o puntero.

Para comenzar a trabajar con archivos de Delphi, tenemos que vincular un archivo en un disco a una variable de archivo en nuestro programa. Para crear este enlace, debemos usar AssignFile procedimiento para asociar un archivo en un disco con una variable de archivo.

 AssignFile (F, 'Members.dat') 

Una vez que se establece la asociación con un archivo externo, la variable de archivo F debe 'abrirse' para prepararla para leer y escribir. Llamamos al procedimiento Restablecer para abrir un archivo existente o Reescribir para crear un nuevo archivo. Cuando un programa completa el procesamiento de un archivo, el archivo debe cerrarse utilizando el procedimiento Cerrar archivo. Después de cerrar un archivo, se actualiza su archivo externo asociado. La variable de archivo se puede asociar con otro archivo externo.

En general, siempre debemos usar manejo de excepciones; Pueden surgir muchos errores al trabajar con archivos. Por ejemplo: si llamamos a CloseFile para un archivo que ya está cerrado, Delphi informa un error de E / S. Por otro lado, si intentamos cerrar un archivo pero aún no hemos llamado AssignFile, los resultados son impredecibles.

Escribir en un archivo

Supongamos que hemos llenado una serie de miembros de Delphi con sus nombres, correos electrónicos y número de publicaciones y queremos almacenar esta información en un archivo en el disco. El siguiente código hará el trabajo:

var

 F: archivo de TMember;

i: entero;
empezar

 AssignFile (F, 'members.dat');

 Reescribir (F);

tratar

para j: = 1 a 50 hacer

 Escribir (F, Miembros [j]);

finalmente

 Cerrar archivo (F);

final;final; 

Leer de un archivo

Para recuperar toda la información del archivo 'members.dat', usaríamos lo siguiente código:

var

 Miembro: TMember

 F: archivo de TMember;empezar

 AssignFile (F, 'members.dat');

 Restablecer (F);

tratar

mientras no Eof (F) empieza

 Leer (F, miembro);

{DoSomethingWithMember;}

final;

finalmente

 Cerrar archivo (F);

final;final; 

Nota: Eof es la función de verificación EndOfFile. Usamos esta función para asegurarnos de que no estamos intentando leer más allá del final del archivo (más allá del último registro almacenado).

Buscando y Posicionando

Normalmente se accede a los archivos de forma secuencial. Cuando se lee un archivo usando el procedimiento estándar Lectura o escritura usando el procedimiento estándar Escribir, la posición actual del archivo se mueve al siguiente componente de archivo ordenado numéricamente (siguiente registro). También se puede acceder a los archivos mecanografiados aleatoriamente a través del procedimiento estándar Buscar, que mueve la posición actual del archivo a un componente específico. los FilePos y Tamaño del archivo Las funciones se pueden utilizar para determinar la posición actual del archivo y el tamaño del archivo actual.

{volver al principio: el primer registro}

 Buscar (F, 0);


{ir al quinto registro}

 Buscar (F, 5);


{Salta al final - "después" del último registro}

 Buscar (F, Tamaño de archivo (F)); 

Cambiar y actualizar

Acaba de aprender a escribir y leer toda la gama de miembros, pero ¿qué pasa si todo lo que quiere hacer es buscar al décimo miembro y cambiar el correo electrónico? El siguiente procedimiento hace exactamente eso:

procedimiento Cambiar e-mail(const RecN: entero; const Nuevo correo electrónico: cuerda) ;var DummyMember: TMember;empezar

{asignar, abrir, bloque de manejo de excepciones}

 Buscar (F, RecN);

 Leer (F, DummyMember);

 DummyMember. Correo electrónico: = NewEMail;

{leer pasa al siguiente registro, tenemos que

regrese al registro original, luego escriba}
 Buscar (F, RecN);

 Escribir (F, DummyMember);

{cerrar el archivo}final;

Completando la tarea

Eso es todo, ahora tiene todo lo que necesita para cumplir su tarea. Puede escribir la información de los miembros en el disco, puede volver a leerla e incluso puede cambiar algunos de los datos (correo electrónico, por ejemplo) en el "medio" del archivo.

Lo importante es que este archivo no es un Archivo ASCIIasí es como se ve en Bloc (solo un registro):

 .Delphi Guide g Ò5 · ¿ì. 5.. B V.Lƒ, „¨[email protected]Ï.. ç.ç.ï.. 

instagram story viewer