【delphi开源代码栏目提醒】:网学会员--在 delphi开源代码编辑为广大网友搜集整理了:ConvertItUnit.pas绩等信息,祝愿广大网友取得需要的信息,参考学习。
unit ConvertItUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
ConvTypes: TListBox;
ConvValue: TEdit;
ConvResults: TListBox;
ConvValueIncDec: TUpDown;
ConvFamilies: TTabControl;
StatusBar1: TStatusBar;
procedure FormShow(Sender: TObject);
procedure ConvTypesClick(Sender: TObject);
procedure ConvValueChange(Sender: TObject);
procedure ConvFamiliesChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
ConvUtils, StdConvs, EuroConv, StrUtils;
procedure TForm1.FormShow(Sender: TObject);
var
LFamilies: TConvFamilyArray;
I: Integer;
LStrings: TStringList;
begin
ConvFamilies.Tabs.Clear;
LStrings := TStringList.Create;
try
GetConvFamilies(LFamilies);
for I := 0 to Length(LFamilies) - 1 do
LStrings.AddObject(ConvFamilyToDescription(LFamilies[I]), TObject(LFamilies[I]));
LStrings.Sort;
ConvFamilies.Tabs.Assign(LStrings);
ConvFamiliesChange(Sender);
finally
LStrings.Free;
end;
end;
procedure TForm1.ConvFamiliesChange(Sender: TObject);
var
LFamily: TConvFamily;
LTypes: TConvTypeArray;
I: Integer;
begin
LFamily := TConvFamily(ConvFamilies.Tabs.Objects[ConvFamilies.TabIndex]);
with ConvTypes, Items do
begin
BeginUpdate;
Clear;
GetConvTypes(LFamily, LTypes);
for I := 0 to Length(LTypes) - 1 do
AddObject(ConvTypeToDescription(LTypes[I]), TObject(LTypes[I]));
ItemIndex := 0;
EndUpdate;
end;
ConvTypesClick(Sender);
end;
procedure TForm1.ConvTypesClick(Sender: TObject);
begin
ConvValueChange(Sender);
end;
procedure TForm1.ConvValueChange(Sender: TObject);
var
LValue: Double;
LBaseType, LTestType: TConvType;
I: Integer;
begin
with ConvResults, Items do
try
BeginUpdate;
Clear;
try
LValue := StrToFloatDef(ConvValue.Text, 0);
if ConvTypes.ItemIndex <> -1 then
begin
LBaseType := TConvType(ConvTypes.Items.Objects[ConvTypes.ItemIndex]);
for I := 0 to ConvTypes.Items.Count - 1 do
begin
LTestType := TConvType(ConvTypes.Items.Objects[I]);
Add(Format('%n %s', [Convert(LValue, LBaseType, LTestType),
ConvTypeToDescription(LTestType)]));
end;
end
else
Add('No base type');
except
Add('Cannot parse value');
end;
finally
EndUpdate;
end;
end;
end.
上一篇:
frmczql.frm
下一篇:
法学专业毕业论文讲座