En aquest tema, aprendrem a treballar amb arxius en Delphi/Object Pascal. La gestió d'arxius és una habilitat essencial per a qualsevol programador, ja que permet emmagatzemar, llegir i manipular dades de manera persistent. Explorarem com obrir, llegir, escriure i tancar arxius, així com les diferents maneres de gestionar errors durant aquestes operacions.

Conceptes Clau

  1. Tipus d'Arxius: Arxius de text i arxius binaris.
  2. Operacions Bàsiques: Obrir, llegir, escriure i tancar arxius.
  3. Gestió d'Errors: Com manejar errors durant les operacions amb arxius.

Tipus d'Arxius

Arxius de Text

Els arxius de text contenen dades en format llegible per humans. Cada línia d'un arxiu de text acaba amb un caràcter de nova línia.

Arxius Binaris

Els arxius binaris contenen dades en format binari, que no són directament llegibles per humans. Són útils per emmagatzemar dades estructurades com registres o objectes.

Operacions Bàsiques amb Arxius

Obrir un Arxiu

Per obrir un arxiu en Delphi, utilitzem la funció AssignFile per associar un nom d'arxiu amb una variable de fitxer. Després, utilitzem Reset per obrir l'arxiu en mode lectura o Rewrite per obrir-lo en mode escriptura.

var
  F: TextFile;
begin
  AssignFile(F, 'example.txt');
  Reset(F);  // Obrir en mode lectura
  // O
  Rewrite(F);  // Obrir en mode escriptura
end;

Llegir d'un Arxiu

Per llegir d'un arxiu de text, utilitzem les funcions Read o ReadLn.

var
  F: TextFile;
  Line: string;
begin
  AssignFile(F, 'example.txt');
  Reset(F);
  while not Eof(F) do
  begin
    ReadLn(F, Line);
    WriteLn(Line);  // Mostra la línia llegida
  end;
  CloseFile(F);
end;

Escriure a un Arxiu

Per escriure a un arxiu de text, utilitzem les funcions Write o WriteLn.

var
  F: TextFile;
begin
  AssignFile(F, 'example.txt');
  Rewrite(F);
  WriteLn(F, 'Aquesta és una línia de text.');
  CloseFile(F);
end;

Tancar un Arxiu

Després de treballar amb un arxiu, és important tancar-lo utilitzant la funció CloseFile.

var
  F: TextFile;
begin
  AssignFile(F, 'example.txt');
  Reset(F);
  // Operacions amb l'arxiu
  CloseFile(F);
end;

Gestió d'Errors

És important gestionar els errors que poden ocórrer durant les operacions amb arxius. Utilitzem blocs try...except per capturar i manejar excepcions.

var
  F: TextFile;
begin
  try
    AssignFile(F, 'example.txt');
    Reset(F);
    // Operacions amb l'arxiu
    CloseFile(F);
  except
    on E: EInOutError do
      WriteLn('Error d'entrada/sortida: ', E.Message);
  end;
end;

Exercicis Pràctics

Exercici 1: Llegir un Arxiu de Text

Crea un programa que llegeixi un arxiu de text anomenat data.txt i mostri el seu contingut línia per línia.

Solució:

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

Exercici 2: Escriure a un Arxiu de Text

Crea un programa que escrigui les línies "Hola, món!" i "Aquesta és una prova." a un arxiu de text anomenat output.txt.

Solució:

var
  F: TextFile;
begin
  AssignFile(F, 'output.txt');
  Rewrite(F);
  WriteLn(F, 'Hola, món!');
  WriteLn(F, 'Aquesta és una prova.');
  CloseFile(F);
end;

Exercici 3: Gestió d'Errors

Modifica el programa de l'Exercici 1 per gestionar errors d'entrada/sortida.

Solució:

var
  F: TextFile;
  Line: string;
begin
  try
    AssignFile(F, 'data.txt');
    Reset(F);
    while not Eof(F) do
    begin
      ReadLn(F, Line);
      WriteLn(Line);
    end;
    CloseFile(F);
  except
    on E: EInOutError do
      WriteLn('Error d'entrada/sortida: ', E.Message);
  end;
end;

Resum

En aquesta secció, hem après a treballar amb arxius en Delphi/Object Pascal. Hem explorat com obrir, llegir, escriure i tancar arxius, així com la importància de gestionar errors durant aquestes operacions. Els exercicis pràctics proporcionats t'ajudaran a consolidar aquests conceptes i a aplicar-los en situacions reals.

Curs de Programació Delphi/Object Pascal

Mòdul 1: Introducció a Delphi/Object Pascal

Mòdul 2: Estructures de Control i Procediments

Mòdul 3: Treballant amb Dades

Mòdul 4: Programació Orientada a Objectes

Mòdul 5: Funcions Avançades de Delphi

Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX

Mòdul 7: Desenvolupament Web i Mòbil

Mòdul 8: Millors Pràctiques i Patrons de Disseny

Mòdul 9: Projecte Final

© Copyright 2024. Tots els drets reservats