Les constantes
Une déclaration de constante déclare une constante dans le bloc contenant la déclaration. Une constante est un identificateur contenant une valeur ne pouvant pas changer. Un identificateur constant ne peut pas être inclus dans sa propre déclaration.
En tant qu'extension de Standard Pascal, Turbo Pascal permet l'utilisation d'expressions constantes. Une expression constante est une expression pouvant être évaluée par le compilateur sans réellement exécuter le programme. Voici des exemples d'expressions constantes :
Le cas le plus simple d'une expression constante est une constante simple, telle que 100 ou 'A'.
Étant donné que le compilateur doit être capable d'évaluer complètement une expression constante au moment de la compilation, les constructions suivantes ne sont pas autorisées dans les expressions constantes :
- Références à des variables et constantes typées (sauf dans les expressions d'adresses constantes)
- Appels de fonction (sauf ceux notés dans le texte suivant)
- L'opérateur d'adresse (@) (sauf dans les expressions d'adresse constante)
À l'exception de ces restrictions, les expressions constantes suivent les mêmes règles syntaxiques que les expressions ordinaires. Les fonctions standard suivantes sont autorisées dans les expressions constantes :
Nom | Description |
---|---|
ABS | Renvoie la valeur absolue du paramètre. |
CHR | Cette fonction permet de retourner le caractère correspondant au code ASCII numérique. |
HI | Cette fonction permet de demander la partie haute de l'entier (physiquement le deuxième octet de l'entier). |
HIGH | Cette fonction permet de connaître la valeur maximal d'un type de donnée. |
LENGTH | Cette fonction permet d'indiquer la longueur d'une chaîne de caractères de format standard Pascal. |
LO | Cette fonction permet de demander la partie base de l'entier (physiquement le premier octet de l'entier). |
LOW | Cette fonction permet de connaître la valeur minimal d'un type de donnée. |
ODD | Cette fonction indique si la valeur entière est un nombre impaire. |
ORD | Cette fonction permet de connaître le rang de la valeur scalaire, par exemple on peut connaître le numéro de code ASCII d'un caractère de cette manière. |
PRED | Cette fonction permet de retourner la valeur précédente de l'expression. |
PTR | Cette fonction retourne un pointeur à partir de l'adresse combiné du Segment et l'Offset. |
ROUND | Cette fonction retourne la valeur arrondie d'un nombre réel. |
SIZEOF | Cette fonction permet de connaître la taille en octet d'une variable ou d'un type. |
SUCC | Cette fonction permet de retourner la valeur suivante de l'expression. |
SWAP | Cette fonction permet de retourner l'inversion des octets de poids fort et faible. |
TRUNC | Cette fonction retourne la partie entière d'un nombre réel. |
Voici quelques exemples d'utilisation d'expressions constantes dans des déclarations de constantes :
- Const
- Min = 0;
- Max = 100;
- Center = (Max - Min) div 2;
- Beta = Chr(225);
- NumChars = Ord('Z') - Ord('A') + 1;
- Message = 'Manque de mémoire';
- ErrStr = ' Erreur : ' + Message + '. ';
- ErrPos = 80 - Length(ErrStr) div 2;
- Ln10 = 2.302585092994045684;
- Ln10R = 1 / Ln10;
- Numeric = [' 0'..' 9'];
- Alpha = ['A'..'Z', 'a'..'z'];
- AlphaNum = Alpha + Numeric;