980_____________________________________________Глава 15

15.5 Методы

Add

Функция добавляет новый элемент в список
Классы TList, TStringList, TStrings
Прототипы

Для TList:

int _fastcall Add(void * Item);

для TStrings и TStringList:

virtual int   fastcall Addfconst System::AnsiString S);                      '

|
Описание

Функция Add добавляет новый элемент в список. Если список не сортирован-
ный, то элемент добавляется в конец списка. Если же список сортированный, то
новый элемент добавляется в позицию, которая определяется сортировкой. Функ-
ция возвращает индекс добавленного элемента (индекс первого элемента — 0).
Увеличивает значение Свойства Count на 1. Если значение Count равно значению
Capacity (емкости массива), то увеличивается значение Capacity (с запасом) и пе-
рераспределяется память под новые элементы.

Для сортированного списка TStringList при выполнении Add генерируется
исключение EListError. если строка S уже имеется в списке и свойство Duplicates
установлено в dupError.

Примеры

1. TList *List = new TList;

// Создание объекта — строки и занесение ее в список:

List->Add((char *)malloc (10));

2. TStringList *TL = new TStringList;     // Создание списка

TL->Sorted = true;                     // Список сортированный

TL->Duplicates = dupError;            // Запрет дубликатов                   I

TL->Add("Петров") ;

int i = TL->Add("Иванов");     // Т.к. список сортированный, i=0
TL->Add("Иванов");             // Генерация исключение из-за дубликата

В приведенном коде оператор

int i = TL->Add("Иванов");

присваивает переменной i значение 0, поскольку список сортированный и фа-
милия «Иванов» должна размещаться первой, раньше фамилии «Петров».
Добавление в сортированный список дубликата вызывает генерацию исключе-
ния и сообщение: «String list does not allow dubliucates».

Assign — метод графических объектов

Копирует изображение одного графического объекта в другой
Классы TBitMap, TIcon, TMetaFile, TPicture