• delphi中的TCollection


    TCollection 是TCollectionItenm对象的一个容器。
    类关系TObject→TPersistent

      每一个TCollection都拥有一组TCollectionItem对象。
      在其Items属性数组中,TCcllection保存集合项目的一个下标。Count 属性包含了集合的项目数量。使用Add和Clear方法可以向集合中加入项目和从集合中删除项目。
      从TCollection继承的对象能够包含从TCollectionItem继承的对象。例如,一个TDBGridColumns对象包含TColumn对象,这两个类被TDBGrid对象用于表示网格。下表列出了每一个TCollection对象的子类与相应的TCollectionltem对象的子类以及使用控制组件。其中,TQuryTableProducer和TWehDispetcher使用的控件继承自TWinContril对象。

    TCollection子类 TCollectionItem子类 控件组件

    TCheckConstraints TCheckConstraint 使用Tfield对象的控件
    TCookieCollection TCookie HTTP响应对象
    TCoolBands TCoolBand TCoolBar
    TDBGridColumns TColumn TDBGrid
    TDependencies TDependency TService
    TDisplayDims TDisplayDim TDecisionGrid
    TFieldDefs TfieldDef TDatsSet
    THeaderSections THeaderSection THeaderControl
    TIndexDefs TIndexDef TTable
    THTMLTableColumns THTMLTableColumn TQueryTableProducer
    TListColumns TListColumn TListView
    TSuatusPanels TSuatuspanel TStatusBar
    TWebActionItems TwebActionitem TwebDispatcher

      使用TCollection和TCollectionitem子类的控件,都有一个拥有一个集合5的公开属性(例如,TStatusBar的Panels属性拥有一个TStatusPanels)。一个标准的属性编辑器,从种属上说被认为是集合编辑器,它被授引自Object Inspector,以编辑集合中的项目。

    属性列表
    Count 返回集合中的项目数量
    ItemClass 表示集合项目有种类
    Items 提供对集合中项目的变址访问

    方法列表
    ~TCollection 删除集合及其内的每一项目
    Add 创建一新对象实例并加 入到Items属性数组中
    Assign 将另一集合有内容复制到执行该方法的对象中
    Bcginupdate 使屏幕更新暂停
    Clear 从集合中删除所有项目
    EndUpdate 使屏幕能够重新进行更新
    FindItemID 返回ID参数指定的项目
    Insert 创建TCollectionItem对象并加入到Items属性数组中
    TCollection 创建并初始化一个集合

    属性
    TCollection::Count
      用于返回集合中的项目数量。
     __property int Count = {read=getCount,nodefanlt};
      Count属性包含了Items属性数组中的项目数量。因为Items属性数组的下标从0开始,因此,Count属性数值总是比Items属性数组最后一个成员的下标大1。

    TCollection::ItemClass
      表示集合项目的类。
     __property int count = {read =GetXount,nodefauit};
      ItemClass返回属于集合的项目的类(继承自TColliectionItem对象)。例如,在TCollection对象THeaderSections子类有一个实例中,IetmClass属性返回THeaderSection .

    TCollection::Items
      提供对集合中项目的变址访问。
     __property TCollectionItem*irems{int Index}={read =GetItem,write=SetItem};
      使用Items属性可以访问集合中的单个项目。Index参数的数值对应于TCollectionItem对象的Index属性。它表示项目 在集合中有位置。

    方法
    TCollection::~TCollection
      删除集合及其内的每一个项目 。
      __fastcall virtual~TCollection(void);
      不要直接调用~TCollection 用delete会自动调用~TCollection
      ~TCollection调用Clear方法,释放在Items属性数组中每一个被子引用的项目,然后删除集合本身。

    TCollection::Add

      创建一个新的TCollectionItem对象实例,并将其加入到Items属性数组中。
     TCollectionItem* __fasteall Add(void);
      调用Add可以在集合中创建一个项目。新项目被放置在Items属性数组的结尾处。Add返回新集合项目。

    TCollection::Assign
      将另一个集合的内容复制到执行该方法的对象。
     virtual void __fastcall Assign (TPersistemt*Source);
      使用Assign,可以将一个TCollection对象实例的内容复制至另一个TCollection对象。Assign方法删除目的集合(即执行该方法的对象)中的所有项目,然后加入由Source参数指定的集合的Items属性数组中的每一个项目的复制。

    TCollection::BeginUpdate
      使屏幕更新暂停。
     void __fastcall BeginUpdate(void);
      BeginUpdate使屏幕更新暂停,直至调用了EndUpdate方法。使用BeginUpdate可以加速进行处理,并且当向一个集合中加入项目或从一个集合中删除项目时,可以避免闪烁。

    TCollection::EndUpdate
      从集合中删除所有项目。
     void __fastcall CIear(void);
      CIear清空Items属性数组并删除每一个TCollectionItem对象。

    TCollection::EndUpdate
      使屏幕能够重新进行更新。
     void __fastcall EndUpdate(void);
      使用EndUpdate,可以使以BeginUpdate方法关闭的屏幕能够重新进行更新。

    TCollection::FindItemID
      返回ID参数指定的项目。
     TCollectionItem* __fastcall FindItemID(int ID);
      FindItemID方法返回集合中的项目,该项目的ID属性被作为一个参数传递。如果没有ID参数指定的项目,则FindItemID返回NULL.

    TCollection::Insert
      创建一个新的TCollectionItem对象实例,并将其加入到Items属性数组中。
     TCollectionItem* __fastcall Insert(int Index);
      调用 Insert,可以在集合中的一个指定位置处加入一个新项目。在Items属性数组中已经存在的从指定位置开始的项目将向上移动。Insert返回新集合项目。

    TColletion::TCollection
      创建并初始化一个集合。
     __fastcall TCollection (Sysem::TMetaCIass*ItemCIass);
      不要直接调用 TCollection。用new会返回新集合的一个间接引用。
      TCollection方法取一个TCollectionItem子类名作为一个参数。该参数确定了由Add方法创建的项目的类。

    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    client offset screen 的区别
    js中const,var,let区别
    jquery的选择器
    gulp
    JS 实现图片放大效果
    html单个标签实现跑马灯效果
    前端之HTML知识点整理
    各种纯css图标
    防止反复点击的思路
    .NET Memcached Client 扩展获取所有缓存Key
  • 原文地址:https://www.cnblogs.com/jijm123/p/14351410.html
Copyright © 2020-2023  润新知