5. Example:= Not Last (Если не установлено состояние «после последнего примера», то запрос выполнен успешно).
Определение, получение и изменение данных
К данной группе запросов относятся запросы позволяющие получать данные из задачника, заносить данные в задачник и сбросить предобработку (необходимо выполнить данный запрос после изменений в данных или предобработчике, если задачник хранит векторы предобработанных данных)
Дать пример (Get)
Описание запроса:
Pascal:
Function Get(Handle: Integer; Var Data: PRealArray; What: Integer): Logic;
C:
Logic Get(Integer Handle, PRealArray* Data, Integer What)
Описание аргументов:
Handle — номер сеанса;
Data — указатель на массив, в котором должны быть возвращены данныt;
What — одна из предопределенных констант tbColor, tbInput, tbPrepared, tbAnswers, tbReliability, tbCalcAnswers, tbCalcReliability, tbWeight, tbEstimation, tbComment
Назначение — возвращает указанную в запросе информацию.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Если аргумент What имеет недопустимое значение, то возникает ошибка 110 — неверный тип вектора в запросе Get. Управление передается обработчику ошибок. Выполнение запроса прекращается.
4. Если текущий указатель указывает на одно из состояний «до первого примера» или «после последнего примера», то возникает ошибка 111 — попытка чтения до или после текущей выборки. Управление передается обработчику ошибок. Запрос завершается неуспешно.
5. Если в аргументе What указан вектор предобработанных данных, но в текущем примере он отсутствует, то генерируется запрос предобработать данные. Если предобработка завершается успешно, то полученный вектор предобработанных данных включается в пример, в противном случае выполнение запроса прекращается. Возвращается значение ложь.
6. В элементы массива, на который указывает аргумент Data, копируются данные из того вектора данных текущего примера, который указан в аргументе What. Если требуемый вектор в задачнике отсутствует, то возникает ошибка 112 — данные отсутствуют и запрос завершается со значением ложь. В противном случае запрос успешно завершается.
Обновить данные (Put)
Описание запроса:
Pascal:
Function Put(Handle: Integer; Data: PRealArray; What: Integer): Logic;
C:
Logic Put(Integer Handle, PRealArray Data, Integer What)
Описание аргументов:
Handle — номер сеанса
Data — указатель на массив, в котором переданы данные, которые должны быть занесены в задачник.
What — одна из предопределенных констант tbColor, tbInput, tbPrepared, tbAnswers, tbReliability, tbCalcAnswers, tbCalcReliability, tbWeight, tbEstimation, tbComment
Назначение — обновить данные текущего примера
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Если аргумент What имеет недопустимое значение, то возникает ошибка 113 — неверный тип вектора в запросе Put. Управление передается обработчику ошибок. Выполнение запроса прекращается.
4. Если текущий указатель указывает на одно из состояний «до первого примера» или «после последнего примера», то возникает ошибка 111 — попытка чтения до или после текущей выборки. Управление передается обработчику ошибок. Запрос завершается неуспешно.
5. Если устанавливается вектор входных данных, то для текущего примера должен быть освобожден вектор предобработанных данных.
6. В данные примера копируются значения, указанные в массиве Data. Запрос успешно завершается.
Сбросить предобработку (RemovePrepare)
Описание запроса:
Pascal:
Procedure RemovePrepare;
C:
void RemovePrepare()
Назначение — отмена предобработки всех ранее предобработанных примеров.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. У всех примеров задачника освобождаются вектора предобработанных данных.
В данный раздел помещены запросы для работы с цветами. Отметим, что цвет примера, возвращаемый запросом GetColor можно получить также с помощью запроса Get.
Дать цвет примера (GetColor)
Описание запроса:
Pascal:
Function GetColor(Handle: Integer): Color;
C:
Logic GetColor(Integer Handle)
Описание аргументов:
Handle — номер сеанса
Назначение — возвращает цвет текущего примера.
Читать дальше