Difference between revisions of "Data type/fr"

From Lazarus wiki
Jump to navigationJump to search
m (make redirection page Pansichar/fr → PAnsiChar/fr obsolete)
 
(7 intermediate revisions by 2 users not shown)
Line 22: Line 22:
 
[[Category:Pascal/fr]]
 
[[Category:Pascal/fr]]
 
-->
 
-->
=Informations générale sur les types de données=
+
=Informations générales sur les types de données=
 
Cette page propose une sélection de types de données Free Pascal.<br>
 
Cette page propose une sélection de types de données Free Pascal.<br>
 
Un '' 'type' '' est un modèle pour un [[Data field/fr|champ de données]]. <br>
 
Un '' 'type' '' est un modèle pour un [[Data field/fr|champ de données]]. <br>
Le type d'un champ de données de données détermine la façon dont le contenu de ce champ 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.<br>
+
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.<br>
Nous allons passer en revue les types de base de FPC en les regroupant par famille.
+
Nous allons passer en revue les types de base de FPC en les regroupant par familles.
  
 
=Types de donnée entier=
 
=Types de donnée entier=
 
==Types non signés==
 
==Types non signés==
 
Les valeurs de ces types ne peuvent contenir que des entiers '''positifs'''.
 
Les valeurs de ces types ne peuvent contenir que des entiers '''positifs'''.
* [[UInt8/fr|UInt8]] - plage de valeurs: (0 .. 255)
+
* [[UInt8/fr|UInt8]] - plage de valeurs : (0 .. 255)
* [[Byte/fr|Byte]] - plage de valeurs: (0 .. 255)
+
* [[Byte/fr|Byte]] - plage de valeurs : (0 .. 255)
* [[UInt16/fr|UInt16]] - plage de valeurs: (0 .. 65535)
+
* [[UInt16/fr|UInt16]] - plage de valeurs : (0 .. 65 535)
* [[Word/fr|Word]] - plage de valeurs: (0 .. 65535)
+
* [[Word/fr|Word]] - plage de valeurs : (0 .. 65 535)
* [[NativeUInt/fr|NativeUInt]] - plage de valeurs: prozessorabhängig
+
* [[NativeUInt/fr|NativeUInt]] - plage de valeurs : dépendante du processeur
* [[DWord/fr|DWord]] - Correspond au type de donnée Longword
+
* [[DWord/fr|DWord]] - correspond au type de donnée Longword
* [[Cardinal/fr|Cardinal]] - Correspond au type de donnée Longword
+
* [[Cardinal/fr|Cardinal]] - correspond au type de donnée Longword
* [[UInt32/fr|UInt32]] - plage de valeurs: (0 .. 4 294 967 295)
+
* [[UInt32/fr|UInt32]] - plage de valeurs : (0 .. 4 294 967 295)
* [[Longword/fr|Longword]] - plage de valeurs: (0 .. 4 294 967 295)
+
* [[Longword/fr|Longword]] - plage de valeurs : (0 .. 4 294 967 295)
* [[UInt64/fr|UInt64]] - plage de valeurs:  (0 .. 18 446 744 073 709 551 615)
+
* [[UInt64/fr|UInt64]] - plage de valeurs :  (0 .. 18 446 744 073 709 551 615)
* [[QWord/fr|QWord]] - plage de valeurs:  (0 .. 18 446 744 073 709 551 615)
+
* [[QWord/fr|QWord]] - plage de valeurs :  (0 .. 18 446 744 073 709 551 615)
 
<br>
 
<br>
  
 
==Types signés==
 
==Types signés==
 
Les valeurs de ces types peuvent contenir des entiers '''positifs''' et '''négatifs'''.
 
Les valeurs de ces types peuvent contenir des entiers '''positifs''' et '''négatifs'''.
* [[Int8/fr|Int8]] - plage de valeurs: (-128 .. 127)
+
* [[Int8/fr|Int8]] - plage de valeurs : (-128 .. 127)
* [[Shortint/fr|Shortint]] - plage de valeurs: (-128 .. 127)
+
* [[Shortint/fr|Shortint]] - plage de valeurs : (-128 .. 127)
* [[Int16/fr|Int16]] - plage de valeurs: (-32 768 .. 32 767)
+
* [[Int16/fr|Int16]] - plage de valeurs : (-32 768 .. 32 767)
* [[Smallint/fr|Smallint]] - plage de valeurs: (-32 768 .. 32 767)
+
* [[Smallint/fr|Smallint]] - plage de valeurs : (-32 768 .. 32 767)
* [[Integer/fr|Integer]] - plage de valeurs: correspond au type Smallint ou au type Longint selon le mode de compilation.
+
* [[Integer/fr|Integer]] - correspond au type Smallint ou au type Longint selon le mode de compilation
* [[Int32/fr|Int32]] - plage de valeurs: (-2 147 483 648 .. 2 147 483 647)
+
* [[Int32/fr|Int32]] - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
* [[NativeInt/fr|NativeInt]] - plage de valeurs: dépend du processeur.
+
* [[NativeInt/fr|NativeInt]] - plage de valeurs : dépendante du processeur
* [[Longint/fr|Longint]] - plage de valeurs: (-2 147 483 648 .. 2 147 483 647)
+
* [[Longint/fr|Longint]] - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
* [[Int64/fr|Int64]] - plage de valeurs: (-9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807)
+
* [[Int64/fr|Int64]] - plage de valeurs : (-9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807)
 
<br>
 
<br>
  
 
=Types à virgule flottante=
 
=Types à virgule flottante=
 
Les types de données à virgule flottante sont les suivants :
 
Les types de données à virgule flottante sont les suivants :
# stockage entier positif '''et''' négatif.
+
# stockage entier positif '''et''' négatif ;
# stockage virghukle flottante positif '''et''' négatif.
+
# stockage virgule flottante positif '''et''' négatif.
 
<br>
 
<br>
* [[Single/fr|Single]] - plage de valeurs: (1.5E-45 .. 3.4E38)
+
* [[Single/fr|Single]] - plage de valeurs : (1.5E-45 .. 3.4E38)
* [[Real/fr|Real]] - plage de valeurs : dépendant de la plate-forme
+
* [[Real/fr|Real]] - plage de valeurs : dépendante de la plate-forme
* [[Real48/fr|Real48]] - plage de valeurs: 2.9E-39 .. 1.7E38
+
* [[Real48/fr|Real48]] - plage de valeurs : 2.9E-39 .. 1.7E38
* [[Double/fr|Double]] - plage de valeurs: (5.0E-324 .. 1.7E308)
+
* [[Double/fr|Double]] - plage de valeurs : (5.0E-324 .. 1.7E308)
* [[Extended/fr|Extended]] - plage de valeurs : dépendant de la plate-forme
+
* [[Extended/fr|Extended]] - plage de valeurs : dépendante de la plate-forme
* [[Comp/fr|Comp]] - plage de valeurs: (-2E64+1 .. 2E63-1)
+
* [[Comp/fr|Comp]] - plage de valeurs : (-2E64+1 .. 2E63-1)
* [[Currency/fr|Currency]] - plage de valeurs: (-922 337 203 685 477.5808 .. 922 337 203 685 477.5807)
+
* [[Currency/fr|Currency]] - plage de valeurs : (-922 337 203 685 477.5808 .. 922 337 203 685 477.5807)
 
<br>
 
<br>
  
 
=Types booléens=
 
=Types booléens=
Les valeurs de ces type contiennent des valeurs booléennes :
+
Les valeurs de ces types contiennent des valeurs booléennes :
* [[Boolean/fr|Boolean]] - plage de valeurs: (Vrai, Faux)
+
* [[Boolean/fr|Boolean]] - plage de valeurs : (Vrai, Faux)
* [[Bytebool/fr|Bytebool]] - plage de valeurs: (Vrai, Faux)
+
* [[Bytebool/fr|Bytebool]] - plage de valeurs : (Vrai, Faux)
* [[Wordbool/fr|Wordbool]] - plage de valeurs: (Vrai, Faux)
+
* [[Wordbool/fr|Wordbool]] - plage de valeurs : (Vrai, Faux)
* [[Longbool/fr|Longbool]] - plage de valeurs: (Vrai, Faux)
+
* [[Longbool/fr|Longbool]] - plage de valeurs : (Vrai, Faux)
 
<br>
 
<br>
  
 
=Types énumérés=
 
=Types énumérés=
Les valeurs, constantes entières non signées, sont nommées dans déclaration du type.
+
Les valeurs, constantes entières non signées sont nommées dans la déclaration du type.
* [[Enum Type/fr|Type énumérées]] - plage de valeurs: (type entier)
+
* [[Enum Type/fr|Type énumérées]] - plage de valeurs : (type entier)
 
<br/>
 
<br/>
  
 
=Types caractère=
 
=Types caractère=
 
==Types caractère dans lequel un caractère est codé par un octet==
 
==Types caractère dans lequel un caractère est codé par un octet==
* [[Char/fr|Char]] - feste Länge: 1 Zeichen, Darstellung: 1 Zeichen
+
* [[Char/fr|Char]] - longueur : 1 caractère (8 bits) - représentation : 1 caractère.
* [[Shortstring/fr|ShortString]] - maximale Länge: 255 Zeichen
+
* [[Shortstring/fr|ShortString]] - longueur maximale : 255 caractères. La taille est dans le caractère d'indice.
* [[String/fr|String]] - maximale Länge: Shortstring oder Ansistring (kommt auf den verwendeten Compilerswitch an)
+
* [[String/fr|String]] - longueur maximale : Shortstring ou Ansistring (selon la directive de compilation $H)
* [[PChar/fr|PChar]] - Zeiger auf einen Nullterminierten String ohne Längenbegrenzung
+
* [[PChar/fr|PChar]] - pointeur vers une chaîne terminée par zéro sans limite de longueur.
* [[Ansistring/fr|AnsiString]] - keine Längenbegrenzung
+
* [[Ansistring/fr|AnsiString]] - aucune limite de longueur
* [[Pansichar/fr|PAnsiChar]] - Zeiger auf einen Nullterminierten String ohne Längenbegrenzung
+
* [[PAnsiChar/fr|PAnsiChar]] - pointeur vers une chaîne terminée par zéro sans limite de longueur
* Übersicht über die verschiedenen [[Character and string types/fr|Character und String Typen]]
+
Aperçu des diverses [[Character and string types/fr|types de caractère et String]]
 
<br>
 
<br>
  
 
==Types caractère dans lequel un caractère est codé par deux ou quatre octets==
 
==Types caractère dans lequel un caractère est codé par deux ou quatre octets==
(Die [[String Encoding/fr|Kodierung]] des dargestellten Zeichens durch 2 oder 4 Zeichen ist vom verwendeten Betriebssystem abhängig)<br>
+
(L'[[String Encoding/fr|encodage]] du caractère représenté par 2 ou 4 octets dépend du système d'exploitation))<br>
* [[Widechar/fr|WideChar]] - feste Länge: 2 oder 4 Zeichen, Darstellung: 1 Zeichen
+
* [[Widechar/fr|WideChar]] - représente un caractère encodé sur 2 ou 4 octets
* [[Widestring/fr|WideString]] - keine Längenbegrenzung
+
* [[Widestring/fr|WideString]] - aucune limite de taille
* [[Pwidechar/fr|PWideChar]] - Zeiger auf einen Nullterminierten WideString ohne Längenbegrenzung
+
* [[Pwidechar/fr|PWideChar]] - pointeur vers une WideString terminée par zéro sans limite de longueur
* [[Unicodechar/fr|UnicodeChar]] - feste Länge: 2 oder 4 Zeichen, Darstellung: 1 Zeichen
+
* [[Unicodechar/fr|UnicodeChar]] - représente un caractère encodé sur 2 ou 4 octets
* [[Unicodestring/fr|UnicodeString]] - keine Längenbegrenzung
+
* [[Unicodestring/fr|UnicodeString]] - aucune limite de taille
* [[Punicodechar/fr|PUnicodeChar]] - Zeiger auf einen Nullterminierten UnicodeString ohne Längenbegrenzung
+
* [[Punicodechar/fr|PUnicodeChar]] - pointeur vers une UnicodeString terminée par zéro sans limite de longueur
* Übersicht über die verschiedenen [[Character and string types/fr|Character und String Typen]]
+
Aperçu des diverses [[Character and string types/fr|types de caractère et String]]
 
<br>
 
<br>
  
Line 112: Line 112:
  
 
=Constantes=
 
=Constantes=
*Untypisierte Konstanten
+
*Constantes non typées (type non spécifié dans la déclaration)
**[[Const/fr|Const]] - es können nur einfache Datentypen verwendet werden.
+
**[[Const/fr|Const]] - seuls des types simples (reconnaissables par le compilateur) peuvent être utilisés
*Typisierte Konstanten
+
*Constantes typées
**[[Const/fr|Const]] - es können einfache Datentypen sowie Records und Arrays verwendet werden
+
**[[Const/fr|Const]] - des types simples peuvent être utilisés, ainsi que des enregistrements et des tableaux
*Resource Strings
+
*Chaînes de ressource
**[[Resourcestring|Resourcestring]] - dient der sprachspezifischen Beschriftung von Menüs (steht nicht in allen Compilermodi zur Verfügung)
+
**Resourcestring - pour les libellés cibles de traduction (non disponible dans tous les modes de compilation))
 
<br>
 
<br>
  
 
=Types structurés=
 
=Types structurés=
* [[Array/fr|Array]] - die Größe des Array hängt von der Art und der Anzahl der verwendeten Elemente ab
+
* [[Array/fr|Array]] - la taille du tableau dépend du type et du nombre d'éléments utilisés
* [[Record/fr|Record]] - eine Kombination der obigen Datentypen (zusammengefasst)
+
* [[Record/fr|Record]] - une combinaison des types de données ci-dessus (voir le résumé)
* [[Set/fr|Set]] - eine Menge von Elementen des Datentyps Char; die Größe des Set hängt von der Anzahl der Elemente ab
+
* [[Set/fr|Set]] - un ensemble d'éléments énumérables, la taille étant fonction du nombre d'éléments
 
<br>
 
<br>
  
=Types intervalle=
+
=Types intervalles=
 
* Les [[subrange types/fr|intervalles]] sont des sous-ensembles de types de données de base (entier ou caractère).
 
* Les [[subrange types/fr|intervalles]] sont des sous-ensembles de types de données de base (entier ou caractère).
 
<br>
 
<br>
  
 
=Pointeur=
 
=Pointeur=
* [[Pointer/fr|Pointer]] - Taille: celle de Longint ou celle de Int64
+
* [[Pointer/fr|Pointer]] - taille: celle de Longint ou celle de Int64
 
<br>
 
<br>
  
=Classes und Objets=
+
=Classes et Objets=
* [[Object/fr|Object]] - unter Turbo Pascal 5.5 für DOS entwickelt und ein Vorläufer des Typs Class
+
* [[Object/fr|Object]] - développé pour Turbo Pascal 5.5 sous DOS et un précurseur de type Class
* [[Class/fr|Class]] - unter Delphi 1.0 für Windows entwickelt und ist ein Nachfolger des Typs Object
+
* [[Class/fr|Class]] - développé pour Delphi 1.0 sous Windows et un successeur du type Object
 
<br>
 
<br>

Latest revision as of 17:14, 28 August 2021

Deutsch (de) English (en) español (es) français (fr) Bahasa Indonesia (id) italiano (it) русский (ru)

Informations générales sur les types de données

Cette page propose une sélection de types de données Free Pascal.
Un 'type' est un modèle pour un champ de données.
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.
Nous allons passer en revue les types de base de FPC en les regroupant par familles.

Types de donnée entier

Types non signés

Les valeurs de ces types ne peuvent contenir que des entiers positifs.

  • UInt8 - plage de valeurs : (0 .. 255)
  • Byte - plage de valeurs : (0 .. 255)
  • UInt16 - plage de valeurs : (0 .. 65 535)
  • Word - plage de valeurs : (0 .. 65 535)
  • NativeUInt - plage de valeurs : dépendante du processeur
  • DWord - correspond au type de donnée Longword
  • Cardinal - correspond au type de donnée Longword
  • UInt32 - plage de valeurs : (0 .. 4 294 967 295)
  • Longword - plage de valeurs : (0 .. 4 294 967 295)
  • UInt64 - plage de valeurs : (0 .. 18 446 744 073 709 551 615)
  • QWord - plage de valeurs : (0 .. 18 446 744 073 709 551 615)


Types signés

Les valeurs de ces types peuvent contenir des entiers positifs et négatifs.

  • Int8 - plage de valeurs : (-128 .. 127)
  • Shortint - plage de valeurs : (-128 .. 127)
  • Int16 - plage de valeurs : (-32 768 .. 32 767)
  • Smallint - plage de valeurs : (-32 768 .. 32 767)
  • Integer - correspond au type Smallint ou au type Longint selon le mode de compilation
  • Int32 - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
  • NativeInt - plage de valeurs : dépendante du processeur
  • Longint - plage de valeurs : (-2 147 483 648 .. 2 147 483 647)
  • Int64 - plage de valeurs : (-9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807)


Types à virgule flottante

Les types de données à virgule flottante sont les suivants :

  1. stockage entier positif et négatif ;
  2. stockage virgule flottante positif et négatif.


  • Single - plage de valeurs : (1.5E-45 .. 3.4E38)
  • Real - plage de valeurs : dépendante de la plate-forme
  • Real48 - plage de valeurs : 2.9E-39 .. 1.7E38
  • Double - plage de valeurs : (5.0E-324 .. 1.7E308)
  • Extended - plage de valeurs : dépendante de la plate-forme
  • Comp - plage de valeurs : (-2E64+1 .. 2E63-1)
  • Currency - plage de valeurs : (-922 337 203 685 477.5808 .. 922 337 203 685 477.5807)


Types booléens

Les valeurs de ces types contiennent des valeurs booléennes :

  • Boolean - plage de valeurs : (Vrai, Faux)
  • Bytebool - plage de valeurs : (Vrai, Faux)
  • Wordbool - plage de valeurs : (Vrai, Faux)
  • Longbool - plage de valeurs : (Vrai, Faux)


Types énumérés

Les valeurs, constantes entières non signées sont nommées dans la déclaration du type.


Types caractère

Types caractère dans lequel un caractère est codé par un octet

  • Char - longueur : 1 caractère (8 bits) - représentation : 1 caractère.
  • ShortString - longueur maximale : 255 caractères. La taille est dans le caractère d'indice.
  • String - longueur maximale : Shortstring ou Ansistring (selon la directive de compilation $H)
  • PChar - pointeur vers une chaîne terminée par zéro sans limite de longueur.
  • AnsiString - aucune limite de longueur
  • PAnsiChar - pointeur vers une chaîne terminée par zéro sans limite de longueur

Aperçu des diverses types de caractère et String

Types caractère dans lequel un caractère est codé par deux ou quatre octets

(L'encodage du caractère représenté par 2 ou 4 octets dépend du système d'exploitation))

  • WideChar - représente un caractère encodé sur 2 ou 4 octets
  • WideString - aucune limite de taille
  • PWideChar - pointeur vers une WideString terminée par zéro sans limite de longueur
  • UnicodeChar - représente un caractère encodé sur 2 ou 4 octets
  • UnicodeString - aucune limite de taille
  • PUnicodeChar - pointeur vers une UnicodeString terminée par zéro sans limite de longueur

Aperçu des diverses types de caractère et String

Type variant


Constantes

  • Constantes non typées (type non spécifié dans la déclaration)
    • Const - seuls des types simples (reconnaissables par le compilateur) peuvent être utilisés
  • Constantes typées
    • Const - des types simples peuvent être utilisés, ainsi que des enregistrements et des tableaux
  • Chaînes de ressource
    • Resourcestring - pour les libellés cibles de traduction (non disponible dans tous les modes de compilation))


Types structurés

  • Array - la taille du tableau dépend du type et du nombre d'éléments utilisés
  • Record - une combinaison des types de données ci-dessus (voir le résumé)
  • Set - un ensemble d'éléments énumérables, la taille étant fonction du nombre d'éléments


Types intervalles

  • Les intervalles sont des sous-ensembles de types de données de base (entier ou caractère).


Pointeur

  • Pointer - taille: celle de Longint ou celle de Int64


Classes et Objets

  • Object - développé pour Turbo Pascal 5.5 sous DOS et un précurseur de type Class
  • Class - développé pour Delphi 1.0 sous Windows et un successeur du type Object