Types énumérés non standards▲
Si les types prédéfinis mentionnés précédemment ne vous suffisent pas, vous pouvez déclarer (donc créer) d'autres types.
Il faut d'abord définir le type que vous désirez créer en donnant la liste ordonnée de toutes les valeurs possibles.
Exemple :
TYPE tjour = (lundi,mardi,mercredi,jeudi,vendredi,samedi,dimanche);
Toutes les variables de ce type ne pourront pas avoir d'autres valeurs que celles que l'on a énumérées.
Il faut ensuite déclarer quelles variables seront de ce type.
Exemple :
VAR jour1, jour2 : tjour;On peut alors les utiliser dans le programme grâce à :
- Des affectations :
JOUR1 := mercredi;
JOUR2 := JOUR1;- Des fonctions prédéfinies :
PRED (précédent), SUCC (suivant), ORD (numéro d'ordre (dans la déclaration), entre 0 et N-1).
Exemples :
pred(mardi) = lundi
succ(mardi) = mercredi
ord(mardi) = 1
- Des comparaisons :
lundi < mercredi mais attention : dimanche > lundi (suivant l'ordre donné dans la déclaration).
- Des boucles :
FOR jour1 := lundi TO vendredi DO ...- Des sélections de cas :
CASE jour2 OF
lundi : ...;
samedi,dimanche : ...
ENDREADLN et WRITELN ne fonctionnent pas en standard pour les types définis par l'utilisateur, mais plusieurs compilateurs l'acceptent (mais pas Turbo Pascal).


