Sign in Join
Wiki copytemporary

Variant/fr

Deutsch · English · Español · Français · Polski

Occupation en mémoire :

Propriété : Le 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.

Deux exemples de fonctions dans l'unité Variants:

Définition d'un champ de donnée de Variant :

pascal
var
  v: Variant;

Définition des champs de donnée pour les exemples :

pascal
var
  v: Variant;
  s: String;
  i: Integer;

Exemple 1 :

pascal
  // Affectation de valeur
  v := 1;

  // Exemple de casting / affectation de type / conversion de type :
  // Conversion de type de données explicite
  s := VarToStr(v);
  s := AnsiString(v);
  i := Integer(v);
  // Conversion de type de données implicite
  i := v;

Exemple 2 :

pascal
  // Affectation de valeur
  v := 'Tomate';

  // Exemple de casting / affectation de type / conversion de type :
  // Conversion de type de données explicite
  s := VarToStr(v);
  s := AnsiString(v);

Exemple 3 :

pascal
 // Exemple de détermination du type du contenu d'un champ de données de type variant :
 Case varType(v) of
    varEmpty:
        ShowMessage('Vide');
    varNull:
        ShowMessage('Null');
    varSingle:
        ShowMessage('Type de donnée : Single');
    varDouble:
        ShowMessage('Type de donnée : Double');
    varDecimal:
        ShowMessage('Type de donnée : Decimal');
    varCurrency:
        ShowMessage('Type de donnée : Currency');
    varDate:
        ShowMessage('Type de donnée : Date');
    varOleStr:
        ShowMessage('Type de donnée : UnicodeString');
    varStrArg:
        ShowMessage('Type de donnée : COM-compatible string');
    varString:
        ShowMessage('Type de donnée : Pointeur sur une chaîne à extension dynamique');
    varDispatch:
        ShowMessage('Type de donnée : Pointeur sur un objet d''automation');
    varBoolean:
        ShowMessage('Type de donnée : Wordbool');
    varVariant:
        ShowMessage('Type de donnée : Variant');
    varUnknown:
        ShowMessage('Type de donnée : Inconnu');
    varShortInt:
        ShowMessage('Type de donnée : ShortInt');
    varSmallint:
        ShowMessage('Type de donnée : Smallint');
    varInteger:
        ShowMessage('Type de donnée : Integer');
    varInt64:
        ShowMessage('Type de donnée : Int64');
    varByte:
        ShowMessage('Type de donnée : Byte');
    varWord:
        ShowMessage('Type de donnée : Word');
    varLongWord:
        ShowMessage('Type de donnée : LongWord');
    varQWord:
        ShowMessage('Type de donnée : QWord');
    varError:
        ShowMessage('Erreur du système d''exploitation');
 else
   ShowMessage('Autre type ou état des donnée');
 end;

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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.