• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Delphi > Delphi Command模式

Delphi Command模式

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了delphi adocommand,command模式,c command模式,command设计模式,command命令模式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

这个例子还是比较好理解的, 所以只给出代码.
unit pattern;
interface
uses Dialogs;
type
  TAudioPlayer = class;
  TCommand = class
  public
    procedure execute; virtual; abstract;
  end;
  TPlayCommand = class(TCommand)
  private
    AudioPlayer: TAudioPlayer;
  public
    procedure execute; override;
    procedure Playcommand(AP: TAudioPlayer);
  end;
  TStopCommand = class(TCommand)
  private
    AudioPlayer: TAudioPlayer;
  public
    procedure execute; override;
    procedure StopComman(AP: TAudioPlayer);
  end;
  TRewindCommand = class(TCommand)
  private
    AudioPlayer: TAudioPlayer;
  public
    procedure execute; override;
    procedure RewindCommand(AP: TAudioPlayer);
  end;
  TKeyPad = class
  private
    PlayCommand: TCommand;
    StopCommand: TCommand;
    RewindCommand: TCommand;
  public
    constructor Create(PlayC, StopC, RewindC: TCommand); virtual;
    procedure play();
    procedure stop();
    procedure rewind();
  end;
  TAudioPlayer = class
  public
    procedure play();
    procedure stop();
    procedure rewind();
  end;
  TClient = class
  private
    KeyPad: TKeyPad;
    AudioPlayer: TAudioPlayer;
  public
    constructor Create();
    procedure test();
  end;
implementation
{ TKeyPad }
constructor TKeyPad.Create(PlayC, StopC, RewindC: TCommand);
begin
  PlayCommand := PlayC;
  StopCommand := StopC;
  RewindCommand := RewindC;
end;
procedure TKeyPad.play;
begin
  PlayCommand.execute;
end;
procedure TKeyPad.rewind;
begin
  RewindCommand.execute;
end;
procedure TKeyPad.stop;
begin
  StopCommand.execute;
end;
{ TAudioPlayer }
procedure TAudioPlayer.play;
begin
  ShowMessage(´play´);
end;
procedure TAudioPlayer.rewind;
begin
  ShowMessage(´rewind´);
end;
procedure TAudioPlayer.stop;
begin
  ShowMessage(´stop´);
end;
{ TPlayCommand }
procedure TPlayCommand.execute;
begin
  inherited;
  AudioPlayer.play();
end;
procedure TPlayCommand.Playcommand(AP: TAudioPlayer);
begin
  self.AudioPlayer := AP;
end;
{ TRewindCommand }
procedure TRewindCommand.execute;
begin
  inherited;
  AudioPlayer.Rewind;
end;
procedure TRewindCommand.RewindCommand(AP: TAudioPlayer);
begin
  AudioPlayer := ap;
end;
{ TStopCommand }
procedure TStopCommand.execute;
begin
  inherited;
  AudioPlayer.Stop;
end;
procedure TStopCommand.StopComman(AP: TAudioPlayer);
begin
  AudioPlayer := ap;
end;
{ TClient }
constructor TClient.Create;
begin
  AudioPlayer := TAudioPlayer.Create();
end;
procedure TClient.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.
  </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Delphi Command模式

相关文章

  • 2017-05-28Delphi基本图像处理方法汇总
  • 2017-05-28delphi简单判断程序30秒没有键盘和鼠标动作示例
  • 2017-05-28delphi设置开机自动启动函数具体实现
  • 2017-05-28Delphi常用关键字用法详解
  • 2017-05-28delphi建立、读取、存贮INI文件的方法《二》
  • 2017-05-28Delphi实现获取磁盘空间大小的方法
  • 2017-05-28Delphi修改操作注册表权限的代码
  • 2017-05-28Delphi中对时间操作方法汇总
  • 2017-05-28Windows API GetLastError()函数返回值含义解释
  • 2017-05-28Delphi实现Listbox中的item根据内容显示不同颜色的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Delphi用TActionList实现下载文件的方法
    • Delphi实现树型结构具体实例
    • TImage组件实现保存图片到Stream
    • 插件管理框架 for Delphi(二)
    • Delphi实现读取系统时间与日期完整实例
    • Delphi 生成excel中饼图的实例代码
    • Delphi实现毫秒级别的倒计时实例代码
    • Delphi实现判断网址是否存在及是否可以打开的方法
    • delphi中一个值得大家来考虑的DLL问题
    • delphi制作wav文件的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有