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);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | protected | System.Variants.pas System.Variants.hpp |
System.Variants | TCustomVariantType |
Beschreibung
Gibt an, ob das linke Argument einer binären Operation in einen anderen Typ umgewandelt werden soll.
Durch Überschreiben von LeftPromotion können Sie angeben, ob das linke Argument einer Binäroperation vor der Operation explizit in einen anderen Typ umgewandelt werden soll. LeftPromotion wird automatisch aufgerufen, wenn das rechte Argument einer Binär- oder Vergleichsoperation den Typ Variant hat und folgende Bedingungen zutreffen:
Das linke Argument ist ein interner Variant-Typ.
Das linke Argument ist ein benutzerdefinierter Variant-Typ, der mit TCustomVariantType kompatibel ist.
V ist ein Record (TVarData) mit den Daten des linken Arguments.
Operator gibt die Art der Operation an. Der Parameter kann einen der folgenden Werte annehmen:
Wert | Operation |
---|---|
opAdd |
Addition |
opSubtract |
Subtraktion |
opMultiply |
Multiplikation |
opDivide |
Gleitkommadivision |
opIntDivide |
Ganzzahlige Division |
opModulus |
Rest |
opShiftLeft |
Bitweise nach links schieben (<<) |
opShiftLeft |
Bitweise nach rechts schieben |
opAnd |
Bitweises and |
opOr |
Bitweises or |
opXor |
Bitweises X-Oder |
opCompare |
Beliebige Vergleichsoperation |
RequiredVarType gibt den Typcode des Variant-Typs zurück, in den das linke Argument vor der Operation umgewandelt werden soll. Kann die Operation ohne Typkonvertierung durchgeführt werden, wird in RequiredVarType das Feld VType des Parameters V zurückgegeben.
LeftPromotion gibt true zurück, wenn die Operation (mit der Methode BinaryOp, CompareOp oder Compare) durchgeführt und das linke Argument in RequireVarType konvertiert werden kann. Andernfalls wird false zurückgegeben. Andernfalls wird false zurückgegeben.
In TCustomVariantType gibt LeftPromotion den Wert der Eigenschaft VarTypein RequiredVarType und den Rückgabewert true zurück.