TCollection
[Properties (by Name)][Methods (by Name)][Events (by Name)]
Base class to manage collections of named objects.
Declaration
Source position: classesh.inc line 523
Type
  TCollection = class (TPersistent)
  private
    FItemClass : TCollectionItemClass;
    FItems : TFPList;
    FUpdateCount : Integer;
    FNextID : Integer;
    FPropName : string;
    function GetCount : Integer;
    function GetPropName : string;
    procedure InsertItem(Item: TCollectionItem);
    procedure RemoveItem(Item: TCollectionItem);
    procedure DoClear;
  protected
    function GetAttrCount : Integer;  Dynamic;
    function GetAttr(Index: Integer) : string;  Dynamic;
    function GetItemAttr(Index: Integer; ItemIndex: Integer) : string
                        ;  Dynamic;
    procedure Changed;
    function GetItem(Index: Integer) : TCollectionItem;
    procedure SetItem(Index: Integer; Value: TCollectionItem);
    procedure SetItemName(Item: TCollectionItem);  Virtual;
    procedure SetPropName;  Virtual;
    procedure Update(Item: TCollectionItem);  Virtual;
    procedure Notify(Item: TCollectionItem; Action: TCollectionNotification)
                    ;  Virtual;
    PropName : string;
    UpdateCount : Integer;
  public
    constructor Create(AItemClass: TCollectionItemClass);
    destructor Destroy;  Override;
    function Owner : TPersistent;
    function Add : TCollectionItem;
    procedure Assign(Source: TPersistent);  Override;
    procedure BeginUpdate;  Virtual;
    procedure Clear;
    procedure EndUpdate;  Virtual;
    procedure Delete(Index: Integer);
    function GetEnumerator : TCollectionEnumerator;
    function GetNamePath : string;  Override;
    function Insert(Index: Integer) : TCollectionItem;
    function FindItemID(ID: Integer) : TCollectionItem;
    procedure Exchange(const Index1: Integer; const index2: Integer);
    procedure Move(const Index1: Integer; const index2: Integer);
    procedure Sort(const Compare: TCollectionSortCompare);
    Count : Integer;
    ItemClass : TCollectionItemClass;
    Items[Index: Integer]: TCollectionItem;
  end
  ;
Description
TCollection implements functionality to manage a collection of named objects. Each of these objects needs to be a descendant of the TCollectionItem class. Exactly which type of object is managed can be seen from the TCollection.ItemClass property.
Normally, no TCollection is created directly. Instead, a descendants of TCollection and TCollectionItem are created as a pair.
Members
| Member | Type | Visibility | Description | 
|---|---|---|---|
| Add | Method | public | Creates and adds a new item to the collection. | 
| Assign | Method | public | Assigns one collection to another. | 
| BeginUpdate | Method | public | Start an update batch. | 
| Changed | Method | protected | Procedure called if an item is added to or removed from the collection. | 
| Clear | Method | public | Removes all items from the collection. | 
| Count | Property | public | Number of items in the collection. | 
| Create | Method | public | Creates a new collection. | 
| Delete | Method | public | Delete an item from the collection. | 
| Destroy | Method | public | Destroys the collection and frees all the objects it manages. | 
| DoClear | Method | private | |
| EndUpdate | Method | public | Ends an update batch. | 
| Exchange | Method | public | Exchange 2 items in the collection | 
| FindItemID | Method | public | Searches for an Item in the collection, based on its TCollectionItem.ID property. | 
| FItemClass | Field | private | |
| FItems | Field | private | |
| FNextID | Field | private | |
| FPropName | Field | private | |
| FUpdateCount | Field | private | |
| GetAttr | Method | protected | Returns an attribute of the collection. | 
| GetAttrCount | Method | protected | Returns the count of attributes associated with each item. | 
| GetCount | Method | private | |
| GetEnumerator | Method | public | Create an IEnumerator instance | 
| GetItem | Method | protected | Read handler for the TCollection.Items property. | 
| GetItemAttr | Method | protected | Returns the attributes of an item. | 
| GetNamePath | Method | public | Overrides TPersistent.GetNamePath to return a proper pathname. | 
| GetPropName | Method | private | |
| Insert | Method | public | Insert an item in the collection. | 
| InsertItem | Method | private | |
| ItemClass | Property | public | Class pointer for each item in the collection. | 
| Items | Property | public | Indexed array of items in the collection. | 
| Move | Method | public | |
| Notify | Method | protected | |
| Owner | Method | public | Owner of the collection. | 
| PropName | Property | protected | Name of the property that this collection represents. | 
| RemoveItem | Method | private | |
| SetItem | Method | protected | Write handler for the TCollection.Items property. | 
| SetItemName | Method | protected | Virtual method to set the name of the specified item | 
| SetPropName | Method | protected | Write handler for the TCollection.PropName]() property | 
| Sort | Method | public | Sort the items in the collection | 
| Update | Method | protected | Handler called when an item in the collection has changed. | 
| UpdateCount | Property | protected | 
Inheritance
| Class | Description | 
|---|---|
| TCollection | Base class to manage collections of named objects. | 
See also
| Name | Description | 
|---|---|
| Integer | A signed 16-bits integer | 
| Integer | A signed 16-bits integer | 
| Integer | A signed 16-bits integer | 
| Integer | A signed 16-bits integer | 
| TCollectionItem | Basic object that is managed by a TCollection class. | 
| TCollectionItem | Basic object that is managed by a TCollection class. | 
| TCollectionItemClass | Class reference for TCollectionItem . | 
| TCollectionItemClass | Class reference for TCollectionItem . | 
| TFPList | Class to manage collections of pointers. |