erface
uses
.Drawing, .Collections, .ComponentModel,
.Windows.Forms, .Data;
type
TWinForm = (.Windows.Forms.Form)
{$REGION 'Designer Managed Code'}
strict private
/// <summary>
/// Required designer variable.
/// </summary>
Components: .ComponentModel.Container;
Button1: .Windows.Forms.Button;
/// <summary>
/// Required method for Designer support - do not mody
/// the contents of this method with the code editor.
/// </summary>
procedure InitializeComponent;
procedure Button1_Click(sender: .Object; e: .EventArgs);
{$ENDREGION}
strict protected
/// <summary>
/// Clean up any resources being used.
/// </summary>
procedure Dispose(Disposing: Boolean); override;
private
{ Private Declarations }
public
constructor Create;
end;
//写成类也可以,这里我用了记录由于记录是值类型省去了创建例子麻烦
TClassTest=record
public
FA:Integer;
//重载了“+”操作符
operator add(A,B:TClassTest):TClassTest;
end;
[assembly: RuntimeRequiredAttribute(TypeOf(TWinForm))]
implementation
{$REGION 'Windows Form Designer generated code'}
/// <summary>
/// Required method for Designer support -- do not mody
/// the contents of this method with the code editor.
/// </summary>
procedure TWinForm.InitializeComponent;
begin
Self.Button1 := .Windows.Forms.Button.Create;
Self.SuspendLayout;
//
// Button1
//
Self.Button1.Location := .Drawing.Po.Create(96, 88);
Self.Button1.Name := 'Button1';
Self.Button1.Size := .Drawing.Size.Create(392, 112);
Self.Button1.TabIndex := 0;
Self.Button1.Text := 'Button1';
Include(Self.Button1.Click, Self.Button1_Click);
//
// TWinForm
//
Self.AutoScaleBaseSize := .Drawing.Size.Create(6, 14);
Self.ClientSize := .Drawing.Size.Create(560, 357);
Self.Controls.Add(Self.Button1);
Self.Name := 'TWinForm';
Self.Text := 'WinForm';
Self.ResumeLayout(False);
end;
{$ENDREGION}
procedure TWinForm.Dispose(Disposing: Boolean);
begin
Disposing then
begin
Components <> nil then
Components.Dispose;
end;
inherited Dispose(Disposing);
end;
constructor TWinForm.Create;
begin
inherited Create;
//
// Required for Windows Form Designer support
//
InitializeComponent;
//
// TODO: Add any constructor code after InitializeComponent call
//
end;
procedure TWinForm.Button1_Click(sender: .Object; e: .EventArgs);
var
A,B,C:TClassTest;
begin
A.FA :=1;
B.FA :=2;
C:=A+B; //两个结构(或者类)用+操作在DELHI8以前是不可想象
system.Windows.Forms.MessageBox.Show(.Convert.(C.FA) );
end;
{ TClassTest }
//重载“+”操作符实现
operator TClassTest.add(A, B: TClassTest): TClassTest;
begin
Result.FA:=A.FA + B.FA;
end;
end.
最新评论