System.Variants.TCustomVariantType.LeftPromotion

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function LeftPromotion(const V: TVarData; const Operator: TVarOp;  out RequiredVarType: TVarType): Boolean; virtual;

C++

virtual bool __fastcall LeftPromotion(const TVarData &V, const int Operator, /* out */ System::Word &RequiredVarType);

Propriétés

Type Visibilité  Source Unité  Parent
function protected
System.Variants.pas
System.Variants.hpp
System.Variants TCustomVariantType

Description

Indique si l'argument de gauche d'une opération binaire doit être converti en un type différent.

Redéfinissez LeftPromotion pour indiquer à quel moment l'argument de gauche d'une opération binaire ou de comparaison doit être implicitement transtypé avant la réalisation de l'opération. LeftPromotion est appelée lorsque le Variant de droite d'une opération binaire ou de comparaison est de ce type Variant et

l'argument de gauche est un type Variant intégré.

l'argument de gauche est un type Variant personnalisé compatible avec ce type Variant de l'argument de droite.

V représente l'enregistrement TVarData de l'argument de gauche de l'opération.

Operator indique le type d'opération. Ce peut être un opérateur quelconque du tableau suivant :



Valeur Opération

opAdd

addition

opSubtract

soustraction

opMultiply

multiplication

opDivide

division à virgule flottante

opIntDivide

division entière

opModulus

reste

opShiftLeft

décalage vers la gauche

opShiftRight

décalage vers la droite

opAnd

opérateur binaire ET

opOr

opérateur binaire OU

opXor

opérateur binaire OU exclusif

opCompare

toute opération de comparaison



RequiredVarType renvoie le code de type Variant du type dans lequel l'argument de gauche doit être transtypé avant l'opération. Si l'opération peut se poursuivre sans que l'argument de gauche ne soit modifié, RequiredVarType renvoie le champ VType de V.

LeftPromotion renvoie true si le descendant de TCustomVariantType peut effectuer l'opération (à l'aide de la méthode BinaryOp, CompareOp ou Compare) en supposant que l'argument de gauche peut être transtypé en RequiredVarType. Elle renvoie false si le descendant de TCustomVariantType ne peut pas réaliser l'opération.

Telle qu'implémentée dans TCustomVariantType, LeftPromotion renvoie la propriété VarType en tant que RequiredVarType, et renvoie true.

Voir aussi