TStrings

Клас TStrings

Абстрактний клас TStrings інкаисулює поля і методи для роботи з сукупністю рядків. Від нього породжені численні спеціалізовані нащадки, що обслуговують сукупності рядків у таких компонентах як TComboBox, TListBox і т.д.

Чудовою особливістю TStrings є те, що його елементами служать пари рядок+об'єкт, у яких рядок - власне рядок символів, а об'єкт - об'єкт будь-якого класу Delphi. Це дозволяє зберігати в TStrings об'єкти з текстовими примітками до них, сортувати об'єкти, відшукувати об'єкт по його опису і т.п. В якості такого об'єкта може виступати нащадок TStrings, що дозволяє створювати багатомірні набори рядків.

Деякі властивості:

Capacity – поточна максимальна кількість рядків;

Count - поточна кількість рядків (фактична);

Strings[i] - здійснює доступ до і-го рядка;

Objects[i] - здійснює доступ до і-го об'єкта.

Масив рядків технічно реалізується у вигляді масиву покажчиків: тому Capacity містить довжину цього масиву, a Count - кількість зайнятих у ньому елементів. Якщо при додаванні чергового елемента виявиться, що Count = Capacity, відбувається автоматичне розширення масиву на 16 елементів. Рекомендується заздалегідь dстановити очікуване значення Capacity.

Деякі методи класу TStrings:

Add(S) - додає рядок у набір і повертає його індекс;

AddObject(St, Ob) - додає рядок і об'єкт у набір;

Clear – очищує всі рядки тексту;

Delete(i) - знищує і-й елемент з набору і звільняє пам'ять:

Exchanged(іі,і2) - змінює місцями рядки іі і і2;

Insert(i,St) - вставляє рядок St і присвоює йому індекс і;

InsertObject(і, Ob) - те ж, але разом з об'єктом.