DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tino0914
今日帖子: 27
在线用户: 18
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
女 error (qimu80) ★☆☆☆☆ -
普通会员
2003/6/2 15:18:17
标题:
TO:ANOTHER 浏览:2525
加入我的收藏
楼主: 在这之前,定义了这个 
private
    MyAnimal: TAnimal;
有四个控件,两个是Radiobutton,一个是button,一个是label;功能是先选择Radiobutton,再单击button,然后就会根据选择的内容播放音乐,同时显示名字!
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;
----------------------------------------------
发现错误是我的爱好!
作者:
女 error (qimu80) ★☆☆☆☆ -
普通会员
2003/6/2 15:27:37
1楼: 把这加进去!
unit 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}
----------------------------------------------
发现错误是我的爱好!
作者:
男 Another (Another) ★☆☆☆☆ -
盒子活跃会员
2003/6/2 15:33:22
1楼: 这好像涉及到一点
多态和重载的概念
Voice在TDog中是重载的
而在TAnimate中是虚拟的
赋值于不同的Voice属性
则执行不同的代码
而且播放声音是用的PlaySound()
playsound是一个win api函数,可以播放指定的wav文件。(这个函数的定义在mmsystem.pas文件中可以找到。)

----------------------------------------------
按此在新窗口浏览图片
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行488.2813毫秒 RSS