3. Если значение указателя текущего примера равно «до первого примера», то присваиваем указателю адрес первого примера задачника. Если адрес в переменной в задачнике нет примеров, то возникает ошибка 108 — переход за конечную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь. В противном случае переходим к шагу 6
4. Указатель перемещается на следующий пример задачника. Если следующего примера задачника нет, то указателю присваивается значение «после последнего примера».
5. Переходим к шагу 5, если не верно условие: NewColo) And Last, NewColor — аргументы запроса InitSession, которым был открыт данный сеанс.
6. Next:= Not Last (Переход к следующему примеру завершился удачно, если указатель не установлен в значение «после последнего примера»).
Предыдущий (Prev)
Описание запроса:
Pascal:
Function Prev(Handle: Integer): Logic;
C:
Logic Prev(Integer Handle)
Описание аргументов:
Handle — номер сеанса.
Назначение — делает текущим предыдущий пример текущей выборки.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Если значение указателя равно «до первого примера», то возникает ошибка 109 — переход за начальную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь.
4. Если значение указателя равно «после последнего примера», то присваиваем указателю адрес последнего примера задачника. Если в задачнике нет примеров, то возникает ошибка 109 — переход за начальную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь.
5. В противном случае шаг 7.
6. Указатель перемещается на предыдущий пример задачника. Если предыдущего примера задачника нет, то указателю присваивается значение «до первого примера».
7. Шаг 6 повторяется до тех пор, пока не выполнится условие: First
8. Next:= Not Last (Переход к следующему примеру завершился удачно, если указатель не установлен в значение «после последнего примера»).
Конец (Last)
Описание запроса:
Pascal:
Function Last(Handle: Integer): Logic;
C:
Logic Last(Integer Handle)
Описание аргументов:
Handle — номер сеанса.
Назначение — возвращает значение истина, если текущим является состояние «после последнего примера», и ложь — в противном случае.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Возвращает значение истина, если текущим является состояние «после последнего примера», и ложь — в противном случае.
Начало (First)
Описание запроса:
Pascal:
Function First(Handle: Integer): Logic;
C:
Logic First(Integer Handle)
Описание аргументов:
Handle — номер сеанса.
Назначение — возвращает значение истина, если текущим является состояние «перед первым примером», и ложь в противном случае.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Возвращает значение истина, если текущим является состояние «перед первым примером», и ложь в противном случае.
Пример номер (Example)
Описание запроса:
Pascal:
Function Example(Number: Long; Handle: Integer): Logic;
C:
Logic Example(Long Number, Integer Handle)
Описание аргументов:
Number — номер примера, который должен быть сделан текущим. Нумерация примеров ведется с единицы.
Handle — номер сеанса.
Назначение — делает текущим пример текущей выборки с указанным номером.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Указатель устанавливается в состояние «до первого примера».
4. Number раз выполняем запрос Next.
Читать дальше