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

       

SET (инициировать последовательную обработку файла)


файл
SET( файл,ключ )
файл,указатель_в_файле
ключ
ключ,ключ
ключ,указатель_в_ключе
ключ,ключ,указатель_в_файле

файл Метка файла. Этот параметр указывает на то, что обработка происходит в том порядке, в котором записи физически расположены в файле.
ключ Метка ключа или индекса. Если этот параметр стоит первым, то обработка происходит в последовательности, задаваемой ключом или индексом.
указатель_в_файле Числовая константа, переменная или выражение, для значения, возвращаемого функцией POINTER(файл). Конкретное значение зависит от файлового драйвера.
указатель_в_ключе Числовая константа, переменная или выражение, для значения, возвращаемого функцией POINTER(ключ). Конкретное значение зависит от файлового драйвера.



SET инициирует последовательную обработку файла. SET НЕ считывает запись, а только устанавливает порядок обработки и начальную точкц для последующих операторов NEX или PREVIOUS. Первый параметр определяет порядок обработки записей. Второй и третий - задают первую обрабатываемую запись (начальную точку обработки). Если они опущены, то обработка начнется с начала (или конца) файла.

SET(файл) Задает обработку в физической последовательности с начала (SET .. NEXT) или конца (SET ..PREVIOUS) файла.
SET(файл,ключ) Обработка в физическом порядке, начиная с первой записи, значения ключевых полей которой, ближе всего подходят к установленным ранее значениям компонент ключа.
SET(файл,указатель_в_файле) Обработка в физическом порядке, начиная с записи, на которую указывает указатель_в_файле.
SET(ключ) Обработка в последовательности, задаваемой ключом, с начала (SET..NEXT) или конца (SET ..PREVIOUS) файла в этой последовательности.
SET(ключ,ключ) Обработка в последовательности, задаваемой ключом, начиная с записи, значения ключевых полей которой, наиболее близки к установленным значениям компонент ключа.
SET(ключ,указатель_в_ключе)Обработка в последовательности, задаваемой ключом, начиная с записи, на которую указывает указатель_в_ключе.
SET(ключ, ключ, указатель_в_файле) Обработка по ключу, начиная с записи, содержащей данные, наиболее близкие к содержимому компонент ключа в (с - ?) конкретной записи, задаваемой указателем_в_файле.
<
Если второй параметр - ключ, то обработка начнется с первой записи, содержащей значения, наиболее близкие к значениям компонент ключа или индекса. Если найдено ТОЧНОЕ совпадение, то и NEXT и PREVIOUS считают найденную запись. Если нет точного совпадения, то NEXT прочитает запись с ближайшим БОЛЬШИМ значением, а PREVIOUS - с ближайшим меньшим.
Значения указателя_в_файле и указателя_в_ключе зависят от файлового драйвера. Это может быть номер записи, относительный номер байта в файле или какой либо иной вид "опорной точки" в файле. Эти параметры используются для начала обработки с конкретной записи в файле.
Пример:
SET(Customer) !Обработка в физическом порядке
Cus:Name = 'Smith'
SET(Customer,Cus:NameKey)
!Обработка в физическом порядке, начиная с записи, в
! которой поле Name = 'Smith'
SavePtr = POINTER(Customer)
SET(Customer,SavePtr)
!Обработка в физическом порядке, начиная с записи,
! физический номер которой хранится в SavePtr
SET(Cus:NameKey)
!Обработка в порядке, задаваемом ключом NameKey
SavePtr = POINTER(Cus:NameKey)
SET(Cus:NameKey,SavePtr)
!Обработка в порядке, задаваемом ключом NameKey, с за-
! писи, относительный номер которой в ключе содержит
! SavePtr
Cus:Name = 'Smith'
SET(Cus:NameKey,Cus:NameKey)
!Обработка в порядке, задаваемом ключом NameKey, начи-
! ная с первой записи, в которой поле = 'Smith'
Cus:Name = 'Smith'
SavePtr = POINTER(Customer)
SET(Cus:NameKey,Cus:NameKey,SavePtr)
!Обработка в порядке, задаваемом ключом NameKey,
! Name = 'Smith' и номер записи = SavePtr
См. также: , , , ,

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