Документация по Clarion


ADD (добавить элемент)


ADD(очередь[,указатель|[+]ключ,....[-]ключ имя ])





















очередь Метка ОЧЕРЕДИ, или метка
переданного параметра типа QUEUE.
указатель Числовая константа,
переменная или выражение.
Указатель должен быть в
диапазоне от 1 до ЧИСЛА
ЭЛЕМЕНТОВ В ОЧЕРЕДИ.
+- Ведущий знак плюс/минус
означает, что по данному ключу
сортировка производится по
возрастанию/убыванию.
ключ Метка поля, описанного в
составе ОЧЕРЕДИ. Если ОЧЕРЕДЬ
имеет префикс, то КЛЮЧ также
ДОЛЖЕН иметь его.
имя Строковая константа,
переменная или выражение,
содержащая атрибуты NAME для
полей, входящих в состав
ОЧЕРЕДИ, разделенные запятыми
и с необязательным ведущим
знаком + или - для каждого
атрибута. Этот параметр
чувствителен к регистру букв.

ADD записывает новый элемент в буфер данных ОЧЕРЕДИ. Если недостаточно памяти для добавления нового элемента, то возвращается ошибка "Недостаточно памяти" (Insufficient Memory).
ADD(очередь) Дописывает новый элемент в конец ОЧЕРЕДИ.










ADD(очередь,указатель) Вставляет новый элемент в относительную позицию, задаваемую параметром УКАЗАТЕЛЬ. Если в этой позиции уже есть элемент, то он "проталкивается вниз", чтобы освободить место для нового элемента. Все последующие указатели перестраиваются с учетом нового элемента. Например, элемент, добавленный в позицию 10, вытолкнет старый десятый элемент в позицию 11, элемент 11 в позицию 12 и т.д. Если УКАЗАТЕЛЬ=0 или больше общего числа элементов ОЧЕРЕДИ, то элемент будет добавлен в конец очереди.
ADD(очередь,ключ) Вставляет новый элемент в отсортированную ОЧЕРЕДЬ. Можно использовать до 16 ключей, разделенных запятыми, с необязательным ведущим знаком плюс или минус, чтобы задать сортировку по возрастанию или убыванию. Элемент будет вставлен сразу после тех элементов, которые соответствуют значениям ключей. Если ОЧЕРЕДЬ еще пуста, то ADD(очередь,ключ) можно использовать для построения сразу отсортированной ОЧЕРЕДИ.
ADD(очередь,имя) Вставляет новый элемент в отсортированную ОЧЕРЕДЬ. Строка ИМЯ должна содержать атрибуты полей NAME, разделенные запятыми и с необязательными знаками плюс или минус для задания порядка сортировки. Элемент вставляется сразу после тех записей, которые соответствуют значениям полей. Если ОЧЕРЕДЬ еще пуста, то ADD(очередь,имя) можно использовать для построения сразу отсортированной ОЧЕРЕДИ.

Возвращаемые ошибки:
08 Недостаточно памяти
75 Неверный описатель типа
поля
Пример:
NameQue QUEUE,PRE(Que)
Name STRING(20),NAME('FirstField')
Zip DECIMAL(5,0),NAME('SecondField')
.
CODE
ADD(NameQue) !Добавить элемент в конец очереди
ADD(NameQue,1) !Вставить элемент в первую позицию
Que:Name = 'Иванов' !Инициализируем поля
Que:Zip = 12345
ADD(NameQue,+Que:Name,-Que:Zip)
!ИМЯ - по возрастанию, ИНДЕКС - по
! убыванию
Que:Name = 'Кузнецов' !Инициализируем поля
Que:Zip = 12345
ADD(NameQue,'+FirstField,-SecondField')
!Add in name, descending zip order



Начало  Назад  Вперед



Книжный магазин