En este tema, aprenderemos cómo manejar archivos en Delphi/Object Pascal. Trabajar con archivos es una habilidad esencial para cualquier programador, ya que permite almacenar y recuperar datos de manera persistente. Veremos cómo abrir, leer, escribir y cerrar archivos, así como algunas técnicas avanzadas para manejar diferentes tipos de archivos.

Contenido

  1. Introducción a la Manipulación de Archivos
  2. Tipos de Archivos en Delphi
  3. Operaciones Básicas con Archivos
  4. Lectura y Escritura de Archivos de Texto
  5. Lectura y Escritura de Archivos Binarios
  6. Ejercicios Prácticos

  1. Introducción a la Manipulación de Archivos

La manipulación de archivos en Delphi se realiza utilizando una serie de funciones y procedimientos predefinidos. Los archivos pueden ser de texto o binarios, y cada tipo tiene sus propias funciones específicas para la lectura y escritura.

  1. Tipos de Archivos en Delphi

En Delphi, los archivos se pueden clasificar en dos tipos principales:

  • Archivos de Texto: Contienen datos en formato de texto legible.
  • Archivos Binarios: Contienen datos en formato binario, que no es legible directamente.

  1. Operaciones Básicas con Archivos

Las operaciones básicas que se pueden realizar con archivos incluyen:

  • Abrir un archivo: Preparar el archivo para su lectura o escritura.
  • Leer de un archivo: Extraer datos del archivo.
  • Escribir en un archivo: Insertar datos en el archivo.
  • Cerrar un archivo: Finalizar la operación con el archivo.

Ejemplo de Código: Abrir y Cerrar un Archivo

var
  MyFile: TextFile;
begin
  AssignFile(MyFile, 'example.txt');  // Asignar el archivo
  Reset(MyFile);                      // Abrir el archivo para lectura
  // Operaciones de lectura/escritura aquí
  CloseFile(MyFile);                  // Cerrar el archivo
end;

  1. Lectura y Escritura de Archivos de Texto

Lectura de Archivos de Texto

Para leer un archivo de texto, utilizamos las funciones Read y ReadLn.

Ejemplo de Código: Leer un Archivo de Texto

var
  MyFile: TextFile;
  Line: string;
begin
  AssignFile(MyFile, 'example.txt');
  Reset(MyFile);
  while not Eof(MyFile) do
  begin
    ReadLn(MyFile, Line);
    WriteLn(Line);  // Imprimir la línea leída
  end;
  CloseFile(MyFile);
end;

Escritura en Archivos de Texto

Para escribir en un archivo de texto, utilizamos las funciones Write y WriteLn.

Ejemplo de Código: Escribir en un Archivo de Texto

var
  MyFile: TextFile;
begin
  AssignFile(MyFile, 'example.txt');
  Rewrite(MyFile);  // Crear un nuevo archivo o sobrescribir el existente
  WriteLn(MyFile, 'Hello, World!');
  CloseFile(MyFile);
end;

  1. Lectura y Escritura de Archivos Binarios

Lectura de Archivos Binarios

Para leer archivos binarios, utilizamos las funciones BlockRead y BlockWrite.

Ejemplo de Código: Leer un Archivo Binario

var
  MyFile: File;
  Buffer: array[1..1024] of Byte;
  BytesRead: Integer;
begin
  AssignFile(MyFile, 'example.bin');
  Reset(MyFile, 1);  // Abrir el archivo en modo binario
  BlockRead(MyFile, Buffer, SizeOf(Buffer), BytesRead);
  // Procesar los datos leídos
  CloseFile(MyFile);
end;

Escritura en Archivos Binarios

Para escribir en archivos binarios, utilizamos BlockWrite.

Ejemplo de Código: Escribir en un Archivo Binario

var
  MyFile: File;
  Buffer: array[1..1024] of Byte;
begin
  AssignFile(MyFile, 'example.bin');
  Rewrite(MyFile, 1);  // Crear un nuevo archivo binario
  BlockWrite(MyFile, Buffer, SizeOf(Buffer));
  CloseFile(MyFile);
end;

  1. Ejercicios Prácticos

Ejercicio 1: Leer y Escribir un Archivo de Texto

Instrucciones:

  1. Crea un archivo de texto llamado data.txt y escribe las siguientes líneas:
    Delphi
    Object Pascal
    Programación
    
  2. Escribe un programa en Delphi que lea el archivo data.txt y muestre su contenido en la consola.

Solución:

var
  MyFile: TextFile;
  Line: string;
begin
  AssignFile(MyFile, 'data.txt');
  Reset(MyFile);
  while not Eof(MyFile) do
  begin
    ReadLn(MyFile, Line);
    WriteLn(Line);
  end;
  CloseFile(MyFile);
end;

Ejercicio 2: Copiar un Archivo Binario

Instrucciones:

  1. Crea un archivo binario llamado source.bin con algunos datos binarios.
  2. Escribe un programa en Delphi que copie el contenido de source.bin a un nuevo archivo llamado destination.bin.

Solución:

var
  SourceFile, DestFile: File;
  Buffer: array[1..1024] of Byte;
  BytesRead: Integer;
begin
  AssignFile(SourceFile, 'source.bin');
  AssignFile(DestFile, 'destination.bin');
  Reset(SourceFile, 1);
  Rewrite(DestFile, 1);
  repeat
    BlockRead(SourceFile, Buffer, SizeOf(Buffer), BytesRead);
    BlockWrite(DestFile, Buffer, BytesRead);
  until BytesRead = 0;
  CloseFile(SourceFile);
  CloseFile(DestFile);
end;

Conclusión

En esta sección, hemos aprendido cómo manejar archivos en Delphi/Object Pascal. Hemos cubierto las operaciones básicas de apertura, lectura, escritura y cierre de archivos, tanto de texto como binarios. Además, hemos practicado con ejercicios que refuerzan estos conceptos. En el siguiente tema, exploraremos el acceso a bases de datos, lo que nos permitirá trabajar con datos de manera más estructurada y eficiente.

Curso de Programación en Delphi/Object Pascal

Módulo 1: Introducción a Delphi/Object Pascal

Módulo 2: Estructuras de Control y Procedimientos

Módulo 3: Trabajando con Datos

Módulo 4: Programación Orientada a Objetos

Módulo 5: Características Avanzadas de Delphi

Módulo 6: Desarrollo de GUI con VCL y FMX

Módulo 7: Desarrollo Web y Móvil

Módulo 8: Mejores Prácticas y Patrones de Diseño

Módulo 9: Proyecto Final

© Copyright 2024. Todos los derechos reservados