Difference between revisions of "subrange types/fr"
From Lazarus wiki
Jump to navigationJump to searchm (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}} | ||
− | + | ||
− | Plages de valeurs : La définition la détermine par elle-même. | + | 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 : | + | 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éé. | + | |
− | Il existe deux façons de définir les types de sous-étendue. | + | 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> | ||
− |
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';