Section courante

A propos

Section administrative du site

En Delphi, Kylix ou Lazarus, la lecture d'un fichier texte séquentiel fait partie des opérations d'entrée et de sortie les plus courantes. Qu'il s'agisse de traiter des fichiers de configuration, des journaux d'événements, des listes de données ou des documents générés par d'autres programmes, la capacité de lire un fichier texte ligne par ligne constitue une fonctionnalité essentielle pour de nombreuses applications. Heureusement, le langage Delphi fournit depuis ses premières versions un ensemble d'instructions simples et efficaces permettant de manipuler facilement ce type de fichiers sans nécessiter de bibliothèques complexes ou de composants supplémentaires.

Pour illustrer le principe, supposons l'existence d'un fichier nommé «readtext.txt» contenant une série de mots, chacun placé sur une ligne distincte :

Un
Deux
Trois
Quatre
Cinq
Six
Sept
Huit
Neuf
Dix
Onze
Douze
Treize
Quatorze
Quinze
Seize

L'objectif du programme est alors d'ouvrir ce fichier, de parcourir son contenu jusqu'à la fin et d'afficher chaque ligne précédée d'un numéro séquentiel. Cette technique est particulièrement utile lorsqu'il est nécessaire d'identifier précisément une ligne dans un document, d'effectuer des traitements sur des enregistrements textuels ou encore de générer des rapports lisibles par l'utilisateur.

Le programme présenté ci-dessous utilise les procédures classiques de gestion de fichiers texte de Delphi. Après avoir associé une variable de type Text au fichier physique grâce à l'instruction Assign, le programme ouvre le fichier en lecture avec la procédure Reset. Une boucle contrôlée par la fonction EOF (End Of File) permet ensuite de poursuivre la lecture tant que la fin du fichier n'est pas atteinte. Chaque ligne est récupérée à l'aide de la procédure ReadLn, affichée à l'écran avec son numéro correspondant, puis le compteur est incrémenté afin de préparer le traitement de la ligne suivante.

Cet exemple constitue une excellente introduction à la manipulation des fichiers texte en Delphi. Il démontre comment quelques instructions simples suffisent à mettre en oeuvre un mécanisme robuste de lecture séquentielle. Cette approche demeure encore aujourd'hui largement utilisée dans de nombreuses applications professionnelles, outils d'administration, programmes de conversion de données et utilitaires de traitement de texte. Grâce à cette technique, il devient facile d'exploiter des fichiers contenant un grand nombre de lignes tout en conservant un code clair, lisible et facile à maintenir.

Pour lire le fichier «readtext.txt» et afficher chacune de ses lignes avec un numéro en avant, il suffit d'écrire les instructions dans l'ordre et la ressemblant suivante :

  1. Program ReadText;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. Uses SysUtils;
  6.      
  7. Var
  8.  Handle:Text;
  9.  I:Byte;
  10.  CurrLine:String;
  11.      
  12. BEGIN
  13.  Assign(Handle,'readtext.txt');
  14.  Reset(Handle);
  15.  I := 1;
  16.  While NOT EOF(Handle) do Begin
  17.   ReadLn(Handle,CurrLine);
  18.   WriteLn(I,':',CurrLine);
  19.   Inc(I);
  20.  End;
  21.  Close(Handle);
  22. END.

on obtiendra le résultat suivant :

1:Un
2:Deux
3:Trois
4:Quatre
5:Cinq
6:Six
7:Sept
8:Huit
9:Neuf
10:Dix
11:Onze
12:Douze
13:Treize
14:Quatorze
15:Quinze
16:Seize


Dernière mise à jour : Dimanche, le 17 août 2014