Sign in Join
Wiki copytemporary

Enum Type/fr: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-Plage de valeurs:
2-Celle d'un Longword.
3-Besoins en mémoire:
4-par défaut, un énuméré est stocké dans un Longword et nécessite 4 octets. Mais en fonction de la bascule {$PACKENUM x} (abrégée {$Zx}) et de la plage de valeur du type de données, elle peut être ajustée.
1+Plage de valeurs:\
2+Celle d'un Longword.\
3+Besoins en mémoire:\
4+par défaut, un énuméré est stocké dans un Longword et nécessite 4 octets. Mais en fonction de la bascule {\$PACKENUM x} (abrégée {\$Zx}) et de la plage de valeur du type de données, elle peut être ajustée.
55
6-Occupation en mémoire Valeur maximale de l'énuméré | <= 255 | <= 65535 | > 65535
7----|---|---|---
8-aucune bascule ou {$PACKENUM DEFAULT}
9-ou {$PACKENUM 4} ou {$Z4} | 4 | 4 | 4
10-{$PACKENUM 2} ou {$Z2} | 2 | 2 | 4
11-{$PACKENUM 1} ou {$Z1} | 1 | 2 | 4
12-
13-On note immédiatement que, par défaut, le compilateur ne cherche pas à optimiser l'occupation mémoire.
14-Propriétés:
15-Les données de type **Enum type** sont une énumération d'entiers non signés constantes.
16-Par défaut, la valeur d'une des constantes énumérées est égale à celle de la précédente augmentée de 1, la première vaut 0.
17-```
18-Type
19- {$PACKENUM 2}
20- LargeEnum = (Null, Eins, Zwei);
21-```
6+<caption>Occupation en mémoire</caption>
7+<tbody>
228
23-Il est possible de donner une autre valeur à l'une des constantes, les suivantes poursuivent alors l'incrémentation à partir de cette valeur.
24-```
9+ou {$PACKENUM 4} ou {$Z4}</td>
10+
11+</tbody>
12+
13+On note immédiatement que, par défaut, le compilateur ne cherche pas à optimiser l'occupation mémoire.\
14+Propriétés:\
15+Les données de type **Enum type** sont une énumération d'entiers non signés constantes.\
16+Par défaut, la valeur d'une des constantes énumérées est égale à celle de la précédente augmentée de 1, la première vaut 0.
17+
18+``` pascal
2519Type
26- {$PACKENUM 4}
27- SmallEnum = (Sechs := 6, Sieben, Acht);
20+ {$PACKENUM 2}
21+ LargeEnum = (Null, Eins, Zwei);
2822```
2923
30-
24+Il est possible de donner une autre valeur à l'une des constantes, les suivantes poursuivent alors l'incrémentation à partir de cette valeur.
3125
26+``` pascal
27+Type
28+ {$PACKENUM 4}
29+ SmallEnum = (Sechs := 6, Sieben, Acht);
3230```
31+
32+``` pascal
3333Type
34- {$PACKENUM 1}
35- MiddleEnum = (Null, Zehn := 10, Elf, Zwoelf);
34+ {$PACKENUM 1}
35+ MiddleEnum = (Null, Zehn := 10, Elf, Zwoelf);
3636```
3737
38-[![Warning-icon.png](/wiki-images/b/b2/Warning-icon.png)](</File:Warning-icon.png>)
38+> **Warning:** Dans une telle énumération, l'emploi de Succ et Pred n'est plus permis, le compilateur signale une erreur.
3939
40-**Avertissement:** Dans une telle énumération, l'emploi de Succ et Pred n'est plus permis, le compilateur signale une erreur.
40+Exemples d'affectation de valeurs du type Enum:
4141
42-Exemples d'affectation de valeurs du type Enum:
43-```
42+``` pascal
4443Var
45- S : SmallEnum;
46- M : MiddleEnum;
47- L : LargeEnum;
44+ S : SmallEnum;
45+ M : MiddleEnum;
46+ L : LargeEnum;
4847```
4948
50-Exemples de conversion d'Enum en autre de type de donnée:
51-```
52-Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
53- Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);
49+Exemples de conversion d'Enum en autre de type de donnée:
50+
51+``` pascal
52+ Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
53+ Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);
5454```
5555
5656---
57-*From the Free Pascal wiki, page "Enum Type/fr", as the Internet Archive kept it on 2023-03-30. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
57+*From the Free Pascal wiki, page "Enum Type/fr", as it stood on 2020-02-14 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history