unidade WinForm;
interface
usa
System.Drawing, System.Collections, System.ComponentModel,
System.Windows.Forms, System.Data;
tipo
TWinForm = classe(System.Windows.Forms.Form)
{$REGION 'Código Gerenciado pelo Designer'}
estritamente privado
/// <resumo>
/// Variável de designer necessária.
/// </summary>
Componentes: System.ComponentModel.Container;
Botão1: System.Windows.Forms.Button;
/// <resumo>
/// Método necessário para suporte do Designer - não modifique
/// o conteúdo deste método com o editor de código.
/// </sumário>
procedimentoInitializeComponent;
procedimento Button1_Click(remetente: System.Object; e: System.EventArgs);
{$ENDREGION}
estritamente protegido
/// <resumo>
/// Limpe todos os recursos que estão sendo usados.
/// </sumário>
procedimento Dispose(Disposing: Boolean override);
privado
{Declarações privadas}
público
construtor Criar;
fim;
//Também pode ser escrito como uma classe. Aqui usei registros. Como o registro é um tipo de valor, ele evita o trabalho de criar uma instância.
TClassTest=registro
público
FA:Inteiro;
//Operador "+" sobrecarregado
Operador de classe add(A,B:TClassTest):TClassTest;
fim;
[montagem: RuntimeRequiredAttribute(TypeOf(TWinForm))]
implementação
{$REGION 'Código gerado pelo Windows Form Designer'}
/// <resumo>
/// Método necessário para suporte do Designer – não modifique
/// o conteúdo deste método com o editor de código.
/// </sumário>
procedimento TWinForm.InitializeComponent;
começar
Self.Button1 := System.Windows.Forms.Button.Create;
Self.SuspendLayout;
//
//Botão1
//
Self.Button1.Location := System.Drawing.Point.Create(96, 88);
Self.Button1.Name := 'Botão1';
Self.Button1.Size := System.Drawing.Size.Create(392, 112);
Self.Button1.TabIndex := 0;
Self.Button1.Text := 'Botão1';
Incluir(Self.Button1.Click, Self.Button1_Click);
//
//TWinForm
//
Self.AutoScaleBaseSize := System.Drawing.Size.Create(6, 14);
Self.ClientSize := System.Drawing.Size.Create(560, 357);
Self.Controls.Add(Self.Button1);
Nome próprio:= 'TWinForm';
Self.Text := 'WinForm';
Self.ResumeLayout(Falso);
fim;
{$ENDREGION}
procedimento TWinForm.Dispose(Disposing: Boolean);
começar
se estiver descartando então
começar
se Componentes <> nulo então
Componentes.Dispose();
fim;
Dispose herdado(Disposição);
fim;
construtor TWinForm.Create;
começar
herdado Criar;
//
// Necessário para suporte ao Windows Form Designer
//
InicializarComponent;
//
// TODO: Adicione qualquer código construtor após a chamada de InitializeComponent
//
fim;
procedimento TWinForm.Button1_Click(remetente: System.Object; e: System.EventArgs);
var
A,B,C:TClassTest;
começar
A.FA :=1;
B.FA :=2;
C:=A+B; //Usar a operação + entre duas estruturas (ou classes) era inimaginável antes de DELHI8
system.Windows.Forms.MessageBox.Show(System.Convert.ToString(C.FA) );
fim;
{TClassTest}
//Implementação do operador "+" sobrecarregado
operador de classe TClassTest.add(A, B: TClassTest): TClassTest;
começar
Resultado.FA:=A.FA + B.FA;
fim;
fim.