Module 4 : Gestion des fichiers en Pascal**
Module 4 : Gestion des fichiers en Pascal
Ce module couvre la gestion des fichiers en langage Pascal, y compris la lecture, l’écriture et la
manipulation de différents types de fichiers. Vous apprendrez à utiliser les fonctionnalités de base pour
travailler avec des fichiers texte et binaires.
1. Introduction à la gestion des fichiers
Un fichier est une collection de données stockées sur un disque. Pascal permet de manipuler deux
types de fichiers principaux :
Fichiers texte : Contiennent des données sous forme lisible (ex. .txt ).
Fichiers binaires : Contiennent des données sous une forme binaire compressée.
2. Fichiers texte
2.1 Déclaration et assignation
Les fichiers texte sont déclarés avec le type prédéfini Text .
Exemple de déclaration :
Var
FichierTexte: Text;
2.2 Écriture dans un fichier texte
Exemple simple :
Var
FichierTexte: Text;
Begin
Assign(FichierTexte, '[Link]'); { Associe le fichier au programme
}
Rewrite(FichierTexte); { Ouvre le fichier en mode
écriture }
WriteLn(FichierTexte, 'Bonjour, monde !'); { Écrit une ligne dans le
fichier }
Close(FichierTexte); { Ferme le fichier }
End.
2.3 Lecture depuis un fichier texte
Exemple :
Var
FichierTexte: Text;
Ligne: String;
Begin
Assign(FichierTexte, '[Link]'); { Associe le fichier au programme
}
Reset(FichierTexte); { Ouvre le fichier en mode lecture
}
While Not EOF(FichierTexte) Do { Parcourt le fichier jusqu'à la
fin }
Begin
ReadLn(FichierTexte, Ligne); { Lit une ligne }
WriteLn(Ligne); { Affiche la ligne à l’écran }
End;
Close(FichierTexte); { Ferme le fichier }
End.
3. Fichiers binaires
3.1 Déclaration et assignation
Les fichiers binaires utilisent des types personnalisés.
Exemple :
Var
FichierBinaire: File of Integer;
3.2 Écriture dans un fichier binaire
Exemple :
Var
FichierBinaire: File of Integer;
Nombre: Integer;
Begin
Assign(FichierBinaire, '[Link]');
Rewrite(FichierBinaire); { Ouvre le fichier en mode écriture }
For Nombre := 1 To 5 Do
Write(FichierBinaire, Nombre); { Écrit chaque nombre dans le fichier
}
Close(FichierBinaire);
End.
3.3 Lecture depuis un fichier binaire
Exemple :
Var
FichierBinaire: File of Integer;
Nombre: Integer;
Begin
Assign(FichierBinaire, '[Link]');
Reset(FichierBinaire); { Ouvre le fichier en mode lecture }
While Not EOF(FichierBinaire) Do
Begin
Read(FichierBinaire, Nombre); { Lit un nombre }
WriteLn(Nombre); { Affiche le nombre }
End;
Close(FichierBinaire);
End.
4. Modes d’ouverture des fichiers
4.1 Modes principaux
Rewrite : Ouvre un fichier en mode écriture (le contenu existant est effacé).
Reset : Ouvre un fichier en mode lecture.
Append : Ouvre un fichier en mode ajout (ajoute à la fin du fichier existant).
4.2 Exemple avec Append
Ajout d’une ligne à un fichier texte :
Var
FichierTexte: Text;
Begin
Assign(FichierTexte, '[Link]');
Append(FichierTexte); { Ouvre le fichier en mode ajout }
WriteLn(FichierTexte, 'Nouvelle ligne ajoutée.');
Close(FichierTexte);
End.
5. Gestion des erreurs lors de la manipulation des fichiers
5.1 Vérification de l’existence d’un fichier
Utilisation de FileExists :
Uses
SysUtils; { Nécessaire pour FileExists }
Var
Fichier: String;
Begin
Fichier := '[Link]';
If FileExists(Fichier) Then
WriteLn('Le fichier existe.')
Else
WriteLn('Le fichier n''existe pas.');
End.
5.2 Gestion des exceptions
Exemple :
Uses
SysUtils;
Var
FichierTexte: Text;
Begin
Try
Assign(FichierTexte, '[Link]');
Reset(FichierTexte);
WriteLn('Fichier ouvert avec succès.');
Close(FichierTexte);
Except
On E: Exception Do
WriteLn('Erreur : ', [Link]);
End;
End.
6. Applications pratiques
6.1 Sauvegarde et chargement d’une liste
Exemple : Sauvegarder et charger une liste de noms dans un fichier texte.
Var
FichierTexte: Text;
i: Integer;
Noms: Array[1..3] of String = ('Ali', 'Fatima', 'Karim');
Begin
{ Sauvegarde }
Assign(FichierTexte, '[Link]');
Rewrite(FichierTexte);
For i := 1 To 3 Do
WriteLn(FichierTexte, Noms[i]);
Close(FichierTexte);
{ Chargement }
Assign(FichierTexte, '[Link]');
Reset(FichierTexte);
While Not EOF(FichierTexte) Do
Begin
ReadLn(FichierTexte, Noms[i]);
WriteLn('Nom chargé : ', Noms[i]);
End;
Close(FichierTexte);
End.
6.2 Gestion d’un fichier d’enregistrements
Exemple : Manipuler une liste de personnes dans un fichier binaire.
Type
Personne = Record
Nom: String[20];
Âge: Integer;
End;
Var
Fichier: File of Personne;
P: Personne;
Begin
Assign(Fichier, '[Link]');
Rewrite(Fichier);
{ Sauvegarde d'un enregistrement }
[Link] := 'Ali';
P.Âge := 30;
Write(Fichier, P);
[Link] := 'Fatima';
P.Âge := 25;
Write(Fichier, P);
Close(Fichier);
{ Lecture des enregistrements }
Reset(Fichier);
While Not EOF(Fichier) Do
Begin
Read(Fichier, P);
WriteLn('Nom : ', [Link], ', Âge : ', P.Âge);
End;
Close(Fichier);
End.
7. Conclusion
La gestion des fichiers en Pascal est essentielle pour stocker et manipuler des données de manière
persistante. Ce module fournit une base solide pour la lecture, l’écriture et l’organisation des données
dans des fichiers texte et binaires. Pour des projets avancés ou des exercices spécifiques, faites-le-moi
savoir !