📄 ufrmsayhello.pas
字号:
unit ufrmSayHello;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TfrmSayHello = class(TForm)
GroupBox1: TGroupBox;
edtName: TLabeledEdit;
edtSkinColor: TLabeledEdit;
edtLanguage: TLabeledEdit;
btnUSA: TButton;
btnKorean: TButton;
btnCN: TButton;
btnFrench: TButton;
Image1: TImage;
procedure btnUSAClick(Sender: TObject);
procedure btnCNClick(Sender: TObject);
procedure btnFrenchClick(Sender: TObject);
procedure btnKoreanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmSayHello: TfrmSayHello;
implementation
uses uSayHello;
{$R *.dfm}
procedure TfrmSayHello.btnUSAClick(Sender: TObject);
var
AMan:TMan;
begin
AMan:=TAmerican.create;
edtName.Text:=AMan.Name;
edtLanguage.Text:=AMan.Language;
edtSkinColor.Text:=AMan.SkinColor;
image1.Picture.LoadFromFile(AMan.sayHello);
end;
procedure TfrmSayHello.btnCNClick(Sender: TObject);
var
AMan:TMan;
begin
AMan:=TChinese.create;
edtName.Text:=AMan.Name;
edtLanguage.Text:=AMan.Language;
edtSkinColor.Text:=AMan.SkinColor;
image1.Picture.LoadFromFile(AMan.sayHello);
end;
procedure TfrmSayHello.btnFrenchClick(Sender: TObject);
var
AMan:TMan;
AFrench:TFrench;
begin
AMan:=TFrench.create;
edtName.Text:=AMan.Name;
edtLanguage.Text:=AMan.Language;
edtSkinColor.Text:=AMan.SkinColor;
image1.Picture.LoadFromFile(AMan.sayHello);
//以下将使用向下转型实现子类中新增的方法
if AMan is TFrench then
begin
AFrench:=AMan as TFrench;
application.MessageBox(AFrench.kiss,'问候',MB_ICONINFORMATION+MB_OK);
application.MessageBox(AFrench.embrace,'问候',MB_ICONINFORMATION+MB_OK);
end
else
AFrench:=nil;
{ //以下使用的是另一种向下转型方法,但不推荐使用。
AFrench:=TFrench(AMan);
application.MessageBox(AFrench.kiss,'问候',MB_ICONINFORMATION+MB_OK);
application.MessageBox(AFrench.embrace,'问候',MB_ICONINFORMATION+MB_OK);
}
end;
procedure TfrmSayHello.btnKoreanClick(Sender: TObject);
var
AMan:TMan;
begin
AMan:=TKorean.create;
edtName.Text:=AMan.Name;
edtLanguage.Text:=AMan.Language;
edtSkinColor.Text:=AMan.SkinColor;
image1.Picture.LoadFromFile(AMan.sayHello);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -