0% ont trouvé ce document utile (0 vote)
7 vues5 pages

I/O et fichiers en Pascal : Guide complet

Module 7-Pascal

Transféré par

eUser456
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues5 pages

I/O et fichiers en Pascal : Guide complet

Module 7-Pascal

Transféré par

eUser456
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Module 7 : Manipulation des fichiers et des

entrées/sorties (I/O) en Pascal**

Module 7 : Manipulation des fichiers et des entrées/sorties (I/O) en Pascal

1. Introduction à l'I/O en Pascal

La manipulation des fichiers et des entrées/sorties (I/O) est essentielle pour lire et écrire des données
stockées sur disque. En Pascal, les opérations I/O permettent d'interagir avec des fichiers, de récupérer
ou d'enregistrer des données persistantes.

2. Opérations de lecture et écriture de fichiers

2.1 Ouverture et fermeture de fichiers

Pour ouvrir un fichier, on utilise Assign , Reset pour les fichiers existants, ou Rewrite pour en
créer de nouveaux.

Pour fermer un fichier, on utilise Close .

Var
F: TextFile;
Begin
Assign(F, '[Link]'); { Assigner le nom du fichier }
Reset(F); { Ouvrir le fichier en mode lecture }
{ Code de traitement de lecture }
Close(F); { Fermer le fichier }
End.

2.2 Lecture de fichiers

Lecture d'un fichier ligne par ligne avec ReadLn ou Read :

Var
F: TextFile;
Ligne: String;
Begin
Assign(F, '[Link]');
Reset(F);

While Not EOF(F) Do


Begin
ReadLn(F, Ligne); { Lecture d'une ligne }
Writeln(Ligne); { Affichage }
End;

Close(F);
End.

2.3 Écriture dans un fichier

Utilisation de Rewrite ou Append pour écrire :

Var
F: TextFile;
Texte: String;
Begin
Assign(F, '[Link]');
Rewrite(F); { Ouvrir pour écrire }
Writeln(F, 'Bonjour');{ Écriture de données }
Close(F); { Fermer le fichier }
End.

2.4 Ouverture en mode Append

Utilisé pour ajouter des données à la fin d'un fichier existant :

Assign(F, '[Link]');
Append(F);
Writeln(F, 'Nouvelle ligne');
Close(F);

3. Lecture et écriture de fichiers binaires

Utilisation de types binaires avec File of et BlockRead , BlockWrite .

3.1 Écriture dans un fichier binaire

Var
F: File of Integer;
Valeur: Integer;
Begin
Assign(F, 'fichier_bin.dat');
Rewrite(F);

Valeur := 123; { Écriture d'entiers }


BlockWrite(F, Valeur, SizeOf(Valeur));

Close(F);
End.

3.2 Lecture d'un fichier binaire


Var
F: File of Integer;
Valeur: Integer;
Begin
Assign(F, 'fichier_bin.dat');
Reset(F);

While Not EOF(F) Do


Begin
BlockRead(F, Valeur, SizeOf(Valeur));
Writeln('Valeur : ', Valeur);
End;

Close(F);
End.

4. Gestion des exceptions et erreurs

Il est important de gérer les erreurs de fichiers avec Assign et Reset :

Var
F: TextFile;
Begin
Assign(F, '[Link]');
{$I-} Reset(F); {$I+}
If IOResult <> 0 Then
Writeln('Erreur lors de l''ouverture du fichier')
Else
Begin
{ Code de lecture ou écriture }
Close(F);
End;
End;

5. Manipulation des fichiers avec enregistrement et récupération de données


structurées

5.1 Enregistrement et lecture avec des types records

Utilisation d'enregistrements pour stocker des données complexes.

Type
TPerson = Record
Nom: String[50];
Âge: Integer;
End;
Var
F: File of TPerson;
P: TPerson;
Begin
Assign(F, '[Link]');
Rewrite(F);

[Link] := 'Alice';
P.Âge := 30;
BlockWrite(F, P, SizeOf(TPerson));

Close(F);

Reset(F);
While Not EOF(F) Do
Begin
BlockRead(F, P, SizeOf(TPerson));
Writeln('Nom: ', [Link], ', Âge: ', P.Âge);
End;
Close(F);
End.

6. Manipulation des entrées/sorties utilisateur (Console Input/Output)

Lecture depuis la console :

Var
Nom: String;
Âge: Integer;
Begin
Write('Entrez votre nom : ');
ReadLn(Nom); { Lecture d'une chaîne de caractères }

Write('Entrez votre âge : ');


ReadLn(Âge); { Lecture d'un entier }

Writeln('Nom : ', Nom);


Writeln('Âge : ', Âge);
End.

Écriture sur la console :

WriteLn('Bonjour, ', Nom);


7. Exemples pratiques de manipulation des fichiers et I/O

Program Main;

Var
F: TextFile;
Nom: String;
Âge: Integer;

Begin
Assign(F, 'fichier_personnes.txt');
Rewrite(F);

Write('Entrez le nom : '); ReadLn(Nom);


Write('Entrez l''âge : '); ReadLn(Âge);

Writeln(F, Nom, ' ', Âge);


Close(F);

Reset(F);

While Not EOF(F) Do


Begin
ReadLn(F, Nom, Âge);
Writeln('Nom: ', Nom, ', Âge: ', Âge);
End;

Close(F);
End.

Ce module a couvert les bases de la gestion des fichiers et des entrées/sorties (I/O) en Pascal. Si vous
avez besoin de détails supplémentaires ou d'exemples plus spécifiques, je suis à votre disposition.

Vous aimerez peut-être aussi