SRCINSEL


Библиотека

V32.EXE

Синтаксис

SRCINSEL(file: IDENT;
         searchType: SEARCHTYPE
         [; VAR oc: SCAL[2] ]
         {; keyFieldValue: ANYTYPE });

SRCINSEL(file: IDENT;
         searchType: SEARCHTYPE
         {; keyFieldValue: ANYTYPE }
        ): SCAL[2];

SEARCHTYPE = LT | LE | EQ | GE | GT;

Описание

Ищет в текущем селекте файла file по текущему индексу запись, наиболее удовлетворяющую типу поиска searchType для заданных значений полей индекса. Рассмотрим возможные типы поиска:
Исходный файл для всех примеров
Номер записи 1 2 3 4 5 6 7 8 9 10
Значение ключевого поля 10 10 20 30 40 40 50 60 70 70

keyFieldValue - это значения полей ключа, не участвующих в текущем селекте, определяющие шаблон поиска. Эти значения должны быть заданы в том же порядке, что и поля индекса и быть совместимы по присваиванию с типами соответствующих полей. Для выполнения поиска типа EQ обязаны быть указаны значения всех полей, не участвующих в текущем селекте, для других типов поиска могут быть опущены поля с меньшим весом в индексе.

Если поиск выполнен успешно, процедура SRCINSEL заполняет параметр oc значением 1, а текущей становится позиция с найденной записью, в противном случае текущая запись не определена, а параметр oc устанавливается в 0. Когда SRCINSEL применяется как функция, она возвращает значение, совпадающее по смыслу с параметром oc процедуры. Это же возвращает и функция OCCURE, вызванная с тем же параметром file после выполнения SRCINSEL.

На результат работы процедуры может влиять наличие файлового фильтра (см. TABLE.Filter).

См. также