zoukankan      html  css  js  c++  java
  • 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方法创建的项目的类。

    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    .Net高并发解决思路 以及乐观锁 悲观锁等
    HTTP和HTTPS TCP/IP的UDP和TCP Socket和WebSocket RabbitMq和队列 Redis和Memcached
    C# Attribute特性 泛型<T> 方法的out ref this(扩展方法) Equals与==
    C# 托管与非托管类型 堆和栈 值类型与引用类型 装箱与拆箱
    C# 递归、冒泡算法 委托与事件 链表 二叉树 平衡二叉树 红黑树 B-Tree B+Tree 索引底层 表达式树
    C# 爬取数据
    C# 常用设计模式 并发编程(异步 多线程) 锁与死锁 集合数组List
    C# NPOI Excel多级表头导出多个表
    windows Server 2016安装Sqlserver远程连接的坑
    hdfs之NameNode故障处理的两种方式
  • 原文地址:https://www.cnblogs.com/jijm123/p/14351410.html
Copyright © 2011-2022 走看看