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

       

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


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

очередь Метка ОЧЕРЕДИ, или метка
переданного параметра типа QUEUE.
указатель Числовая константа,
переменная или выражение.
Указатель должен быть в
диапазоне от 1 до


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

GET считывает элемент ОЧЕРЕДИ в буфер данных ОЧЕРЕДИ для обработки. Если GET не находит соответствия, то возвращается ошибка "Элемент очереди не найден (Queue Entry Not Found).

GET(очередь,указатель) Возвращает элемент из
позиции, задаваемой значением
УКАЗАТЕЛЯ.
GET(очередь,ключ) Ищет элемент ОЧЕРЕДИ, который соответствует значению поля(полей) ключа. Можно использовать до 16 ключей, разделенных запятыми. ОЧЕРЕДЬ должна быть уже отсортирована по полям, используемым в качестве ключевых.
GET(очередь,имя) Ищет элемент ОЧЕРЕДИ, который соответствует значению поля(полей) имени. Строка ИМЯ должна содержать NAME-атрибуты полей, разделенные запятыми с необязательным ведущим знаком плюс или минус для задания порядка сортировки. ОЧЕРЕДЬ должна уже быть отсортирована по полям, перечисленным в параметре ИМЯ.

Возвращаемые ошибки:
08 Недостаточно памяти
30 Элемент не найден
75 Неверный описатель типа поля
Пример:
NameQue QUEUE,PRE(Que)
Name STRING(20),NAME('FirstField')
Zip DECIMAL(5,O),NAME('SecondField')
.
CODE
!здесь мы строим очередь...
GET(NameQue,1) !Читаем первый элемент
IF ERRORCODE() THEN STOP(ERROR()).
Que:Name = 'Иванов' !Инициализируем ключевое поле
GET(NameQue,Que:Name) !Находим подходящую запись
IF ERRORCODE() THEN STOP(ERROR()).
Que:Name = Fil:Name !Берем начальное значение из Fil:Name
GET(NameQue,Que:Name) !Находим подходящую запись
IF ERRORCODE() THEN STOP(ERROR()).
Que:Name = 'Кузнецов' !Инициализируем ключевые поля
Que:Zip = 12345
GET(NameQue,'FirstField,SecondField')
!Находим подходящую запись
IF ERRORCODE() THEN STOP(ERROR()).
См. также:



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