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
- Tipus d'Arxius: Arxius de text i arxius binaris.
- Operacions Bàsiques: Obrir, llegir, escriure i tancar arxius.
- 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
- Introducció a Delphi i Object Pascal
- Configuració de l'Entorn de Desenvolupament
- Primera Aplicació Delphi
- Sintaxi i Estructura Bàsiques
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control i Procediments
- Declaracions Condicionals
- Bucles i Iteració
- Procediments i Funcions
- Abast i Durada de les Variables
- Gestió d'Errors i Depuració
Mòdul 3: Treballant amb Dades
- Arrays i Cadenes
- Registres i Conjunts
- Tipus Enumerats i Subrang
- Gestió d'Arxius
- Accés a Bases de Dades
Mòdul 4: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Herència i Polimorfisme
- Interfícies i Classes Abstractes
- Gestió d'Excepcions en POO
Mòdul 5: Funcions Avançades de Delphi
- Generics i Col·leccions
- Multifil i Programació Paral·lela
- Desenvolupament Basat en Components
- Biblioteca d'Execució de Delphi (RTL)
- Tècniques Avançades de Depuració
Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX
- Introducció a VCL
- Creació de Formularis i Controls
- Programació Basada en Esdeveniments
- Introducció a FireMonkey (FMX)
- Desenvolupament Multiplataforma amb FMX
Mòdul 7: Desenvolupament Web i Mòbil
- Desenvolupament Web amb Delphi
- Serveis RESTful
- Desenvolupament Mòbil amb Delphi
- Desplegament d'Aplicacions Mòbils
- Integració amb Serveis Web
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Organització del Codi i Documentació
- Patrons de Disseny en Delphi
- Tècniques de Refactorització
- Proves Unitàries i Desenvolupament Basat en Proves
- Optimització del Rendiment