System.ConvUtils.RegisterConversionType

提供: Appmethod Libraries
移動先: 案内検索

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 */;

プロパティ

種類 可視性 ソース ユニット
function public
System.ConvUtils.pas
System.ConvUtils.hpp
System.ConvUtils System.ConvUtils

説明

新しい変換の種類を登録して,その識別子を返します。

RegisterConversionType 関数を呼び出すと,登録されている変換ファミリーに新しい変換の種類(単位)を追加できます。グローバルな Convert 関数は,同じ変換ファミリーに登録されている 2 つの変換の種類の間で変換を行うことができます。

AFamily は,新しい変換の種類が属する変換ファミリーの識別子です。AFamily には,StdConvs ユニットで事前に定義されている変換ファミリー,または RegisterConversionFamily の呼び出しで返される値のいずれかを指定できます。

ADescription は,変換の種類の名前となる文字列です。通常は,単位名の複数形です。たとえば,duMeters という変換の種類の場合は「Meters」です。

AFactor は,新しい変換の種類を使用する尺度を変換ファミリーの基本単位に変換するときに乗算する係数です。たとえば,距離ファミリーの基本単位はメートルであるため,duKilometers の係数は 1000 になります。

AToCommonProc と AFromCommonProc は,新しい変換の種類と変換ファミリーの基本単位の間で変換を行う関数です。これらの関数は,単純な乗算では新しい変換の種類と基本単位の間で変換を行うことができない場合に使用します。たとえば温度では 0 としてさまざまな値が使用されるので,係数ではなく変換関数が必要となります。AToCommonProc は新しい変換の種類の尺度をファミリーの基本単位に変換し,AFromCommonProc はファミリーの基本単位の尺度を新しい変換の種類に変換します。

AConvTypeInfo は,新しい変換の種類を表す TConvTypeInfo の下位クラスのインスタンスです。その ConvFamily プロパティと Description プロパティにはそれぞれ,新しい変換の種類が属する変換ファミリー,および新しい種類の名前となる文字列を設定しなければなりません(AFamily パラメータおよび ADescription パラメータに類似)。また,その ToCommon メソッドと FromCommon メソッドは,新しい変換の種類と変換ファミリーの基本単位の間で変換を行います(AToCommonProc パラメータおよび AFromCommonProc パラメータに類似)。RegisterConversionType はその ConvType プロパティを設定し,同時にそれを AType パラメータとして返します。この構文を使用する場合,RegisterConversionType は新しい種類が正常に登録された場合に true を返し,ファミリーが登録されていないか,説明がすでに登録されていることが原因で新しい種類を登録できなかった場合は false を返します。

関連項目