System.Variants.TCustomVariantType.LeftPromotion
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.