Guide Delphi les constantes et variables, tutoriel & guide de travaux pratiques en pdf.
Constantes et Variables
Ce paragraphe est consacré à l’étude des fameuses « données » dont on n’a cessé de parler presque énigmatiquement dans les parties précédentes. En Pascal, ces données peuvent être des constantes ou des variables. Une constante est un nom que vous associez une fois pour toute à une valeur. Cette valeur ne pourra pas être modifiée pendant l’exécution de l’application. Ce nom devient alors un mot Pascal reconnu par Delphi. Une variable est un nom que vous donnez à une donnée d’un type bien défini. Ainsi vous pouvez définir des variables de chaque type déjà vu dans ce guide, par exemple ‘byte’, ‘single’, ‘char’, ‘string[10]’, etc. La valeur d’une variable peut, comme son nom l’indique clairement, changer au cours de l’exécution de l’application. Les paragraphes qui suivent décrivent l’usage de ces deux notions.
Préliminaire : les identificateurs
Les noms (techniquement : les chaînes de caractères utilisés pour les nommer) de constantes, de variables, d’unités, de programmes, de types sont ce qu’on appelle des identificateurs. Un identificateur répond aux exigences suivantes, imposées par le langage Pascal :
• C’est une suite de caractères, pris parmi les lettres majuscules ou minuscules, les chiffres, le blanc souligné ( _ ) (en dessous du 8 sur votre clavier). Par contre, les espaces, le tiret ( – ), les accents, et tout le reste sont interdits. • Un nombre de caractères maximum raisonnable est 50 (le nombre maximal a augmenté avec les différentes versions de Delphi). • Le premier caractère ne peut pas être un chiffre. • Les majuscules et minuscules sont vues comme les mêmes lettres. Il est cependant recommandé d’utiliser les minuscules autant que possible et les majuscules seulement pour les premières lettres des mots. Ainsi par exemple ‘PremierEssai’ est un identificateur valable et descriptif.
Exercice 4 : (voir la solution) Parmi les propositions ci-dessous, lesquelles sont des identificateurs valables, et pour ceux qui n’en sont pas, pourquoi ?
1 test1 2 1_test 3 test 1 4 test-1 5 test_1 6 TEST_2
Pour les exemples qui vont suivre, vous pourrez utiliser Delphi et taper le texte indiqué juste avant le mot implementation dans l’unité ‘Principale’ :
… end;
var Form1: TForm1;
{ <– Ici } implementation
{$R *.DFM} …
Constantes
Les constantes sont une possibilité très intéressante de la programmation en Pascal. Elles permettent, sans aucune programmation, de faire correspondre un identificateur et une valeur. Cette valeur peut être de beaucoup de types (un seul à la fois, quand même) mais il faudra parfois indiquer ce type. Les constantes se déclarent dans un bloc adéquat. Ce bloc peut être positionné, pour l’instant, dans l’interface ou dans l’implémentation d’une unité en dehors des autres blocs. La structure d’un tel bloc est des plus simple : on débute le bloc par le mot réservé const (le bloc n’a pas de marque de fin, c’est le début d’un autre bloc ou la fin de l’interface ou de l’implémentation qui terminent le bloc).
const
Vient ensuite une liste aussi longue qu’on le souhaite de déclarations de constantes. Une déclaration de constante a la forme : Identificateur = Valeur; Où Identificateur est un identificateur (non utilisé ailleurs) et Valeur est une valeur de type nombre, chaîne ou booléen (d’autres types seront utilisables par la suite au prix d’une syntaxe adaptée).
Exemple :
const LargeurParDefaut = 640; NomLogiciel = ‘Premier Essai’; MontreEcranDemarrage = True; Touche01 = ‘z’;
Les constantes de types plus complexes devront plutôt utiliser la syntaxe suivante : Identificateur : Type = Valeur; Où Type est le type de la constante, et Valeur une valeur acceptable pour ce type.
Exemple :
const AlignementParDefaut: TAlignment = taCenter;
Une constante peut également être déterminée à partir de tout ce dont on connaît la valeur à l’endroit où on déclare cette constante. En pratique, on peut utiliser les constantes déclarées plus haut dans l’unité, et les constantes des unités utilisées (listées dans le bloc uses).