Sign in Join
Wiki copytemporary

Data type/fr: what changed

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

Title: Data type/fr

OldNewLine
1+# Informations générales sur les types de données
2+
3+Cette page propose une sélection de types de données Free Pascal.\
4+Un *'type'* est un modèle pour un [[Data field/fr|champ de données]].\
5+Le type d'un champ de données détermine la façon dont le contenu de ce champ de données doit être interprété par le compilateur et le processeur, notamment la place mémoire occupée par la donnée et les opérations permises dessus.\
6+Nous allons passer en revue les types de base de FPC en les regroupant par familles.
7+
8+# Types de donnée entier
9+
10+## Types non signés
11+
12+Les valeurs de ces types ne peuvent contenir que des entiers **positifs**.
13+
14+- [[UInt8/fr|UInt8]] - plage de valeurs : (0 .. 255)
15+- [[Byte/fr|Byte]] - plage de valeurs : (0 .. 255)
16+- [[UInt16/fr|UInt16]] - plage de valeurs : (0 .. 65 535)
17+- [[Word/fr|Word]] - plage de valeurs : (0 .. 65 535)
18+- [[NativeUInt/fr|NativeUInt]] - plage de valeurs : dépendante du processeur
19+- [[DWord/fr|DWord]] - correspond au type de donnée Longword
20+- [[Cardinal/fr|Cardinal]] - correspond au type de donnée Longword
21+- [[UInt32/fr|UInt32]] - plage de valeurs : (0 .. 4 294 967 295)
22+- [[Longword/fr|Longword]] - plage de valeurs : (0 .. 4 294 967 295)
23+- [[UInt64/fr|UInt64]] - plage de valeurs : (0 .. 18 446 744 073 709 551 615)
24+- [[QWord/fr|QWord]] - plage de valeurs : (0 .. 18 446 744 073 709 551 615)
25+
26+\
27+
28+## Types signés
29+
30+Les valeurs de ces types peuvent contenir des entiers **positifs** et **négatifs**.
31+
32+- [[Int8/fr|Int8]] - plage de valeurs : (-128 .. 127)
33+- [[Shortint/fr|Shortint]] - plage de valeurs : (-128 .. 127)
34+- [[Int16/fr|Int16]] - plage de valeurs : (-32 768 .. 32 767)
35+- [[Smallint/fr|Smallint]] - plage de valeurs : (-32 768 .. 32 767)
36+- [[Integer/fr|Integer]] - correspond au type Smallint ou au type Longint selon le mode de compilation
37+- [[Int32/fr|Int32]] - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
38+- [[NativeInt/fr|NativeInt]] - plage de valeurs : dépendante du processeur
39+- [[Longint/fr|Longint]] - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
40+- [[Int64/fr|Int64]] - plage de valeurs : (-9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807)
41+
42+\
43+
44+# Types à virgule flottante
45+
46+Les types de données à virgule flottante sont les suivants :
47+
48+1. stockage entier positif **et** négatif ;
49+2. stockage virgule flottante positif **et** négatif.
50+
51+\
52+* [[Single/fr|Single]] - plage de valeurs : (1.5E-45 .. 3.4E38)
53+
54+- [[Real/fr|Real]] - plage de valeurs : dépendante de la plate-forme
55+- [[Real48/fr|Real48]] - plage de valeurs : 2.9E-39 .. 1.7E38
56+- [[Double/fr|Double]] - plage de valeurs : (5.0E-324 .. 1.7E308)
57+- [[Extended/fr|Extended]] - plage de valeurs : dépendante de la plate-forme
58+- [[Comp/fr|Comp]] - plage de valeurs : (-2E64+1 .. 2E63-1)
59+- [[Currency/fr|Currency]] - plage de valeurs : (-922 337 203 685 477.5808 .. 922 337 203 685 477.5807)
60+
61+\
62+
63+# Types booléens
64+
65+Les valeurs de ces types contiennent des valeurs booléennes :
66+
67+- [[Boolean/fr|Boolean]] - plage de valeurs : (Vrai, Faux)
68+- [[Bytebool/fr|Bytebool]] - plage de valeurs : (Vrai, Faux)
69+- [[Wordbool/fr|Wordbool]] - plage de valeurs : (Vrai, Faux)
70+- [[Longbool/fr|Longbool]] - plage de valeurs : (Vrai, Faux)
71+
72+\
73+
74+# Types énumérés
75+
76+Les valeurs, constantes entières non signées sont nommées dans la déclaration du type.
77+
78+- [[Enum Type/fr|Type énumérées]] - plage de valeurs : (type entier)
79+
80+\
81+
82+# Types caractère
83+
84+## Types caractère dans lequel un caractère est codé par un octet
85+
86+- [[Char/fr|Char]] - longueur : 1 caractère (8 bits) - représentation : 1 caractère.
87+- [[Shortstring/fr|ShortString]] - longueur maximale : 255 caractères. La taille est dans le caractère d'indice.
88+- [[String/fr|String]] - longueur maximale : Shortstring ou Ansistring (selon la directive de compilation \$H)
89+- [[PChar/fr|PChar]] - pointeur vers une chaîne terminée par zéro sans limite de longueur.
90+- [[Ansistring/fr|AnsiString]] - aucune limite de longueur
91+- [[PAnsiChar/fr|PAnsiChar]] - pointeur vers une chaîne terminée par zéro sans limite de longueur
92+
93+Aperçu des diverses [[Character and string types/fr|types de caractère et String]]\
94+
95+## Types caractère dans lequel un caractère est codé par deux ou quatre octets
96+
97+(L'[[String Encoding/fr|encodage]] du caractère représenté par 2 ou 4 octets dépend du système d'exploitation))\
98+* [[Widechar/fr|WideChar]] - représente un caractère encodé sur 2 ou 4 octets
99+
100+- [[Widestring/fr|WideString]] - aucune limite de taille
101+- [[Pwidechar/fr|PWideChar]] - pointeur vers une WideString terminée par zéro sans limite de longueur
102+- [[Unicodechar/fr|UnicodeChar]] - représente un caractère encodé sur 2 ou 4 octets
103+- [[Unicodestring/fr|UnicodeString]] - aucune limite de taille
104+- [[Punicodechar/fr|PUnicodeChar]] - pointeur vers une UnicodeString terminée par zéro sans limite de longueur
105+
106+Aperçu des diverses [[Character and string types/fr|types de caractère et String]]\
107+
108+# Type variant
109+
110+- [[Variant/fr|Variant]]
111+- [[Olevariant/fr|OleVariant]]
112+
113+\
114+
115+# Constantes
116+
117+- Constantes non typées (type non spécifié dans la déclaration)
118+ - [[Const/fr|Const]] - seuls des types simples (reconnaissables par le compilateur) peuvent être utilisés
119+- Constantes typées
120+ - [[Const/fr|Const]] - des types simples peuvent être utilisés, ainsi que des enregistrements et des tableaux
121+- Chaînes de ressource
122+ - Resourcestring - pour les libellés cibles de traduction (non disponible dans tous les modes de compilation))
123+
124+\
125+
126+# Types structurés
127+
128+- [[Array/fr|Array]] - la taille du tableau dépend du type et du nombre d'éléments utilisés
129+- [[Record/fr|Record]] - une combinaison des types de données ci-dessus (voir le résumé)
130+- [[Set/fr|Set]] - un ensemble d'éléments énumérables, la taille étant fonction du nombre d'éléments
131+
132+\
133+
134+# Types intervalles
135+
136+- Les [[subrange types/fr|intervalles]] sont des sous-ensembles de types de données de base (entier ou caractère).
137+
138+\
139+
140+# Pointeur
141+
142+- [[Pointer/fr|Pointer]] - taille: celle de Longint ou celle de Int64
143+
144+\
145+
146+# Classes et Objets
147+
148+- [[Object/fr|Object]] - développé pour Turbo Pascal 5.5 sous DOS et un précurseur de type Class
149+- [[Class/fr|Class]] - développé pour Delphi 1.0 sous Windows et un successeur du type Object
150+
151+\
152+
153+---
154+*From the Free Pascal wiki, page "Data type/fr", as it stood on 2021-08-28 after a change by Kai Burghardt, 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