[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Classes' (#rtl)

# TStringList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Standard implementation of the TStrings class.

## Declaration

Source position: classesh.inc line 816

`type TStringList = class(TStrings)`
`public`
`destructor Destroy; override;` |  | Destroys the stringlist.
`function Add(); override;` |  | Implements the TStrings.Add function.
`procedure Clear; override;` |  | Implements the TStrings.Clear function.
`procedure Delete(); override;` |  | Implements the TStrings.Delete function.
`procedure Exchange(); override;` |  | Implements the TStrings.Exchange function.
`function Find(); virtual;` |  | Locates the index for a given string in sorted lists.
`function IndexOf(); override;` |  | Overrides the TStrings.IndexOf property.
`procedure Insert(); override;` |  | Overrides the TStrings.Insert method.
`procedure Sort; virtual;` |  | Sorts the strings in the list.
`procedure CustomSort(); virtual;` |  | Sort the stringlist using a custom sort algorithm
`property Duplicates: TDuplicates; [rw]` |  | Describes the behaviour of a sorted list with respect to duplicate strings.
`property Sorted: Boolean; [rw]` |  | Determines whether the list is sorted or not.
`property CaseSensitive: Boolean; [rw]` |  | Indicates whether comparing strings happens in a case sensitive manner.
`property OnChange: TNotifyEvent; [rw]` |  | Event triggered after the list was modified.
`property OnChanging: TNotifyEvent; [rw]` |  | Event triggered when the list is about to be modified.
`property OwnsObjects: Boolean; [rw]` |  | Determines whether the stringlist owns it's objects or not.
`property SortStyle: TStringsSortStyle; [rw]` |  | Sort style for strings
`end;`

## Inheritance

`TStringList` |  | Standard implementation of the TStrings class.
`TStrings` |  | Class to manage arrays or collections of strings
`TPersistent,IFPObserved` |  | Base class for streaming system and persistent properties.
`TObject` |  | Base class of all classes.

## Description

TStringList is a descendant class of TStrings that implements all of the abstract methods introduced there. It also introduces some additional methods:

- Sort the list, or keep the list sorted at all times
- Special handling of duplicates in sorted lists
- Notification of changes in the list

## See also

TStrings |  | Class to manage arrays or collections of strings
TStringList.Duplicates |  | Describes the behaviour of a sorted list with respect to duplicate strings.
TStringList.Sorted |  | Determines whether the list is sorted or not.