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

       

PUT (перезаписать элемент)


PUT(очередь[, [+]ключ,....[-]ключ имя])



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

PUT перезаписывает содержимое буфера ОЧЕРЕДИ обратно на то место где был выполнен GET или ADD. Если GET или ADD не были выполнены то возвращается ошибка "Элемент очереди не найден (Queue EntryNot Found).

PUT(очередь) Записывает буфер обратно в
ту же относительную позицию в
очереди, где был выполнен по-
следний успешный GET или ADD.
PUT(очередь,ключ) Возвращает элемент в отсортированную очередь после успешного GET или ADD, соблюдая порядок сортировки если были изменены значения ключевых полей. Можно использовать до 16 ключей, разделенных запятыми, с необязательным ведущим знаком плюс или минус, чтобы задать сортировку по возрастанию или убыванию. Элемент будет вставлен сразу после тех элементов, которые соответствуют значениям ключей.
PUT(очередь,имя) Возвращает элемент в отсортированную очередь после успешного GET или ADD, соблюдая порядок сортировки если были изменены значения ключевых полей. Строка ИМЯ должна содержать NAME-атрибуты полей, разделенные запятыми и с необязательными знаками плюс или минус для задания порядка сортировки. Элемент вставляется сразу после тех элементов, которые соответствуют значениям полей.

Возвращаемые ошибки:
08 Недостаточно памяти
30 Элемент не найден
75 Неверный описатель типа поля
Пример:
NameQue QUEUE,PRE(Que)
Name STRING(20),NAME('FirstField')
Zip DECIMAL(5,0),NAME('SecondField')
.
CODE
!здесь мы строим очередь...
Que:Name = 'Иванов' !Инициализируем ключевое поле

GET(NameQue,Que:Name) ! Находим подходящую запись
IF ERRORCODE() THEN STOP(ERROR()).
Que:Zip = 12345 !Изменяем почтовый индекс
PUT(NameQue) !Записываем изменения в очередь
IF ERRORCODE() THEN STOP(ERROR()).
Que:Name = 'Иванов' !Инициализируем ключевое поле
GET(NameQue,Que:Name) !Находим подходящую запись
IF ERRORCODE() THEN STOP(ERROR()).
Que:Name = 'Кузнецов' !Изменяем ключевое поле
PUT(NameQue.Que:Name) !Записываем изменения в очередь
IF ERRORCODE() THEN STOP(ERROR()).
Que:Name = 'Кузнецов' !Инициализируем ключевое поле
GET(NameOue,'FirstField') !Находим подходящую запись
IF ERRORCODE() THEN STOP(ERROR()).
Que:Name = 'Иванов' !Изменяем ключевое поле
PUT(NameQue,'FirstField') !Записываем изменения в очередь
IF ERRORCODE() THEN STOP(ERROR()).

Содержание раздела