Sign in Join
Wiki copytemporary

Enum Type/fr: what changed

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

OldNewLine
1-\
2-Plage de valeurs:\
3-Celle d'un Longword.\
4-Besoins en mémoire:\
5-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.
6-
7-<table>
8-<caption>Occupation en mémoire</caption>
9-<tbody>
10-<tr>
11-<td>Valeur maximale de l'énuméré</td>
12-<td>&lt;= 255</td>
13-<td>&lt;= 65535</td>
14-<td>&gt; 65535</td>
15-</tr>
16-<tr>
17-<td>aucune bascule ou {$PACKENUM DEFAULT}<br />
18-ou {$PACKENUM 4} ou {$Z4}</td>
19-<td>4</td>
20-<td>4</td>
21-<td>4</td>
22-</tr>
23-<tr>
24-<td>{$PACKENUM 2} ou {$Z2}</td>
25-<td>2</td>
26-<td>2</td>
27-<td>4</td>
28-</tr>
29-<tr>
30-<td>{$PACKENUM 1} ou {$Z1}</td>
31-<td>1</td>
32-<td>2</td>
33-<td>4</td>
34-</tr>
35-</tbody>
36-</table>
37-
38-On note immédiatement que, par défaut, le compilateur ne cherche pas à optimiser l'occupation mémoire.\
39-Propriétés:\
40-Les données de type **Enum type** sont une énumération d'entiers non signés constantes.\
41-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.
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.
425
43-``` pascal
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+```
4418Type
45- {$PACKENUM 2}
46- LargeEnum = (Null, Eins, Zwei);
19+ {$PACKENUM 2}
20+ LargeEnum = (Null, Eins, Zwei);
4721```
4822
49-Il est possible de donner une autre valeur à l'une des constantes, les suivantes poursuivent alors l'incrémentation à partir de cette valeur.
50-
51-``` pascal
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+```
5225Type
53- {$PACKENUM 4}
54- SmallEnum = (Sechs := 6, Sieben, Acht);
26+ {$PACKENUM 4}
27+ SmallEnum = (Sechs := 6, Sieben, Acht);
5528```
5629
57-\
30+
5831
59-``` pascal
32+```
6033Type
61- {$PACKENUM 1}
62- MiddleEnum = (Null, Zehn := 10, Elf, Zwoelf);
34+ {$PACKENUM 1}
35+ MiddleEnum = (Null, Zehn := 10, Elf, Zwoelf);
6336```
6437
65-> **Warning:** Dans une telle énumération, l'emploi de Succ et Pred n'est plus permis, le compilateur signale une erreur.
38+[![Warning-icon.png](/wiki-images/b/b2/Warning-icon.png)](</File:Warning-icon.png>)
6639
67-Exemples d'affectation de valeurs du type Enum:
40+**Avertissement:** Dans une telle énumération, l'emploi de Succ et Pred n'est plus permis, le compilateur signale une erreur.
6841
69-``` pascal
42+Exemples d'affectation de valeurs du type Enum:
43+```
7044Var
71- S : SmallEnum;
72- M : MiddleEnum;
73- L : LargeEnum;
45+ S : SmallEnum;
46+ M : MiddleEnum;
47+ L : LargeEnum;
7448```
7549
76-Exemples de conversion d'Enum en autre de type de donnée:
77-
78-``` pascal
79- Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
80- Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);
50+Exemples de conversion d'Enum en autre de type de donnée:
8151```
52+Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
53+ Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);
54+```
8255
8356---
84-*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).*
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).*

Back to history