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

       

RESET (сброс указателя текущей записи)



RESET(последовательность,строка)


последовательность Метка файла, ключа или индекса.
строка Строка, возвращаемая функцией POSITION.

RESET устанавливает указатель записи на запись, задаваемую строкой, возвращаемой функцией POSITION. После того, как RESET установил указатель, NEXT или PREVIOUS могут считать эту запись.
Значение, содержащееся в СТРОКЕ, и его длина зависят от файлового драйвера. RESET, обычно, используется вместе с POSITION для временного изменения порядка обработки записей.
Пример:
RecordQue QUEUE,PRE(Dsp)
QueFields LIKE(Trn:Record),PRE(Dsp)
.


SavPosition STRING(260)
CODE
SET(Trn:DateKey) !Top of file in keyed sequence
LOOP !Последовательно читаем
NEXT(Trans) ! записи, одну за другой
IF ERRORCODE() THEN STOP(ERROR()).
RecordQue = Trn:Record !Помещаем запись в очередь
ADD(RecordQue) !
IF ERRORCODE() THEN STOP(ERROR()).
IF RECORDS(RecordQue) >= 20 OR EOF(Trans)
!В очереди 20 записей?
SavPosition = POSITION(Trn:DateKey) !сохраним указатель
!на текущую запись
DO DisplayQue !Выведем очередь на экран
FREE(RecordQue) ! и очистим ее
IF EOF(Trans) THEN BREAK.
!Если обработаны все записи, то выходим
RESET(Trn:DateKey,SavPosition) !Сбрасываем указатель
. . !Конец цикла
См. также: , ,



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