Sign in Join
Wiki copytemporary

Variant/fr: what changed

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

Title: Variant/fr

OldNewLine
1+Occupation en mémoire :
2+
3+- en compilation 32 Bit : 16 octets soit 128 Bit
4+
5+- en compilation 64 Bit : 24 octets soit 192 Bit
6+
7+Propriété : Le [[Data type/fr|type de donnée]] Variant offre une grande flexibilité dans la programmation. Cependant, il requiert plus de mémoire que les champs de donnée/variables ordinaires. Le type de donnée Variant peut, à l'exception des types structurés, stocker tout type de donnée. Les opérations sur les types Variant sont considérablement plus lentes qu'avec les champs de données typés statiquement.
8+
9+Deux exemples de fonctions dans l'unité **Variants**:
10+
11+- La fonction VarType() vérifie le type du contenu d'une variable de type de données Variant.
12+
13+- La fonction VarToStr() convertit le contenu d'une variable de type de données Variant en chaîne de caractères.
14+
15+Définition d'un champ de donnée de Variant :
16+
17+``` pascal
18+var
19+ v: Variant;
20+```
21+
22+Définition des champs de donnée pour les exemples :
23+
24+``` pascal
25+var
26+ v: Variant;
27+ s: String;
28+ i: Integer;
29+```
30+
31+Exemple 1 :
32+
33+``` pascal
34+ // Affectation de valeur
35+ v := 1;
36+
37+ // Exemple de casting / affectation de type / conversion de type :
38+ // Conversion de type de données explicite
39+ s := VarToStr(v);
40+ s := AnsiString(v);
41+ i := Integer(v);
42+ // Conversion de type de données implicite
43+ i := v;
44+```
45+
46+Exemple 2 :
47+
48+``` pascal
49+ // Affectation de valeur
50+ v := 'Tomate';
51+
52+ // Exemple de casting / affectation de type / conversion de type :
53+ // Conversion de type de données explicite
54+ s := VarToStr(v);
55+ s := AnsiString(v);
56+```
57+
58+Exemple 3 :
59+
60+``` pascal
61+ // Exemple de détermination du type du contenu d'un champ de données de type variant :
62+ Case varType(v) of
63+ varEmpty:
64+ ShowMessage('Vide');
65+ varNull:
66+ ShowMessage('Null');
67+ varSingle:
68+ ShowMessage('Type de donnée : Single');
69+ varDouble:
70+ ShowMessage('Type de donnée : Double');
71+ varDecimal:
72+ ShowMessage('Type de donnée : Decimal');
73+ varCurrency:
74+ ShowMessage('Type de donnée : Currency');
75+ varDate:
76+ ShowMessage('Type de donnée : Date');
77+ varOleStr:
78+ ShowMessage('Type de donnée : UnicodeString');
79+ varStrArg:
80+ ShowMessage('Type de donnée : COM-compatible string');
81+ varString:
82+ ShowMessage('Type de donnée : Pointeur sur une chaîne à extension dynamique');
83+ varDispatch:
84+ ShowMessage('Type de donnée : Pointeur sur un objet d''automation');
85+ varBoolean:
86+ ShowMessage('Type de donnée : Wordbool');
87+ varVariant:
88+ ShowMessage('Type de donnée : Variant');
89+ varUnknown:
90+ ShowMessage('Type de donnée : Inconnu');
91+ varShortInt:
92+ ShowMessage('Type de donnée : ShortInt');
93+ varSmallint:
94+ ShowMessage('Type de donnée : Smallint');
95+ varInteger:
96+ ShowMessage('Type de donnée : Integer');
97+ varInt64:
98+ ShowMessage('Type de donnée : Int64');
99+ varByte:
100+ ShowMessage('Type de donnée : Byte');
101+ varWord:
102+ ShowMessage('Type de donnée : Word');
103+ varLongWord:
104+ ShowMessage('Type de donnée : LongWord');
105+ varQWord:
106+ ShowMessage('Type de donnée : QWord');
107+ varError:
108+ ShowMessage('Erreur du système d''exploitation');
109+ else
110+ ShowMessage('Autre type ou état des donnée');
111+ end;
112+```
113+
114+---
115+*From the Free Pascal wiki, page "Variant/fr", as it stood on 2020-03-03 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