System.ConvUtils.RegisterConversionType

Aus Appmethod Libraries
Wechseln zu: Navigation, Suche

Object Pascal

function RegisterConversionType(AConvTypeInfo: TConvTypeInfo; out AType: TConvType): Boolean;
function RegisterConversionType(const AFamily: TConvFamily; const ADescription: string; const AFactor: Double): TConvType;
function RegisterConversionType(const AFamily: TConvFamily; const ADescription: string; const AToCommonProc, AFromCommonProc: TConversionProc): TConvType;

C++

extern DELPHI_PACKAGE bool __fastcall RegisterConversionType(TConvTypeInfo* AConvTypeInfo, /* out */ TConvType &AType)/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.ConvUtils.pas
System.ConvUtils.hpp
System.ConvUtils System.ConvUtils

Beschreibung

Registriert einen neuen Konvertierungstyp und gibt dessen Bezeichner zurück.

Mit RegisterConversionType können Sie einen neuen Konvertierungstyp (Maßeinheit) für eine registrierte Konvertierungsfamilie registrieren. Die globale Funktion Convert kann anschließend zwischen zwei beliebigen Konvertierungstypen (Maßeinheiten) umrechnen, die für dieselbe Konvertierungsfamilie registriert wurden.

AFamily ist der Bezeichner der Konvertierungsfamilie, für die der neue Konvertierungstyp registriert wird. Es kann sich um eine der vordefinierten Konvertierungsfamilien in der Unit StdConvs oder einen Wert handeln, der von einem Aufruf der Funktion RegisterConversionFamily zurückgegeben wurde.

ADescription ist ein String, der den Konvertierungstyp benennt. Normalerweise ist dies der Name der Maßeinheit im Plural. Die Beschreibung des Konvertierungstyps duMeters lautet beispielsweise 'Meters'.

AFactor ist der Faktor, mit dem ein im neuen Konvertierungstyp angegebenes Maß multipliziert werden muss, um es in die Basismaßeinheit der Konvertierungsfamilie umzurechnen. Aus diesem Grund beträgt beispielsweise der Faktor für duKilometers 1000, weil die Basiseinheit der Familie für Strecken der Meter ist.

AToCommonProc und AFromCommonProc sind Funktionen, die zwischen dem neuen Konvertierungstyp und der Basiseinheit der jeweiligen Konvertierungsfamilie umrechnen. Sie werden verwendet, wenn die Umrechnung zwischen dem neuen Konvertierungstyp und der Basiseinheit nicht durch einfache Multiplikation möglich ist. Dies ist beispielsweise bei Temperaturwerten der Fall, die auf einem unterschiedlichen Nullpunkt basieren und deshalb außer der Multiplikation mit einem Faktor weitere Umrechnungsschritte erforderlich machen. AToCommonProc konvertiert im neuen Konvertierungstyp angegebene Maße in die Basiseinheit des Typs, AFromCommonProc konvertiert aus der Basiseinheit der Familie in den neuen Konvertierungstyp.

AConvTypeInfo ist eine Instanz eines nachkommen von TConvTypeInfo, der einen neuen Konvertierungstyp darstellt. Am Beginn der Funktion müssen die Eigenschaften ConvFamily und Description auf eine Konvertierungsfamilie gesetzt sein, die den neuen Konvertierungstyp und den String mit dem neuen Namen (analog zu den Parametern AFamily und ADescription) enthält. Die Methoden ToCommon und FromCommon konvertieren zwischen dem neuen Konvertierungstyp und den Basiseinheiten der Konvertierungsfamilie (analog zu den Parametern AToCommonProc und AFromCommonProc). Die Funktion RegisterConversionType setzt die Eigenschaft ConvType, die sie auch im Parameter AType zurückgibt. Bei dieser Syntax gibt RegisterConversionType true zurück, wenn der neue Typ erfolgreich registriert wurde und false, wenn er nicht registriert werden konnte (entweder, weil die Familie nicht oder die Beschreibung bereits registriert wurde).

Siehe auch