Учись программированию на C++ Builder бесплатно!

Описание


Класс TStrings содержит методы и свойства, позволяющие манипулировать со списками строк:

  • добавлять и удалять строки в указанных позициях
  • перестраивать и упорядочивать последовательность строк
  • получать доступ к конкретным строкам
  • читать и записывать списки строк в файлы и потоки
  • связывать с каждой строкой некоторый объект

Класс TStrings является базовым классом для операций со строковыми данными. Этот класс представляет собой контейнер для строк (коллекцию или массив строк). Для операций со строками класс TStrings предоставляет соответствующие свойства и методы. От класса TStrings происходит большое количество производных классов, например, TStringList, которые могут использоваться для задания различных типов строк.

Визуальные компоненты, способные работать со списком строк, имеют свойства, которые являются массивами строк, содержащихся в этих компонентах. Например, для списков ListBox и DBListBox и для групп зависимых переключателей RadioGroup и DBRadioGroup таким свойством является Items, а для многострочных редакторов Memo и DbMemo — Lines.

Иерархия


TObject - TPersistent

Модуль


classes

Свойства


Свойство Тип Описание
Capacity int Указывает число строк, которые может содержать список. В классе TStrings чтение Capacity возвращает значение Count, а запись значения Capacity ничего не изменяет в списке. Но в некоторых классах, производных от TStrings, свойство Capacity позволяет заранее выделить память для добавления нескольких строк.
CommaText AnsiString Возвращает текст, в котором отдельные строки объединены в одну строку формата SDF (system data format). Отдельные исходные строки разделяются в итоговой строке запятыми и каждая строка, если в ней имеются символы пробелов, заключается в двойные кавычки. Если в исходных строках использовались символы двойных кавычек, они дублируются (получается два следующих друг за другом символа).
Count int Число строк в списке. Свойство только для чтения.
DelimitedText AnsiString Возвращает текст, в котором отдельные строки выделены кавычками, определенными свойством QuoteChar, и, кроме того, отделены друг от друга символом, указанным в свойстве Delimiter.
Delimiter char Символ разделителя, используемый в свойстве DelimitedText.
Names [int Index] System::AnsiString Применяется для списков, имеющих структуру «Имя = Значение». Такую структуру имеют, например, файлы .ini. Свойство Names возвращает Имя, использованное в строке с указанным индексом. Если строка не имеет форму «Имя = Значение», возвращается пустая строка. Свойство только для чтения.
Objects [int Index] TObject * Возвращает объект, связанный с указанной строкой свойства Strings. В классе TStrings свойство Objects не используется, но может использоваться в некоторых классах, производных от TStrings.
OuoteChar char Символ кавычек, используемый в свойстве DelimitedText.
Strings [int Index] System::AnsiString Текст строки с указанным индексом. Индекс первой строки - 0.
Text System::AnsiString Представляет весь список как одну строку, внутри которой используются разделители типа символов возврата каретки и перевода строки.
Values [System::AnsiString Name] System::AnsiString Применяется для списков, имеющих структуру «Имя = Значение». Такую структуру имеют, например, файлы .ini. Свойство Values возвращает Значение, в строке с указанным именем Name. Если заданное имя Name не найдено, возвращается пустая строка.

Методы


Метод Описание
int Add(const System::AnsiString S) Добавляет Строку S в конец списка. Возвращает индекс добавленной строки. В окнах редактирования добавляемая строка может оказаться разбитой на несколько, так что в этих случаях возвращаемый индекс ни о чем не говорит.
int AddObject(const System::AnsiString S, System::TObject* AObject) Добавляет в список строку S и связанный с ней объект AObject. Возвращает индекс добавленной строки и объекта.
void AddStrings(TStrings* Strings) Добавляет в список группу строк Strings типа TStrings.
void Append(const System::AnsiString S) Добавляет строку в конец списка. Метод аналогичен Add, но не возвращает индекс строки.
void Clear(void) Очищает список.
void Deletefint Index) Удаляет из списка указанную строку с индексом Index.
bool Equals(TStrings* Strings) Сравнивает данный список с заданным списком Strings. Возвращает true при идентичности списков.
void Exchange(int Index1, int Index2) Переставляет местами строки списка с индексами Index1 и Index2.
char * GetText (void) Возвращает буфер, под который выделяет память, и заполняет его значением свойства Text.
int IndexOf(const System::AnsiString S) Возвращает индекс указанной строки S. Если такой строки нет в списке, возвращается -1.
int IndexOfName(const
System::AnsiString Name)
Применяется для списков, имеющих структуру «Имя = Значение». Такую структуру имеют, например, файлы .ini. Возвращается индекс строки, в которой имя равно заданному значению Name. Если такой строки нет в списке, возвращается -1.
int IndexOfObject(System::TObject* AObject) Возвращает индекс первой строки, связанной с заданным объектом AObject. Если такой строки нет в списке, возвращается -1.
void Insert(int Index, const System::AnsiString S) Вставляет указанную строку S в заданную позицию Index. Если Index = 0, строка вставляется в первую позицию.
void InsertObject(int Index, const System::AnsiString S, System::TObject* AObject) Вставляет указанную строку S в заданную позицию Index и связывает с ней объект AObject. Если Index = 0, строка вставляется на первую позицию.
void LoadFromFiIe(const
System::AnsiString File Name)
Заполняет список строками текста из указанного файла FileName.
void LoadFromStream(TStream* Stream) Заполняет список строками текста из указанного потока Stream.
void Move(int Curlndex,
int Newlndex)
Изменяет позицию строки с индексом Curlndex, давая ей индекс Newlndex.
void SaveToFile(
const System:: AnsiString FileName)
Сохраняет строки списка в файле с указанным именем FileName.
void SaveToStream(
TStream* Stream)
Сохраняет значение свойства Text в указанном потоке Stream.
void SetText(char * Text) Задает значение свойства Text.
Поделиться