|
|
Определяет список текстовых строк.
Доступ к объекту
Доступ к объекту также можно получить через визуальные компоненты, имеющие свойства типа TStrings. Например:
frm=new TForm();
...
mem=new TMemo(frm);
...
strObj=mem.Lines;
Собственные свойства
|
Свойство
| Тип
| Описание
|
Capacity
| Number
| ожидаемое количество строк в списке
|
CaseSensitive
| Boolean
| учитывать регистр букв
|
CommaText
| String
| текст, объединяющий все строки списка, заключаемые в разделители QuoteChar, через запятую
|
DelimitedText
| String
| текст, объединяющий все строки списка через пробел, непечатные символы или через разделитель, указанный в свойстве Delimiter
|
Delimiter
| String
| символ, используемый свойством DelimitedText в качестве разделителя строк (по умолчанию ',')
|
Duplicates
| Enum
| способ обработки дубликатов строк (см. ниже)
|
LineBreak
| String
| группа символов, используемая в качестве завершителя строк
|
NameValueSeparator
| String
| символ, используемый в качестве разделителя в парах "Имя Значение" (по умолчанию '=')
|
QuoteChar
| String
| символ, используемый свойством DelimitedText в качестве ограничителя строк
|
Sorted
| Boolean
| автоматически сортировать список
|
StrictDelimiter
| Boolean
| использовать в качестве разделителя строк в свойстве DelimitedText только символ, указанный в свойстве Delimiter
|
Strings[]
| String
| индексированный список строк
|
Text
| String
| текст, объединяющий все строки списка через завершитель, указанный в свойстве LineBreak
|
ValueFromIndex[]
| String
| индексированный список значений
|
Только чтение
| [TYPE]
| [DESC]
|
Count
| Number
| количество строк в списке
|
Names[]
| String
| индексированный список имен
|
UpdateCount
| Number
| количество вызовов метода BeginUpdate, не завершенных вызовом метода EndUpdate
|
|
Свойство Duplicates
|
Значение
| Описание
|
dupIgnore
| запретить дубликаты строк (при установленном свойстве Sorted)
|
dupAccept
| разрешить дубликаты строк
|
|
Стандартные свойства
Собственные методы
|
Метод
| Описание
|
Add
| добавляет указанную строку в конец списка
|
AddStrings
| добавляет указанный список строк в конец текущего списка
|
Assign
| копирует указанный список строк в текущий список
|
BeginUpdate
| выключает переиндексацию списка
|
Clear
| удаляет все строки списка
|
Delete
| удаляет строку с указанным индексом
|
EndUpdate
| включает переиндексацию списка
|
Equals
| сравнивает текущий список строк с указанным списком
|
Exchange
| меняет местами две строки с указанными индексами
|
IndexOf
| возвращает индекс указанной строки
|
IndexOfName
| возвращает индекс строки с указанным именем
|
Insert
| вставляет новую строку в указанную позицию списка
|
LoadFromFile
| загружает список строк из указанного файла
|
Move
| перемещает строку с указанным индексом в новую позицию
|
SaveToFile
| сохраняет список строк в указанном файле
|
Sort
| сортирует список строк по возрастанию
|
|
Стандартные методы
var tab=20;
// Главная форма frm=new TForm(); frm.Caption="JS+ - базовый компонент TStrings"; frm.Width =450; frm.Height=300;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=" Пример работы со списком строк TStrings";
// Заголовок lbl=new TLabel(frm); lbl.Caption="Список телефонов"; lbl.Font.Style=fsBold; lbl.Left=(frm.ClientWidth-lbl.Width)/2; lbl.Top =tab;
// Кнопка 1 bt1=new TButton(frm); bt1.Caption="Обновить"; bt1.Top=lbl.Top+lbl.Height+tab; bt1.numTag=1; bt1.Hint="Обновить список"; bt1.ShowHint=true; bt1.OnClick=btn_Click;
// Кнопка 2 bt2=new TButton(frm); bt2.Caption="Сортировать"; bt2.Width=frm.TextWidth(bt2.Caption)+30; bt2.Left =frm.ClientWidth-bt2.Width-tab; bt2.Top =bt1.Top+bt1.Height+tab; bt2.numTag=2; bt2.Hint="Сортировать список"; bt2.ShowHint=true; bt2.OnClick=btn_Click;
bt1.Left =bt2.Left; bt1.Width=bt2.Width;
// Список строк str=new TStrings(); Make_Strings(str);
// Текстовое поле mem=new TMemo(frm); mem.BorderStyle=bsSingle; mem.SetBounds(tab,bt1.Top,bt1.Left-tab*2,stb.Top-bt1.Top-tab); mem.Lines.Assign(str);
frm.ShowModal();
// Формирует список телефонов function Make_Strings(str) { var phn_Str;
str.Clear(); do { phn_Str=""+Math.round(Math.random()*10000000); switch (phn_Str.substr(0,1)) { case "0": case "8": continue; } if (phn_Str.length<7) continue; phn_Str=phn_Str.substr(0,3)+"-"+phn_Str.substr(3); str.Add(phn_Str); } while (str.Count<10); }
// Обработчик события OnClick function btn_Click(btn) { switch (btn.numTag) { case 1: Make_Strings(str); break; case 2: str.Sort(); }
mem.Lines.Assign(str); }
|
Совместимость
C++ Builder/Delphi (компонент TStringList)
|
JS+ | Руководство пользователя
|
|
|
|
|
|