subrange types/fr

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) français (fr)

Plages de valeurs : La définition la détermine par elle-même.

Occupation en mémoire : Correspond au type sous-jacent.

Propriétés :

  • il définit une partie d'un type de base.
  • les champs de donnée de ce type ne peuvent prendre que les valeurs spécifiées dans la définition.

Tout autre valeur conduit à une erreur de compilation, le programme ne sera donc pas créé.

Il existe deux façons de définir les types de sous-étendue.

Variante 1, la variable est définie directement :

 Var
   tbZahl1: 10..123;
   tbBuchstabe1: 'A'..'Z';

Variante 2, on définit un sous-type en premier lieu:

 type
  TZahl2 = 10..123;
  TBuchstabe2 = 'A'..'Z';
 Var
   tbZahl2: TZahl2;
   tbBuchstabe2: TBuchstabe2;

Exemples d'affectation avec une valeur correcte :

   tbZahl1 := 10;
   tbZahl1 := 123;
   tbZahl2 := 10;
   tbZahl2 := 123;
   tbBuchstabe1 := 'F';
   tbBuchstabe2 := 'F';

Exemples d'affectation avec une valeur incorrecte :

   // la valeur est en dehors de partie du type
   tbZahl1 := 9;
   tbZahl2 := 124;
   tbBuchstabe1 := 'f';
   tbBuchstabe2 := 'f';
   // L'affectation avec des chaîne doit passer par une conversion de type
   tbZahl1 := '10';
   tbZahl1 := '123';
   tbZahl2 := '10';
   tbZahl2 := '123';