CASE OF |
Cas de |
---|---|
Delphi/Kylix/Lazarus |
Syntaxe
CASE select OF etiquette1: instruction1; etiquette2: instruction2; ... etiquetten: instructionn; ELSE instructionautre; END; |
Paramètres
Nom | Description |
---|---|
select | Ce paramètre permet d'indiquer l'expression à évaluer |
etiquette1, etiquette2, etiquetten | Ce paramètre permet d'indiquer une valeur à évaluer |
instruction1, instruction2, instructionn | Ce paramètre permet d'indiquer l'instruction exécuté si la valeur correspond |
instructionautre | Ce paramètre permet d'indiquer l'instruction exécuté si aucune valeur ne correspond |
Description
Ce mot réservé permet de définir une liste de conditionnels ayant comme point de comparaison un même résultat. L'instruction case de Delphi étend celle de Pascal standard en incluant la condition facultative else. Si aucun autre cas ne correspond à l'expression, le Delphi exécute les instructions du else. La clause else est similaire au mot réservé otherwise trouvé dans d'autres extensions Pascal, comme par exemple dans le Apple Pascal ou le UCSD Pascal. Le type d'expression de cas doit être un type ordinal, c'est-à-dire un entier, un caractère ou une énumération. Chaque sélecteur de cas doit être une expression constante du type approprié ou un intervalle de constante (constante..constante). Les cas peuvent être dans n'importe quel ordre, mais la clause else doit être la dernière. Les sélecteurs de cas doivent être uniques. Chaque cas doit avoir une seule déclaration, sauf que vous pouvez en avoir plusieurs après le else.
Remarques
- Si l'expression d'un cas d'évaluation est un type de données d'énumération et que les cas couvrent toutes les valeurs possibles du type, vous devriez toujours avoir une clause else pour déclencher une exception. L'exception catch-all vous avertit immédiatement si quelque chose ne va pas avec le programme et vous protège si une version ultérieure du programme étend le type sans étendre également l'instruction case.
- Le mot réservé case peut également être utilisé dans une déclaration de type d'enregistrement pour déclarer un enregistrement variant. Voir le mot réservé Record pour plus de détails.
Exemple
Cet exemple permet d'évaluer la valeur de la variable «a» :
on obtiendra le résultat suivant :
Entre 1 et 3Voir également
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Else
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - End
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - If
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Packed
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Record
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Then