Difference between revisions of "subrange types/fr"

From Lazarus wiki
Jump to navigationJump to search
m (Trev moved page Subrange types/fr to subrange types/fr without leaving a redirect: Correct page name to match other languages)
m (Fixed syntax highlighting)
 
Line 1: Line 1:
 
{{subrange types}}
 
{{subrange types}}
<br/>
+
 
Plages de valeurs : La définition la détermine par elle-même.<br/>
+
Plages de valeurs : La définition la détermine par elle-même.
Occupation en mémoire : Correspond au type sous-jacent.<br/>
+
 
Propriétés :<br/>
+
Occupation en mémoire : Correspond au type sous-jacent.
 +
 
 +
Propriétés :
 +
 
 
* il définit une partie d'un type de base.
 
* 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.
 
* 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éé.<br/>
+
 
Il existe deux façons de définir les types de sous-étendue. <br/>
+
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 :
 
Variante 1, la variable est définie directement :
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
  Var
 
  Var
 
   tbZahl1: 10..123;
 
   tbZahl1: 10..123;
 
   tbBuchstabe1: 'A'..'Z';
 
   tbBuchstabe1: 'A'..'Z';
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
Variante 2, on définit un sous-type en premier lieu:
 
Variante 2, on définit un sous-type en premier lieu:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
  type
 
  type
 
   TZahl2 = 10..123;
 
   TZahl2 = 10..123;
Line 23: Line 32:
 
   tbBuchstabe2: TBuchstabe2;
 
   tbBuchstabe2: TBuchstabe2;
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
Exemples d'affectation avec une valeur correcte :
 
Exemples d'affectation avec une valeur correcte :
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
   tbZahl1 := 10;
 
   tbZahl1 := 10;
 
   tbZahl1 := 123;
 
   tbZahl1 := 123;
Line 32: Line 43:
 
   tbBuchstabe2 := 'F';
 
   tbBuchstabe2 := 'F';
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
Exemples d'affectation avec une valeur incorrecte :
 
Exemples d'affectation avec une valeur incorrecte :
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
   // la valeur est en dehors de partie du type
 
   // la valeur est en dehors de partie du type
 
   tbZahl1 := 9;
 
   tbZahl1 := 9;
Line 45: Line 58:
 
   tbZahl2 := '123';
 
   tbZahl2 := '123';
 
</syntaxhighlight>
 
</syntaxhighlight>
<br/>
 

Latest revision as of 01:29, 28 February 2020

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';