手机
当前位置:查字典教程网 >编程开发 >Delphi >Delphi Command模式
Delphi Command模式
摘要:这个例子还是比较好理解的,所以只给出代码.unitpattern;interfaceusesDialogs;typeTAudioPlayer...

这个例子还是比较好理解的,所以只给出代码.

unitpattern;

interface

usesDialogs;

type

TAudioPlayer=class;

TCommand=class

public

procedureexecute;virtual;abstract;

end;

TPlayCommand=class(TCommand)

private

AudioPlayer:TAudioPlayer;

public

procedureexecute;override;

procedurePlaycommand(AP:TAudioPlayer);

end;

TStopCommand=class(TCommand)

private

AudioPlayer:TAudioPlayer;

public

procedureexecute;override;

procedureStopComman(AP:TAudioPlayer);

end;

TRewindCommand=class(TCommand)

private

AudioPlayer:TAudioPlayer;

public

procedureexecute;override;

procedureRewindCommand(AP:TAudioPlayer);

end;

TKeyPad=class

private

PlayCommand:TCommand;

StopCommand:TCommand;

RewindCommand:TCommand;

public

constructorCreate(PlayC,StopC,RewindC:TCommand);virtual;

procedureplay();

procedurestop();

procedurerewind();

end;

TAudioPlayer=class

public

procedureplay();

procedurestop();

procedurerewind();

end;

TClient=class

private

KeyPad:TKeyPad;

AudioPlayer:TAudioPlayer;

public

constructorCreate();

proceduretest();

end;

implementation

{TKeyPad}

constructorTKeyPad.Create(PlayC,StopC,RewindC:TCommand);

begin

PlayCommand:=PlayC;

StopCommand:=StopC;

RewindCommand:=RewindC;

end;

procedureTKeyPad.play;

begin

PlayCommand.execute;

end;

procedureTKeyPad.rewind;

begin

RewindCommand.execute;

end;

procedureTKeyPad.stop;

begin

StopCommand.execute;

end;

{TAudioPlayer}

procedureTAudioPlayer.play;

begin

ShowMessage(´play´);

end;

procedureTAudioPlayer.rewind;

begin

ShowMessage(´rewind´);

end;

procedureTAudioPlayer.stop;

begin

ShowMessage(´stop´);

end;

{TPlayCommand}

procedureTPlayCommand.execute;

begin

inherited;

AudioPlayer.play();

end;

procedureTPlayCommand.Playcommand(AP:TAudioPlayer);

begin

self.AudioPlayer:=AP;

end;

{TRewindCommand}

procedureTRewindCommand.execute;

begin

inherited;

AudioPlayer.Rewind;

end;

procedureTRewindCommand.RewindCommand(AP:TAudioPlayer);

begin

AudioPlayer:=ap;

end;

{TStopCommand}

procedureTStopCommand.execute;

begin

inherited;

AudioPlayer.Stop;

end;

procedureTStopCommand.StopComman(AP:TAudioPlayer);

begin

AudioPlayer:=ap;

end;

{TClient}

constructorTClient.Create;

begin

AudioPlayer:=TAudioPlayer.Create();

end;

procedureTClient.test;

var

PlayCommand:TCommand;

StopCommand:TCommand;

RewindCommand:TCommand;

begin

PlayCommand:=TPlayCommand.Create;

StopCommand:=TStopCommand.Create;

RewindCommand:=TRewindCommand.Create;

KeyPad:=TKeyPad.Create(PlayCommand,StopCommand,RewindCommand);

KeyPad.stop;

KeyPad.play;

KeyPad.rewind;

KeyPad.Stop;

end;

end.

【Delphi Command模式】相关文章:

Delphi远程连接Mysql的实现方法

Delphi之Pascal语言中的关键字及保留字汇总

delphi 正弦曲线图

Delphi编程常用快捷键大全

初探Delphi中的插件编程

Delphi实现Listbox中的item根据内容显示不同颜色的方法

Delphi7中Listview的常用功能汇总

Delphi隐藏TPageControl的标签实例介绍

Delphi常用关键字用法详解

插件管理框架 for Delphi(二)

精品推荐
分类导航