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) - те ж, але разом з об'єктом.