Sign in Join
Wiki copytemporary

Data type/fr: what changed

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

OldNewLine
11# Informations générales sur les types de données
22
33Cette page propose une sélection de types de données Free Pascal.\
44Un *'type'* est un modèle pour un [[Data field/fr|champ de données]].\
55Le 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.\
66Nous allons passer en revue les types de base de FPC en les regroupant par familles.
77
88# Types de donnée entier
99
1010## Types non signés
1111
1212Les valeurs de ces types ne peuvent contenir que des entiers **positifs**.
1313
1414- [[UInt8/fr|UInt8]] - plage de valeurs : (0 .. 255)
1515- [[Byte/fr|Byte]] - plage de valeurs : (0 .. 255)
1616- [[UInt16/fr|UInt16]] - plage de valeurs : (0 .. 65 535)
1717- [[Word/fr|Word]] - plage de valeurs : (0 .. 65 535)
1818- [[NativeUInt/fr|NativeUInt]] - plage de valeurs : dépendante du processeur
1919- [[DWord/fr|DWord]] - correspond au type de donnée Longword
2020- [[Cardinal/fr|Cardinal]] - correspond au type de donnée Longword
2121- [[UInt32/fr|UInt32]] - plage de valeurs : (0 .. 4 294 967 295)
2222- [[Longword/fr|Longword]] - plage de valeurs : (0 .. 4 294 967 295)
2323- [[UInt64/fr|UInt64]] - plage de valeurs : (0 .. 18 446 744 073 709 551 615)
2424- [[QWord/fr|QWord]] - plage de valeurs : (0 .. 18 446 744 073 709 551 615)
2525
26-\
27-
2826## Types signés
2927
3028Les valeurs de ces types peuvent contenir des entiers **positifs** et **négatifs**.
3129
3230- [[Int8/fr|Int8]] - plage de valeurs : (-128 .. 127)
3331- [[Shortint/fr|Shortint]] - plage de valeurs : (-128 .. 127)
3432- [[Int16/fr|Int16]] - plage de valeurs : (-32 768 .. 32 767)
3533- [[Smallint/fr|Smallint]] - plage de valeurs : (-32 768 .. 32 767)
3634- [[Integer/fr|Integer]] - correspond au type Smallint ou au type Longint selon le mode de compilation
3735- [[Int32/fr|Int32]] - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
3836- [[NativeInt/fr|NativeInt]] - plage de valeurs : dépendante du processeur
3937- [[Longint/fr|Longint]] - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
4038- [[Int64/fr|Int64]] - plage de valeurs : (-9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807)
4139
42-\
43-
4440# Types à virgule flottante
4541
4642Les types de données à virgule flottante sont les suivants :
4743
48441. stockage entier positif **et** négatif ;
49452. stockage virgule flottante positif **et** négatif.
5046
51-\
5247* [[Single/fr|Single]] - plage de valeurs : (1.5E-45 .. 3.4E38)
5348
5449- [[Real/fr|Real]] - plage de valeurs : dépendante de la plate-forme
5550- [[Real48/fr|Real48]] - plage de valeurs : 2.9E-39 .. 1.7E38
5651- [[Double/fr|Double]] - plage de valeurs : (5.0E-324 .. 1.7E308)
5752- [[Extended/fr|Extended]] - plage de valeurs : dépendante de la plate-forme
5853- [[Comp/fr|Comp]] - plage de valeurs : (-2E64+1 .. 2E63-1)
5954- [[Currency/fr|Currency]] - plage de valeurs : (-922 337 203 685 477.5808 .. 922 337 203 685 477.5807)
6055
61-\
62-
6356# Types booléens
6457
6558Les valeurs de ces types contiennent des valeurs booléennes :
6659
6760- [[Boolean/fr|Boolean]] - plage de valeurs : (Vrai, Faux)
6861- [[Bytebool/fr|Bytebool]] - plage de valeurs : (Vrai, Faux)
6962- [[Wordbool/fr|Wordbool]] - plage de valeurs : (Vrai, Faux)
7063- [[Longbool/fr|Longbool]] - plage de valeurs : (Vrai, Faux)
7164
72-\
73-
7465# Types énumérés
7566
7667Les valeurs, constantes entières non signées sont nommées dans la déclaration du type.
7768
7869- [[Enum Type/fr|Type énumérées]] - plage de valeurs : (type entier)
7970
80-\
81-
8271# Types caractère
8372
8473## Types caractère dans lequel un caractère est codé par un octet
8574
8675- [[Char/fr|Char]] - longueur : 1 caractère (8 bits) - représentation : 1 caractère.
8776- [[Shortstring/fr|ShortString]] - longueur maximale : 255 caractères. La taille est dans le caractère d'indice.
8877- [[String/fr|String]] - longueur maximale : Shortstring ou Ansistring (selon la directive de compilation \$H)
8978- [[PChar/fr|PChar]] - pointeur vers une chaîne terminée par zéro sans limite de longueur.
9079- [[Ansistring/fr|AnsiString]] - aucune limite de longueur
9180- [[PAnsiChar/fr|PAnsiChar]] - pointeur vers une chaîne terminée par zéro sans limite de longueur
9281
9382Aperçu des diverses [[Character and string types/fr|types de caractère et String]]\
9483
9584## Types caractère dans lequel un caractère est codé par deux ou quatre octets
9685
9786(L'[[String Encoding/fr|encodage]] du caractère représenté par 2 ou 4 octets dépend du système d'exploitation))\
9887* [[Widechar/fr|WideChar]] - représente un caractère encodé sur 2 ou 4 octets
9988
10089- [[Widestring/fr|WideString]] - aucune limite de taille
10190- [[Pwidechar/fr|PWideChar]] - pointeur vers une WideString terminée par zéro sans limite de longueur
10291- [[Unicodechar/fr|UnicodeChar]] - représente un caractère encodé sur 2 ou 4 octets
10392- [[Unicodestring/fr|UnicodeString]] - aucune limite de taille
10493- [[Punicodechar/fr|PUnicodeChar]] - pointeur vers une UnicodeString terminée par zéro sans limite de longueur
10594
10695Aperçu des diverses [[Character and string types/fr|types de caractère et String]]\
10796
10897# Type variant
10998
11099- [[Variant/fr|Variant]]
111100- [[Olevariant/fr|OleVariant]]
112101
113-\
114-
115102# Constantes
116103
117104- Constantes non typées (type non spécifié dans la déclaration)
118105 - [[Const/fr|Const]] - seuls des types simples (reconnaissables par le compilateur) peuvent être utilisés
119106- Constantes typées
120107 - [[Const/fr|Const]] - des types simples peuvent être utilisés, ainsi que des enregistrements et des tableaux
121108- Chaînes de ressource
122109 - Resourcestring - pour les libellés cibles de traduction (non disponible dans tous les modes de compilation))
123110
124-\
125-
126111# Types structurés
127112
128113- [[Array/fr|Array]] - la taille du tableau dépend du type et du nombre d'éléments utilisés
129114- [[Record/fr|Record]] - une combinaison des types de données ci-dessus (voir le résumé)
130115- [[Set/fr|Set]] - un ensemble d'éléments énumérables, la taille étant fonction du nombre d'éléments
131116
132-\
133-
134117# Types intervalles
135118
136119- Les [[subrange types/fr|intervalles]] sont des sous-ensembles de types de données de base (entier ou caractère).
137120
138-\
139-
140121# Pointeur
141122
142123- [[Pointer/fr|Pointer]] - taille: celle de Longint ou celle de Int64
143124
144-\
145-
146125# Classes et Objets
147126
148127- [[Object/fr|Object]] - développé pour Turbo Pascal 5.5 sous DOS et un précurseur de type Class
149128- [[Class/fr|Class]] - développé pour Delphi 1.0 sous Windows et un successeur du type Object
150-
151-\
152129
153130---
154131*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