Delphi ListView快速操作通用实现

众所周知,Delphi ListView类直接进行Add、Update、Delete操作的速度是比较慢的,尤其是当数据量较大时,比如数据量达到5000、10000、50000时,速度真是可以说是“慢得惊人”。其实快速操作的方法非常简单,就当大家都知道了。在本人的工作中,很多项目都用到ListView,并且对速度的响应要求比较高,于是发生了快速操作ListView的代码散布于多个项目大量模块中的问题,并且,当界面层数据显示要求发生改变时,自然发生“重复性代码的通用问题”。考虑到对以前版本的兼容性问题,也一直没有引用第三方的成熟组件。鉴于:“程序中的重复代码最易引发问题,必须消除”的实践经验,自己设计了一个比较通用的解决此类问题的类结构。当然,远不是什么“通用框架”了(眼下市面上很多人喜欢把自己做的无论什么东西通称为框架)。在采用此结构的项目中,很容易实现MVC模式,达到业务逻辑与界面显示分离的低级的、基础的要求。

Delphi ListView快速操作通用实现

作者:成晓旭

众所周知,Delphi ListView类直接进行Add、Update、Delete操作的速度是比较慢的,尤其是当数据量较大时,比如数据量达到5000、10000、50000时,速度真是可以说是“慢得惊人”。其实快速操作的方法非常简单,就当大家都知道了。在本人的工作中,很多项目都用到ListView,并且对速度的响应要求比较高,于是发生了快速操作ListView的代码散布于多个项目大量模块中的问题,并且,当界面层数据显示要求发生改变时,自然发生“重复性代码的通用问题”。考虑到对以前版本的兼容性问题,也一直没有引用第三方的成熟组件。鉴于:“程序中的重复代码最易引发问题,必须消除”的实践经验,自己设计了一个比较通用的解决此类问题的类结构。当然,远不是什么“通用框架”了(眼下市面上很多人喜欢把自己做的无论什么东西通称为框架)。在采用此结构的项目中,很容易实现MVC模式,达到业务逻辑与界面显示分离的低级的、基础的要求。

(因为,目前CSDN的软件上传功能不可用,我只有将部分代码片断放在文档中,有需要完整源码者,请留言)

类层次结构:

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

ListView基础操作封装在LVControler包中,核心的类是TCXXLVControler:

 (说明:LVControler类是被封装通用类结构内,外部用户是不需要了解和访问的,所以不作介绍。)

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

传统的ListView操作基类是TLVCommonClass,如果想用传统的方法增、删、改ListView中的数据,可以直接从此类继承。

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

 源码如下:

 

具体的一个从此类继承下来的用于Socket界面显示的TLVSocket的类Overvivw如下:

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

源码如下:

 

快速的ListView操作基类是TLVQuickClass,如果想用快速方法增、删、改ListView中的数据,可以直接从此类继承。

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

主要方法:(可以看到,里面没有真正的Public方法,子类也仅需实现两个Protected的virtual方法)

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

源码如下:

 

此类中,要求每个具体应用的子类必须实现的方法仅有两个:CheckFound():根据具体应用检测的数据是否已经存在;ProcOnDataDetail():客户端ListView的OnData()事件的数据处理回调方法。下面是几个具体实现的子类的OverView:

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

具体的一个从此类继承下来的用于Socket界面显示的TLVQuickSocket的类Overvivw如下:

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

         可以看出:子类实现了两个抽象的虚方法,其它的方法,都是根据业务需要,类用户自行增加的。

       源码如下:

      

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品名称:   成晓旭的个人软件Delphi源码库

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品版本:   CXXSoft delphi code source lib 1.0

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块名称:   Delphi之ListView显示控制类---应用层:Soft socket类定义单元

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块描述:

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      单元文件:   unLVSoftSocket.pas-->unLVQuickSocket.pas

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发作者:   成晓旭

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      备注:       任何人使用此文件时,请保留此段自述文件,谢谢!

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发时间:   2005-09-26

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-06-16

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   增加通过TList来高速增加、更新、删除数据

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  先用吧,以后再优化和完善

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-10

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   成功地将ListView的OnData事件的List对象移入此类中

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-11

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   重大重构:将此类分成两个类:TLVSoftSocket-->TLVSoftSocket和TLVQuickSocket

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  以遵循SRP原则  

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风unit unLVQuickSocket;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风interface

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风uses

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  ComCtrls,Classes,SysUtils,Windows,

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  unLVQuickClass,unLVDefine;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风type

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  TLVQuickSocket = class(TLVQuickClass)

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  private

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  protected

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class function  CheckFound(const pData:Pointer;const aKey:variant):boolean;override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class procedure ProcOnDataDetail(const pData:Pointer;var Item: TListItem);override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  public

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    constructor Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    destructor  Destroy();override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure InitListView(var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //快速方法

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //暂时这样增加,以后在重构到基类中

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure AddToLVSocketQuick(const aSocketStatus:TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure UpdateLVSocketQuick(const aUniqueID:integer;const aSocketStatus:TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure DeleteLVSocketQuick(const aUniqueID:integer;const aSocketStatus:TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure DeleteAllLVSocket(var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure OnDataEvent(Item: TListItem);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  GetDataCount():integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风implementation

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风Delphi ListView快速操作通用实现 - hdw802 - 往事随风...{ TLVQuickSocket }

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickSocket.AddToLVSocketQuick(

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aSocketStatus: TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  AddItemDataToListView(@aSocketStatus,sizeof(aSocketStatus),lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风class function TLVQuickSocket.CheckFound(const pData: Pointer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aKey: variant): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  p:^TSocketStatusInfo;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  p := pData;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := (p.UniqueID = aKey);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风constructor TLVQuickSocket.Create;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickSocket.DeleteAllLVSocket(var lvTemp: TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  DeleteAllListView(lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickSocket.DeleteLVSocketQuick(const aUniqueID:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aSocketStatus: TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  DeleteItemDataToListView(aUniqueID,@aSocketStatus,sizeof(aSocketStatus),lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风destructor TLVQuickSocket.Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVQuickSocket.GetDataCount(): integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := Self.GetLVListCount();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickSocket.InitListView(var lvTemp: TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  InitListViewColumns(SocketStrBuffer,SocketWidthBuffer,lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickSocket.OnDataEvent(Item: TListItem);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Self.OnDataToListView(Item);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风class procedure TLVQuickSocket.ProcOnDataDetail(const pData: Pointer;var Item: TListItem);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pSocket:^TSocketStatusInfo;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //这两个有什么不同?

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //CopyMemory(pSocket,pData,sizeof(TSocketStatusInfo));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pSocket := pData;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.Caption := IntToStr(pSocket.GroupID);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(IntToStr(pSocket.UniqueID));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.IPAddress);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.SubItemName);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.LoginTime);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.SendNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.RecNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.Remark);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickSocket.UpdateLVSocketQuick(const aUniqueID:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aSocketStatus: TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  UpdateItemDataToListView(aUniqueID,@aSocketStatus,sizeof(aSocketStatus),lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end.

 

 

小结:

应用此类结构实现ListView快速数据操作的优势:

<!--[if !supportLists]-->1、   <!--[endif]-->可以快速实现MVC模式,达到界面显示与业务逻辑的分离。在Controllor类中,实例化数据显示子类,调用相应方法即可实现显示数据的增、删、改。

<!--[if !supportLists]-->2、   <!--[endif]-->与原始的快速方法相比,封装了内存数据List,大大简化了List对象的操作(尤其是当有很多相同或者类似数据要求在不同Form的ListView中显示时),并减少了List的创建、数据操作、释放等操作时发生错误的可能性。

<!--[if !supportLists]-->3、   <!--[endif]-->简化了多个相同、类似数据显示的控制代码,针对每个份要显示的数据及ListView,只需要实例化一个显示子类,避免了直接应用原始的快速方法时,控制代码分散在每一个具体Form类中的问题。

<!--[if !supportLists]-->4、   <!--[endif]-->对显示数据的业务信息份进行了集中,当要求显示的信息发生变化时,只需在数据显示子类这一个类中更改即可。

此通用类结构仍有些不足之处,欢迎有兴趣的朋友继续完善:

<!--[if !supportLists]-->1、<!--[endif]-->每个应用层类的外部调用方式非常类似(请参考开发的示例源码),表明,有些通用的方法没有进行更好的抽象。

<!--[if !supportLists]-->2、<!--[endif]-->快速访问基类对其子类的行为抽象不充分,导致子类的应用层调用代码非常类似。当初这样设计的目的是想保持类结构有充分的可扩展性。其实完全可以将基类进行改良:将抽象的虚方法更换成接口,这样,基类实现的更好的封装,并且更好地满足了“向稳定的方向依赖”和“针对接口编程”的设计原则。这样,应用层还是要实例化一个自己业务需要的类来实现此接口。但Delphi的接口用起来不像是真正的接口,通常要从TInterfacedObject等类继承,大大限制了类结构层次的演化。(因为在不支持多继承的语言环境中,如果还想增加更高层次的抽象就不那么容易了)。

<!--[if !supportLists]-->3、<!--[endif]-->当前的版本还没有提供针对某列进行数据排序的功能。

 

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品名称:   成晓旭的个人软件Delphi源码库

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品版本:   CXXSoft delphi code source lib 1.0

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块名称:   Delphi之ListView显示控制类---外部应用层通用类定义单元

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块描述:   ListView快速操作方法类

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      单元文件:   unLVCommonClass.pas--->unLVQuickClass.pas

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发作者:   成晓旭

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      备注:       任何人使用此文件时,请保留此段自述文件,谢谢!

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发时间:   2005-09-26

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-05-31

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   解决GetLVItemOrderByValue()的参数不灵活的问题

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  并解决Method 'Create' hides virtual method of base type 'TComponent'的问题

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-06-16

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   增加通过TList来高速增加、更新、删除数据

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  先用吧,以后再优化和完善

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-10

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   成功地将ListView的OnData事件的List对象移入此类中,并将其上移到其类

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-11

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   重大重构:将此类分成两个类:TLVCommonClass-->TLVCommonClass和TLVQuickClass,

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  以遵循SRP原则

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风unit unLVQuickClass;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风interface

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风uses

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  SysUtils,Classes,ComCtrls,Windows,Variants,

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  unLVControler;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  

Delphi ListView快速操作通用实现 - hdw802 - 往事随风const

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  SpecialItemOrder = -1;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  CSImg_Normal = 0;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  CSImg_Running = 1;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  GetColumnOrder = 0;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风type

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  TLVQuickClass = class(TInterfacedObject)

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  private

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    cxxLVC:TCXXLVControler;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    lvDataList: TList;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //为ListView的Item的Data属性查询关键数据在TList中的索引号

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class function  GetListDataIndexByKey(const listData:TList;const aKey: variant):integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //快速

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure ClearLVDataList();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  protected

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //注意:约定最后一项一定是ImageIndex

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //tmpList:TStringList;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  InitListViewColumns(const displayName: array of string;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        const displayWidth: array of integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //子类必须实现

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class function  CheckFound(const pData:Pointer;const aKey:variant):boolean;virtual; abstract;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class procedure ProcOnDataDetail(const pData:Pointer;var Item: TListItem);virtual; abstract;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //快速方法

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //[注意:新方法中lvList不要求传递参数,保留以兼容旧客户端版本]

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //将pData数据加入List中,实现向ListView增加数据行

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function AddItemDataToListView(const pData:Pointer;const dataNumber:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        //; var lvList: TList=nil):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //以aKey为关键值查找,并用pData数据更新List中满足条件的内存块,实现向ListView更新数据行

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function UpdateItemDataToListView(const aKey:variant;const pData:Pointer;const dataNumber:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        //; var lvList: TList=nil):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //以aKey为关键值查找,并用pData数据删除List中满足条件的内存块,实现向ListView删除数据行

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function DeleteItemDataToListView(const aKey:variant;const pData:Pointer;const dataNumber:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        //; var lvList: TList=nil):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //删除List中所有内存区,实现将ListView清空所有数据行

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure DeleteAllListView(var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //ListVisw的OnData事件处理

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure OnDataToListView(var Item: TListItem);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //ListVisw的OnData事件的List Count

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  GetLVListCount():integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  public

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    constructor Create();overload;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    destructor Destroy();override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风implementation

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风Delphi ListView快速操作通用实现 - hdw802 - 往事随风...{ TLVQuickClass }

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVQuickClass.AddItemDataToListView(const pData: Pointer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const dataNumber: integer; var lvTemp: TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //; var lvList: TList):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pTemp:Pointer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //注意:要影响性能

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.BeginUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if NOT (Assigned(pData) and Assigned(lvTemp) and Assigned(lvDataList)) then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //new(pTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  GetMem(pTemp,dataNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  lvTemp.OwnerData := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  CopyMemory(pTemp,pData,dataNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  lvDataList.Add(pTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //注意:要影响性能

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.Count := lvList.Count;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.EndUpdate();  

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickClass.ClearLVDataList();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Loop:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pTemp:Pointer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if NOT (Assigned(lvDataList) and (lvDataList.Count > 0)) then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  for Loop := 0 to lvDataList.Count - 1 do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    pTemp := (lvDataList.Items[Loop]);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    if Assigned(pTemp) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      FreeMem(pTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风constructor TLVQuickClass.Create;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  cxxLVC := TCXXLVControler.Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //tmpList := TStringList.Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  lvDataList := TList.Create();  

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickClass.DeleteAllListView(var lvTemp: TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if NOT (Assigned(lvTemp) and Assigned(lvDataList) and (lvDataList.Count > 0)) then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  lvTemp.OwnerData := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  lvTemp.Items.BeginUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  while (lvDataList.Count > 0) do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Dispose(lvDataList[0]);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    lvDataList.Delete(0);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  lvTemp.Items.Count := lvDataList.Count;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  lvTemp.Items.EndUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVQuickClass.DeleteItemDataToListView(const aKey: variant;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const pData: Pointer; const dataNumber: integer; var lvTemp: TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //var lvList: TList): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  colIndex:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //注意:要影响性能

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.BeginUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if NOT (Assigned(pData) and Assigned(lvTemp) and Assigned(lvDataList) and (lvDataList.Count > 0)) then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  colIndex := GetListDataIndexByKey(lvDataList,aKey);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if (colIndex <> SpecialItemOrder) and (colIndex >= 0) and (colIndex <= lvDataList.Count - 1) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Dispose(lvDataList[colIndex]);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    lvDataList.Delete(colIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //注意:要影响性能

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.Count := lvList.Count;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.EndUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风destructor TLVQuickClass.Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  ClearLVDataList();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(lvDataList) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    FreeAndNil(lvDataList);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(cxxLVC) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    FreeAndNil(cxxLVC);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //if Assigned(tmpList) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //  FreeAndNil(tmpList);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风class function TLVQuickClass.GetListDataIndexByKey(const listData: TList;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aKey: variant): integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Loop:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := SpecialItemOrder;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if NOT Assigned(listData) then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if listData.Count <= 0 then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  for Loop := 0 to listData.Count - 1 do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    if CheckFound(listData[Loop],aKey) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      Result := Loop;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      break;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVQuickClass.GetLVListCount(): integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := 0;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(lvDataList) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := lvDataList.Count;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVQuickClass.InitListViewColumns(const displayName: array of string;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const displayWidth: array of integer; var lvTemp: TListView): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(cxxLVC) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    cxxLVC.InitLVColumns(displayName,displayWidth,lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVQuickClass.OnDataToListView(var Item: TListItem);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pTemp:Pointer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //以后要移到类中,做成回调

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if NOT Assigned(lvDataList) then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if lvDataList.Count <= 0 then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Item.Index > lvDataList.Count then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pTemp := lvDataList[Item.Index];

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  ProcOnDataDetail(pTemp,Item);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.ImageIndex := 1;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.Data := pTemp;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVQuickClass.UpdateItemDataToListView(const aKey: variant;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const pData: Pointer; const dataNumber: integer; var lvTemp: TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //var lvList: TList):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  colIndex:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //注意:要影响性能

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.BeginUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if NOT (Assigned(pData) and Assigned(lvTemp) and Assigned(lvDataList) and (lvDataList.Count > 0)) then Exit;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  colIndex := GetListDataIndexByKey(lvDataList,aKey);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if (colIndex <> SpecialItemOrder) and (colIndex >= 0) and (colIndex <= lvDataList.Count - 1) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    CopyMemory(lvDataList[colIndex],pData,dataNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //注意:要影响性能  

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.Count := lvList.Count;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //lvTemp.Items.EndUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end.

 

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品名称:   成晓旭的个人软件Delphi源码库

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品版本:   CXXSoft delphi code source lib 1.0

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块名称:   Delphi之ListView显示控制类---应用层:Soft socket类定义单元

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块描述:

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      单元文件:   unLVSoftSocket.pas-->unLVSocket.pas

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发作者:   成晓旭

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      备注:       任何人使用此文件时,请保留此段自述文件,谢谢!

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发时间:   2005-09-26

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-06-16

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   增加通过TList来高速增加、更新、删除数据

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  先用吧,以后再优化和完善

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-10

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   成功地将ListView的OnData事件的List对象移入此类中

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-11

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   重大重构:将此类分成两个类:TLVSoftSocket-->TLVSocket和TLVQuickClass

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  以遵循SRP原则  

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风unit unLVSocket;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风interface

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风uses

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  ComCtrls,Classes,SysUtils,Windows,

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  unLVCommonClass,unLVDefine;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风type

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  TLVSocket = class(TLVCommonClass)

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  private

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //注意:此方法与顺序严重藕合

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  SaveSerialStatusToStringList(const aSocketStatus:TSocketStatusInfo):boolean;    

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  protected

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class function  CheckFound(const pData:Pointer;const aKey:variant):boolean;override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class procedure ProcOnDataDetail(const pData:Pointer;var Item: TListItem);override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  public

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    constructor Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    destructor  Destroy();override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure InitListView(var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //传统方法

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure AddToLVSocket(const aSocketStatus:TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure UpdateLVSocket(const aSocketStatus:TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure DeleteLVSocket(const aSocketStatus:TSocketStatusInfo;var lvTemp:TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风implementation

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风Delphi ListView快速操作通用实现 - hdw802 - 往事随风...{ TLVSocket }

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVSocket.AddToLVSocket(

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aSocketStatus: TSocketStatusInfo; var lvTemp: TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if SaveSerialStatusToStringList(aSocketStatus) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    AddDataToListView(tmpList,lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风class function TLVSocket.CheckFound(const pData: Pointer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aKey: variant): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  p:^TSocketStatusInfo;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  p := pData;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := (p.UniqueID = aKey);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风constructor TLVSocket.Create;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVSocket.DeleteLVSocket(

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aSocketStatus: TSocketStatusInfo; var lvTemp: TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if SaveSerialStatusToStringList(aSocketStatus) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    DeleteDataFromListView(tmpList,lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风destructor TLVSocket.Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVSocket.InitListView(var lvTemp: TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  InitListViewColumns(SocketStrBuffer,SocketWidthBuffer,lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风class procedure TLVSocket.ProcOnDataDetail(const pData: Pointer;var Item: TListItem);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pSocket:^TSocketStatusInfo;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //这两个有什么不同?

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //CopyMemory(pSocket,pData,sizeof(TSocketStatusInfo));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  pSocket := pData;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.Caption := IntToStr(pSocket.GroupID);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(IntToStr(pSocket.UniqueID));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.IPAddress);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //Item.SubItems.Add(IntToStr(pSocket.CommServerPort));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.SubItemName);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.LoginTime);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.SendNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.RecNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Item.SubItems.Add(pSocket.Remark);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //Item.SubItems.Add(pSocket.IPAddress);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  //Item.SubItems.Add(pSocket.IPAddress);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVSocket.SaveSerialStatusToStringList(

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aSocketStatus: TSocketStatusInfo): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(tmpList) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Clear();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(IntToStr(aSocketStatus.GroupID));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(IntToStr(aSocketStatus.UniqueID));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(aSocketStatus.IPAddress);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(aSocketStatus.SubItemName);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(aSocketStatus.LoginTime);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(aSocketStatus.SendNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(aSocketStatus.RecNumber);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList.Add(IntToStr(CSImg_Running));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVSocket.UpdateLVSocket(

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aSocketStatus: TSocketStatusInfo; var lvTemp: TListView);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if SaveSerialStatusToStringList(aSocketStatus) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    UpdateDataFromListView(tmpList,lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end.

 

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品名称:   成晓旭的个人软件Delphi源码库

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      产品版本:   CXXSoft delphi code source lib 1.0

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块名称:   Delphi之ListView显示控制类---外部应用层通用类定义单元

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      模块描述:   ListView传统操作方法类

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      单元文件:   unLVCommonClass.pas

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发作者:   成晓旭

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      备注:       任何人使用此文件时,请保留此段自述文件,谢谢!

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      开发时间:   2005-09-26

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-05-31

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   解决GetLVItemOrderByValue()的参数不灵活的问题

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  并解决Method 'Create' hides virtual method of base type 'TComponent'的问题

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-06-16

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   增加通过TList来高速增加、更新、删除数据

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  先用吧,以后再优化和完善

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-10

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   成功地将ListView的OnData事件的List对象移入此类中,并将其上移到其类

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改历史:   2006-07-11

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//      修改描述:   重大重构:将此类分成两个类:TLVCommonClass-->TLVCommonClass和TLVQuickClass

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//                  以遵循SRP原则 

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//------------------------------------------------------------------------------

Delphi ListView快速操作通用实现 - hdw802 - 往事随风unit unLVCommonClass;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风interface

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风uses

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  SysUtils,Classes,ComCtrls,Windows,Variants,

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  unLVControler,unLVInterface;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  

Delphi ListView快速操作通用实现 - hdw802 - 往事随风const

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  SpecialItemOrder = -1;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  CSImg_Normal = 0;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  CSImg_Running = 1;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  GetColumnOrder = 0;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风type

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  TLVCommonClass = class(TInterfacedObject,ILVControllor)

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  private

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    cxxLVC:TCXXLVControler;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class function StrIsNumber(const str:PChar):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  GetLVItemOrderByValue(const lvTemp:TListView;const aKeyValue:string;const columnOrder:integer=SpecialItemOrder):integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    procedure CommonListItemProcess(const dataList: TStringList;var liTemp:TListItem; const isUpdate: boolean);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  protected

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //注意:约定最后一项一定是ImageIndex

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    tmpList:TStringList;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  InitListViewColumns(const displayName: array of string;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        const displayWidth: array of integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  AddDataToListView(const dataList:TStringList;var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  UpdateDataFromListView(const dataList:TStringList;var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //注意:删除的键值默认以SubItem[0]为标准

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    function  DeleteDataFromListView(const dataList:TStringList;var lvTemp:TListView):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //子类必须实现

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class function  CheckFound(const pData:Pointer;const aKey:variant):boolean;virtual; abstract;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    class procedure ProcOnDataDetail(const pData:Pointer;var Item: TListItem);virtual; abstract;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  public

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    constructor Create();overload;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    destructor Destroy();override;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风implementation

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风Delphi ListView快速操作通用实现 - hdw802 - 往事随风...{ TLVCommonClass }

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVCommonClass.AddDataToListView(const dataList: TStringList;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  var lvTemp: TListView): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  liTemp:TListItem;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if dataList.Count > 0 then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    lvTemp.Items.BeginUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    liTemp := lvTemp.Items.Add();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    CommonListItemProcess(dataList,liTemp,false);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //liTemp.Caption := dataList.Strings[dataIndex];

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //Inc(dataIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //while (dataIndex < dataList.Count) do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //  liTemp.SubItems.Add(dataList.Strings[dataIndex]);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //  Inc(dataIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    //end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    lvTemp.Items.EndUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风procedure TLVCommonClass.CommonListItemProcess(const dataList: TStringList;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  var liTemp: TListItem; const isUpdate: boolean);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  dataIndex:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  dataIndex := 0;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  liTemp.Caption := dataList.Strings[dataIndex];

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Inc(dataIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  while (dataIndex < dataList.Count) do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    if (dataIndex = dataList.Count - 1) and StrIsNumber(PChar(dataList.Strings[dataIndex])) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      liTemp.ImageIndex := StrToInt(dataList.Strings[dataIndex]); 

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    else

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      if isUpdate then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        liTemp.SubItems[dataIndex-1] := dataList.Strings[dataIndex]

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      else

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        liTemp.SubItems.Add(dataList.Strings[dataIndex]);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Inc(dataIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风constructor TLVCommonClass.Create;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  cxxLVC := TCXXLVControler.Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  tmpList := TStringList.Create();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVCommonClass.DeleteDataFromListView(

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const dataList: TStringList; var lvTemp: TListView): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  colIndex:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风//  liTemp:TListItem;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if dataList.Count > 0 then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    colIndex := GetLVItemOrderByValue(lvTemp,dataList.Strings[GetColumnOrder+1],GetColumnOrder);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    if (colIndex <> SpecialItemOrder)  and Assigned(cxxLVC)then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      cxxLVC.DeleteItemByIndex(lvTemp,colIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      Result := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风destructor TLVCommonClass.Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(cxxLVC) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    FreeAndNil(cxxLVC);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(tmpList) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    FreeAndNil(tmpList);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  inherited Destroy;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVCommonClass.GetLVItemOrderByValue(const lvTemp: TListView;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const aKeyValue: string; const columnOrder: integer): integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Loop:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  isOK:boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := SpecialItemOrder;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  isOK := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  for Loop := 0 to lvTemp.Items.Count - 1 do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    if columnOrder <> SpecialItemOrder then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      if (columnOrder >= 0) and (columnOrder < lvTemp.Columns.Count) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        isOK := (lvTemp.Items[Loop].SubItems[columnOrder] = aKeyValue);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    else

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      isOK := (lvTemp.Items[Loop].Caption = aKeyValue);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    if isOK then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      Result := Loop;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      break;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVCommonClass.InitListViewColumns(const displayName: array of string;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const displayWidth: array of integer; var lvTemp: TListView): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if Assigned(cxxLVC) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    cxxLVC.InitLVColumns(displayName,displayWidth,lvTemp);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风class function TLVCommonClass.StrIsNumber(const str: PChar): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  p:Char;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  i:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  function CheckHex(p:Char):boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    k:Byte;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    k := Ord(P);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := ((k >= 48) and (k <= 57)) or ((k >= 65) and (k <= 70)) or ((k >= 97) and (k <= 102));

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  try

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    for i := 0 to Length(str)-1 do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      p := str[i];

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      Result := CheckHex(p);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      if NOT Result then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风        break;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  except

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风function TLVCommonClass.UpdateDataFromListView(

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  const dataList: TStringList; var lvTemp: TListView): boolean;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风var

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  colIndex:integer;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  liTemp:TListItem;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  Result := false;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  if dataList.Count > 0 then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    colIndex := GetLVItemOrderByValue(lvTemp,dataList.Strings[GetColumnOrder+1],GetColumnOrder);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    if (colIndex <> SpecialItemOrder) then

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      lvTemp.Items.BeginUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      liTemp := lvTemp.Items[colIndex];

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      CommonListItemProcess(dataList,liTemp,true);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      //liTemp.Caption := dataList.Strings[dataIndex];

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      //Inc(dataIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      //while (dataIndex < dataList.Count) do

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      //begin

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      //  liTemp.SubItems[dataIndex-1] := dataList.Strings[dataIndex];

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      //  Inc(dataIndex);

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      //end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      lvTemp.Items.EndUpdate();

Delphi ListView快速操作通用实现 - hdw802 - 往事随风      Result := true;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风    end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风  end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end;

Delphi ListView快速操作通用实现 - hdw802 - 往事随风

Delphi ListView快速操作通用实现 - hdw802 - 往事随风end.

posted @ 2011-12-27 16:30  马儿快跑  阅读(4089)  评论(0编辑  收藏  举报