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. |