Quelques rappels sur les enregistrements
|
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ë.
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;
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.
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;