Creating Array Properties
Go Up to Creating properties Index
Some properties lend themselves to being indexed like arrays. For example, the Lines property of TMemo is an indexed list of the strings that make up the text of the memo; you can treat it as an array of strings. Lines provides natural access to a particular element (a string) in a larger set of data (the memo text).
Array properties are declared like other properties, except that
- The declaration includes one or more indexes with specified types. The indexes can be of any type.
- The read and write parts of the property declaration, if specified, must be methods. They cannot be fields.
The read and write methods for an array property take additional parameters that correspond to the indexes. The parameters must be in the same order and of the same type as the indexes specified in the declaration.
There are a few important differences between array properties and arrays. Unlike the index of an array, the index of an array property does not have to be an integer type. You can index a property on a string, for example. In addition, you can reference only individual elements of an array property, not the entire range of the property.