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

       

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


файл,ключ
GET( файл,указатель_в_файле[,длина] )
ключ,указатель_в_ключе

файл Метка файла.
ключ Метка ключа или индекса.
указатель_в_файле Числовая константа, переменная или выражение, содержащая значение, возвращаемое функцией POINTER(файл). Конкретное значение зависит от файлового драйвера.
указатель_в_ключе Числовая константа, переменная или выражение, содержащая значение, возвращаемое функцией POINTER(ключ). Конкретное значение зависит от файлового драйвера.
длина Целочисленная константа, переменная или выражение, содержащее число байт, записываемых в файл. ДЛИНА должная быть больше нуля но не больше длины структуры RECORD. Если ДЛИНА пропущена или выходит за разрешенный диапазон, то она сбрасывается до длины структуры RECORD.

Оператор GET находит заданную запись в файле данных и считывает ее в буфер структуры RECORD. Прямой доступ к записи осуществляется либо по относительному номеру записи в файле либо совпадению ключевого поля со значением заданного ключа.

GET(файл,ключ) Получает первую запись из файла (согласно ключу), которая содержит значения, совпадающие со значениями компонент ключа.


GET(файл,указатель_в_файле[,длина]) Получает запись из файла на которую указывает указатель_в_файле. Если указатель_в_файле равен нулю, то указатель на текущую запись очищается и запись не считывается.
GET(ключ,указатель_в_ключе) Получает запись на которую указывает указатель_в_ключе.

Значения указателя_в_файле и указателя_в_ключе зависят от файлового драйвера. Это может быть: номер записи; номер байта в файле или какой-либо другой вид "опорной точки" в файле. Если значение указателя_в_файле или указателя_в_ключе выходят за разрешенные пределы или в файле нет подходящих по значениям записей, возникает ошибка "Запись не найдена".
Возвращаемые ошибки:
35 Запись не найдена
37 Файл еще не открыт
43 Запись уже заблокирована
Пример:
Customer FILE,DRIVER('Clarion'),PRE(Cus)
NameKey KEY(Cus:Name),OPT
NbrKey KEY(Cus:Number),OPT
Rec RECORD
Name STRING(20)
Number SHORT
. .
CODE
Cus:Name = 'Clarion' !Инициализируем ключевое поле
GET(Customer,Cus:NameKey) ! получаем соответствующую запись
IF ERRORCODE() THEN STOP(ERROR()).
GET(Customer,3) !Читаем третью физическую запись
! файла
IF ERRORCODE() THEN STOP(ERROR()).
GET(Cus:NameKey,3) !Получаем третью запись в порядке,
! задаваемом ключом NameKey
IF ERRORCODE() THEN STOP(ERROR()).
См. также: ,



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