文档章节

详测 Generics Collections TQueue (3): OnNotify、Extract

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 166
阅读 4
收藏 0
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Generics.Collections;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    procedure MyQueueNotify(Sender: TObject; const Item: Integer;
      Action: TCollectionNotification);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//uses Generics.Collections;

{准备给 TQueue.OnNotify 调用的事件过程}
procedure TForm1.MyQueueNotify(Sender: TObject; const Item: Integer;
  Action: TCollectionNotification);
begin
  case Action of
    cnAdded     : ShowMessageFmt('Add: %d', [Item]);
    cnRemoved   : ShowMessageFmt('Remove: %d', [Item]);
    cnExtracted : ShowMessageFmt('Extract: %d', [Item]);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Queue: TQueue<Integer>;
begin
  Queue := TQueue<Integer>.Create();
  Queue.OnNotify := MyQueueNotify;

  Queue.Enqueue(11); {Add: 11}
  Queue.Enqueue(22); {Add: 22}
  Queue.Enqueue(33); {Add: 33}

  Queue.Dequeue;     {Remove: 11}

  // Extract 和 Dequeue 功能一致, 区别只是在驱动 OnNotify 事件时传递的参数有区别, 没多大意义
  Queue.Extract;     {Extract: 22}

  //Queue.OnNotify := nil;

  Queue.Free;        {Remove: 33}
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/10/11/1580881.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Delphi 2010 中的泛型

Delphi 2010 中的泛型日期:2010年5月31日 作者: 人气:10504 查看:[大字体 中字体 小字体]2010已发布很长时间了,口碑还不错,准备用它开发下一项目,但对泛型等新东西的认识还不够,就搜了...

vga
2016/08/09
19
0
DuiLib消息处理剖析

文章来源:http://blog.csdn.net/zhuhongshu/article/details/41725657 分为几个大部分: 控件 容器(本质也是控件) UI构建解析器(XML解析) 窗体管理器(消息循环,消息映射,消息处理,窗...

analogous_love
2017/07/23
0
0
GBin1推荐教程之Java泛类型(Generics)快速入门

发布时间: 2011-9-20 来源:javacodegeeks.com 翻译: gbin1.com 泛类型(Generics)是Java SE5.0里的特性,在发布后的几年里,我相信每个java开发者都不仅仅听说过,而且实实在在的使用过。...

gbin1
2011/09/21
180
0
Apache Maven 3.0.3 Released

相比较 Maven 3.0.2 版本,3.0.3 改进主要包括: [MNG-3575] - Allow hexadecimal parameters [MNG-4971] - Display maven home in version info * [MNG-4984] - Simplify drop in of 3rd p......

红薯
2011/03/05
1K
0
java范型中的get、put原则

java范型中的get、put原则 只要有可能,一个好的习惯就是插入通配符(wildcards ),但是如何决定选择哪种通配符呢?即什么场景选择extends,什么场景选择super,以及什么场景不适合选择通配...

Beaver_
2015/05/24
565
1

没有更多内容

加载失败,请刷新页面

加载更多

Univalsal_ImageLoader源码结构与创建者模式 初步小结

最近在回归看Univalsal_ImageLoader源码,本想自己也实现试试写一个,看源码是为了学习看能否使用,助于自己可以写出有自己逻辑结构的代码。 首先我们初始化ImageLoader的配置初始化的时候,...

DannyCoder
26分钟前
0
0
计算卷积神经网络浮点数运算量

前言 本文主要是介绍了,给定一个卷积神经网络的配置之后,如何大概估算它的浮点数运算量。 相关代码:CalFlops,基于MXNet框架的 Scala 接口实现的一个计算MXNet网络模型运算量的demo。 正文...

Ldpe2G
今天
1
0
Sql语言与MySql数据库

1. 数据库简介 1. 数据库,就是存储数据的仓库,只能通过sql语言来访问,数据库也是一个文件系统。通常,MySQL、Oracle等数据库,也被称为关系型数据库,其保存的不仅仅只是数据,还包括数据...

江左煤郎
今天
1
0
IDEA 取消自动import .*

打开设置 > Editor > Code Style > Java > Scheme Default > Imports ① 将 Class count to use import with "*" 改为 99 (导入同一个包的类超过这个数值自动变为 * ) ② 将 Names count ......

乔老哥
今天
3
0
PostGIS学习笔记(开篇)

PostGIS事实上算是笔者开始写博客的第一篇内容。而事实上那篇博文的内容并不丰富,笔者对PostGIS的了解仍然不多,然而17年在OSGeo课程学习时对PostGIS又有了进一步了解,并逐步发现它的强大。...

胖胖雕
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部