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


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

Class to manage arrays or collections of strings


Source position: classesh.inc line 615

type TStrings = class(TPersistent)


  constructor Create;


Initializ a new TStrings instance

  destructor Destroy; override;


Frees all strings and objects, and removes the list from memory.

  function ToObjectArray();

  function ToStringArray();

  function Add();


Add a string to the list

  function AddObject();


Add a string and associated object to the list.

  function AddPair();


Add a name-value pair

  procedure AddStrings();


Add contents of another stringlist to this list.

  procedure SetStrings();

  procedure AddText(); virtual;


Add text to the string list.

  procedure AddCommaText();

  procedure AddDelimitedText();

  procedure Append();


Add a string to the list.

  procedure Assign(); override;


Assign the contents of another stringlist to this one.

  procedure BeginUpdate;


Mark the beginning of an update batch.

  procedure Clear; virtual; abstract;


Removes all strings and associated objects from the list.

  procedure Delete(); virtual; abstract;


Delete a string from the list.

  procedure EndUpdate;


Mark the end of an update batch.

  function Equals();


Compares the contents of two stringlists.

  procedure Exchange(); virtual;


Exchanges two strings in the list.

  function ExtractName();


Extract the name part of a string

  procedure Filter();

  procedure Fill();

  procedure ForEach();

  function GetEnumerator;


Create an IEnumerator instance

  procedure GetNameValue();


Return both name and value of a name,value pair based on it's index.

  function GetText; virtual;


Returns the contents as a PChar

  function IndexOf();


Find a string in the list and return its position.

  function IndexOfName(); virtual;


Finds the index of a name in the name-value pairs.

  function IndexOfObject(); virtual;


Finds an object in the list and returns its index.

  procedure Insert(); virtual; abstract;


Insert a string in the list.

  procedure InsertObject();


Insert a string and associated object in the list.

  function LastIndexOf();

  procedure LoadFromFile();


Load the contents of a file as a series of strings.

  procedure LoadFromStream();


Load the contents of a stream as a series of strings.

  procedure Map();

  procedure Move(); virtual;


Move a string from one place in the list to another.

  function Pop;

  function Reduce();

  function Reverse();

  procedure SaveToFile();


Save the contents of the list to a file.

  procedure SaveToStream();


Save the contents of the string to a stream.

  function Shift;

  procedure Slice();

  procedure SetText(); virtual;


Set the contents of the list from a PChar.

  property AlwaysQuote: Boolean; [rw]


Always quote strings in DelimitedText

  property Capacity: Integer; [rw]


Capacity of the list, i.e. number of strings that the list can currently hold before it tries to expand.

  property CommaText: string; [rw]


Contents of the list as a comma-separated string.

  property Count: Integer; [r]


Number of strings in the list.

  property DefaultEncoding: TEncoding; [rw]


Default encoding of stringlist

  property DelimitedText: string; [rw]


Get or set all strings in the list in a delimited form.

  property Delimiter: Char; [rw]


Delimiter character used in DelimitedText.

  property Encoding: TEncoding; [r]


Current encoding of stringlist

  property LineBreak: string; [rw]


LineBreak character to use

  property MissingNameValueSeparatorAction: TMissingNameValueSeparatorAction; [rw]

  property Names []: string; [r]


Name parts of the name-value pairs in the list.

  property NameValueSeparator: Char; [rw]


Value of the character used to separate name,value pairs

  property Objects []: TObject; [rw]


Indexed access to the objects associated with the strings in the list.

  property Options: TStringsOptions; [rw]


A set of TStringsOption - various boolean properties.

  property QuoteChar: Char; [rw]


Quote character used in DelimitedText.

  property SkipLastLineBreak: Boolean; [rw]


Do not add a linebreak to the last item

  property TrailingLineBreak: Boolean; [rw]


Add a linebreak to the last item

  property StrictDelimiter: Boolean; [rw]


Should only the delimiter character be considered a delimiter

  property Strings []: string; default; [rw]


Indexed access to the strings in the list.

  property StringsAdapter: IStringsAdapter; [rw]


Not implemented in Free Pascal.

  property Text: string; [rw]


Contents of the list as one big string.

  property TextLineBreakStyle: TTextLineBreakStyle; [rw]


Determines which line breaks to use in the Text property

  property UseLocale: Boolean; [rw]


Determines what methods are used in strings comparison.

  property ValueFromIndex []: string; [rw]


Return the value part of a string based on it's index.

  property Values []: string; [rw]


Value parts of the name-value pairs in the list.

  property WriteBOM: Boolean; [rw]


Write BOM when writing stringlist to stream





Class to manage arrays or collections of strings




Base class for streaming system and persistent properties.




TStrings implements an abstract class to manage an array of strings. It introduces methods to set and retrieve strings in the array, searching for a particular string, concatenating the strings and so on. It also allows an arbitrary object to be associated with each string.

It also introduces methods to manage a series of name=value settings, as found in many configuration files.

An instance of TStrings is never created directly, instead a descendant class such as TStringList should be created. This is because TStrings is an abstract class which does not implement all methods; TStrings also doesn't store any strings, this is the functionality introduced in descendants such as TStringList.

TStrings implements the IFPObserved interface: when the stringlist is changed, a ooChanged notification is sent to all observers.

See also



Standard implementation of the TStrings class.



Interface implemented by an object that can be observed.

Documentation generated on: Jun 22 2020