⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convertimpl.pas

📁 delphi实例大全非常经典
💻 PAS
字号:
unit ConvertImpl;

interface

uses
  Classes, SysUtils, InvokeRegistry, ConvertIntf;

type
  TConvert = class (TInvokableClass, IConvert)
  protected
    function ConvertCurrency (Source, Dest: string; Amount: Double): Double; stdcall;
    function ToEuro (Source: string; Amount: Double): Double; stdcall;
    function FromEuro (Dest: string; Amount: Double): Double; stdcall;
    function TypesList: string; stdcall;    
  end;

implementation

uses
  ConvUtils, EuroConvConst;

{ TConvert }

function TConvert.ConvertCurrency(Source, Dest: string;
  Amount: Double): Double;
var
  BaseType, DestType: TConvType;
begin
  if DescriptionToConvType (cbEuroCurrency, Source, BaseType) and
      DescriptionToConvType (cbEuroCurrency, Dest, DestType) then
    Result := EuroConvert (Amount, BaseType, DestType, 4)
  else
    raise Exception.Create ('Undefined currency types');
end;

function TConvert.FromEuro(Dest: string; Amount: Double): Double;
var
  DestType: TConvType;
begin
  Result := 0;
  if DescriptionToConvType (cbEuroCurrency, Dest, DestType) then
    Result := EuroConvert (Amount, cuEUR, DestType, 4);
end;

function TConvert.ToEuro(Source: string; Amount: Double): Double;
var
  BaseType: TConvType;
begin
  Result := 0;
  if DescriptionToConvType (cbEuroCurrency, Source, BaseType) then
    Result := EuroConvert (Amount, BaseType, cuEUR, 4);
end;

function TConvert.TypesList: string;
var
  i: Integer;
  ATypes: TConvTypeArray;
begin
  Result := '';
  GetConvTypes(cbEuroCurrency, ATypes);
  for i := Low(aTypes) to High(aTypes) do
    Result := Result + ConvTypeToDescription (aTypes[i]) + ';';
end;

initialization
  InvRegistry.RegisterInvokableClass (TConvert);
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -