Marco Web Center |
Home: Code Repository: Mastering Delphi 5Project ANIMALS2
Project StructureANIMALS2.DPRprogram Animals2; uses Forms, AnimF in 'AnimF.pas' {FormAnimals}, Anim in 'ANIM.PAS'; {$R *.RES} begin Application.CreateForm(TFormAnimals, FormAnimals); Application.Run; end. ANIMF.PASunit AnimF; interface uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Anim; type TFormAnimals = class(TForm) LabelVoice: TLabel; BtnVoice: TButton; RbtnAnimal: TRadioButton; RbtnDog: TRadioButton; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure BtnVoiceClick(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.BtnVoiceClick(Sender: TObject); begin LabelVoice.Caption := MyAnimal.Voice; 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.PASunit Anim; interface type TAnimal = class public constructor Create; function GetKind: string; function Voice: string; virtual; private Kind: string; end; TDog = class (TAnimal) public constructor Create; function Voice: string; override; end; implementation uses MMSystem; constructor TAnimal.Create; begin Kind := 'An animal'; end; function TAnimal.GetKind: string; begin GetKind := Kind; end; function TAnimal.Voice: string; begin Voice := 'Voice of the animal'; PlaySound ('Anim.wav', 0, snd_Async); end; constructor TDog.Create; begin Kind := 'A dog'; end; function TDog.Voice: string; begin Voice := 'Arf Arf'; PlaySound ('dog.wav', 0, snd_Async); end; end. ANIMF.DFMobject FormAnimals: TFormAnimals Left = 213 Top = 114 Width = 287 Height = 196 ActiveControl = BtnVoice 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 LabelVoice: TLabel Left = 39 Top = 120 Width = 201 Height = 17 Alignment = taCenter AutoSize = False Caption = 'Voice' Font.Charset = ANSI_CHARSET Font.Color = clBlack Font.Height = -16 Font.Name = 'Arial' Font.Style = [fsBold] ParentFont = False end object BtnVoice: TButton Left = 152 Top = 40 Width = 89 Height = 33 Caption = 'Voice' TabOrder = 0 OnClick = BtnVoiceClick 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
|
||
© Copyright Marco Cantù, 1995-2020, All rights reserved |