Quelques rappels sur les enregistrements
TD-Prog

Il est parfois utile de regrouper des variables de types éventuellement différents. Le Pascal nous donne cette possibilité grâce à la notion d'enregistrements. Un enregistrement contiendra donc plusieurs variables qu'on appellera champs. Ceux ci seront inscrits en mémoire de façon contiguë.

Déclaration d'un type enregistrement

Cette déclaration prend la forme suivante :

nom  = record
 champ1 : type1;
 champ2 : type2;
 .....
 end;

record et end sont des mots réservés du langage Pascal.

Par exemple, pour créer un type associant le nom d'une personne et sa date de naissance on pourra déclarer :

Naissance = record
 Nom : String[30];
 Jour : Byte;
 Mois : Byte;
 An : Word;
 end;

Lecture et écriture d'un champ.

Pour avoir accès à un champ d'une variable de type enregistrement on écrit le nom de la variable suivi d'un point et du nom du champ visé. Cet accès permet à la fois de lire et d'écrire ce champ.

Par exemple, si UnAmi est une variable du type Naissance précédemment défini, on aura accès au nom en écrivant UnAmi.Nom.
UnAmi.Nom:='Pierre' permet d'écrire le nom.
j:=UnAmi.Jour permet de transférer le jour dans la variable j.

L'instruction With

Cette instruction permet d'utiliser une variable de type enregistrement en ayant accès à ces champs sans avoir à répéter le nom de la variable.

Syntaxe :

with NomVar do
 begin
  (suite d'instructions où on utilise les champs de NomVar comme des variables )
 end;

Par exemple, avec la variable UnAmi définie précédemment, on pourra écrire :

with UnAmi do
 begin
  Nom:='Pierre';   Jour:=17;  Mois:=5;  An:=1960;
 end;

TD-Prog