zoukankan      html  css  js  c++  java
  • 十九、详测 Generics Collections TList (10): OnNotify 事件

    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 MyListNotify(Sender: TObject; const Item: string;
          Action: TCollectionNotification);
      
    end;
     
    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

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

    procedure TForm1.Button1Click(Sender: TObject);
    var
      List: TList
    <string>;
    begin
      List :
    = TList<string>.Create();
      List.OnNotify :
    = MyListNotify; {关联事件过程}

      List.AddRange([
    'A''B''C']); {Add: A | Add: B | Add: C }

      List.Delete(
    0);    {Remove: A}
      List.Remove(
    'B');  {Remove: B}
      List.Extract(
    'C'); {Extract: C}

      List.OnNotify :
    = nil;    
      List.Free;
    end;

    end.
  • 相关阅读:
    Count and Say
    Valid Sudoku
    Find First and Last Position of Element in Sorted Array
    Search in Rotated Sorted Array
    Longest Valid Parentheses
    web前端中文教程库
    三代基因组拼接软件--Falcon篇
    使用ThreadPoolExecutor并行执行独立的单线程任务
    python中的计时器:timeit
    Python教程
  • 原文地址:https://www.cnblogs.com/jxgxy/p/1596529.html
Copyright © 2011-2022 走看看