Chapitre 14 - Créer ses propres unités▲
Lorsque vous créez un programme en Turbo Pascal, vous utilisez nécessairement un certain nombre d'instructions (procédures ou fonctions) qui sont définies dans des unités extérieures au programme. Même lorsque vous ne spécifiez aucune unité par la clause Uses, l'unité System est automatiquement associée au programme (inscrite dans l'exécutable compilé). Quant aux autres unités fournies avec Turbo Pascal : Crt, Dos, Graph, Printer, etc., elles contiennent des instructions spécifiques qui ne pourront être appelées depuis le programme que si les unités correspondantes sont déclarées par la clause Uses. Le but de ce chapitre est d'apprendre à fabriquer de ses propres mains une unité qui pourra être appelée depuis un programme écrit en Turbo Pascal. Précisons qu'une unité s'écrit dans un fichier au format PAS. Mais une fois écrite, l'unité doit impérativement être compilée (au format TPU) pour être utilisable plus tard par un programme.
Un programme en Pascal débute par la déclaration du nom de programme comme suit :
Program
nom_du_programme;
De manière analogue, une unité doit être (impérativement) déclarée comme suit :
Unit
nom_de_l_unite;
Ensuite vient une partie déclarative très spéciale qui catalogue le contenu de l'unité visible par les programmes et/ou unités désirant utiliser la nôtre. Cette partie est très similaire à celle d'un programme, puisqu'on y déclare les constantes, les variables, les procédures, fonctions… et la liste des unités utilisées. Cette partie déclarative obligatoire s'écrit selon la syntaxe suivante :
INTERFACE
Uses
...;
Const
...;
Var
...;
Procedure
...;
Function
...;
Les déclarations des procédures / fonctions dans cette partie Interface ne concernent que leur prototype, c'est-à -dire qu'il ne faut pas y mettre le corps de ces procédures / fonctions.
Passons aux choses sérieuses, il faut passer à la partie la plus technique, c'est-à -dire écrire le code fonctionnel : les procédures et/ou fonctions qui seront appelées par le programme principal.
Exemple :
IMPLEMENTATION
Function
Tangente (a : Real
) : Real
;
Begin
Tangente := Sin(a) / Cos(a);
End
;
Et la touche finale : un bloc Begin ... End., destiné à inclure du code qui doit s'exécuter au démarrage du programme afin, par exemple, d'initialiser des variables de l'unité. Ce bloc final peut très bien ne rien contenir.
Ces quatre parties doivent toutes impérativement apparaitre dans le code.
Vous pouvez télécharger l'unité TANGT.PAS :
Unit
Tangt;
INTERFACE
Var
a : Real
;
Function
Tangente (a : Real
) : Real
;
IMPLEMENTATION
Function
Tangente (a : Real
) : Real
;
Begin
Tangente := Sin(a) / Cos(a) ;
End
;
BEGIN
END
.
Et le programme TAN.PASÂ :
Program
Tan;
Uses
Tang ;
Var
x : Real
;
BEGIN
Write
('Entrez un angle en radians : '
) ;
ReadLn(x) ;
WriteLn('Voici sa tangente : '
,Tangente(2
)) ;
END
.