Project ANIMALS1
Project Structure
ANIMALS1.DPR
program Animals1;
uses
Forms,
AnimF in 'AnimF.pas' {FormAnimals},
Anim in 'ANIM.PAS';
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TFormAnimals, FormAnimals);
Application.Run;
end.
ANIMF.PAS
unit AnimF;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Anim;
type
TFormAnimals = class(TForm)
LabelKind: TLabel;
BtnKind: TButton;
RbtnAnimal: TRadioButton;
RbtnDog: TRadioButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure BtnKindClick(Sender: TObject);
procedure RbtnAnimalClick(Sender: TObject);
procedure RbtnDogClick(Sender: TObject);
private
MyAnimal: TAnimal;
end;
var
FormAnimals: TFormAnimals;
implementation
{$R *.DFM}
procedure TFormAnimals.FormCreate(Sender: TObject);
begin
MyAnimal := TAnimal.Create;
end;
procedure TFormAnimals.FormDestroy(Sender: TObject);
begin
MyAnimal.Free;
end;
procedure TFormAnimals.BtnKindClick(Sender: TObject);
begin
LabelKind.Caption := MyAnimal.GetKind;
end;
procedure TFormAnimals.RbtnAnimalClick(Sender: TObject);
begin
MyAnimal.Free;
MyAnimal := TAnimal.Create;
end;
procedure TFormAnimals.RbtnDogClick(Sender: TObject);
begin
MyAnimal.Free;
MyAnimal := TDog.Create;
end;
end.
ANIM.PAS
unit Anim;
interface
type
TAnimal = class
public
constructor Create;
function GetKind: string;
private
Kind: string;
end;
TDog = class (TAnimal)
public
constructor Create;
end;
implementation
constructor TAnimal.Create;
begin
Kind := 'An animal';
end;
function TAnimal.GetKind: string;
begin
GetKind := Kind;
end;
constructor TDog.Create;
begin
Kind := 'A dog';
end;
end.
ANIMF.DFM
object FormAnimals: TFormAnimals
Left = 213
Top = 114
Width = 287
Height = 196
ActiveControl = BtnKind
Caption = 'Animals'
Color = clBtnFace
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
OnCreate = FormCreate
OnDestroy = FormDestroy
PixelsPerInch = 96
TextHeight = 13
object LabelKind: TLabel
Left = 39
Top = 120
Width = 201
Height = 25
Alignment = taCenter
AutoSize = False
Caption = 'Kind'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -16
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object BtnKind: TButton
Left = 160
Top = 40
Width = 81
Height = 25
Caption = '&Kind'
TabOrder = 0
OnClick = BtnKindClick
end
object RbtnAnimal: TRadioButton
Left = 24
Top = 24
Width = 105
Height = 33
Caption = '&Animal'
Checked = True
TabOrder = 1
TabStop = True
OnClick = RbtnAnimalClick
end
object RbtnDog: TRadioButton
Left = 24
Top = 56
Width = 113
Height = 41
Caption = '&Dog'
TabOrder = 2
OnClick = RbtnDogClick
end
end
|