Пример описания задачника
В этом разделе приведено описания простого задачника для прогнозирования курса американского доллара к рублю. Задачник содержит три примера. В разделе описания данных вместо символа табуляции использован символ «®», а вместо символа конца абзаца — «¶».
TaskBookCursValuty
Structure
Field" Цвет" tbColor Color End Field
Field" Вес" tbWeight Real End Field
Field" Дата" tbCommentReal End Field
Field" Текущий курс" tbInputReal End Field
Field" Курс на следующий день" tbAnswersReal End Field
Field" Достоверность курса" tbReliabilityReal End Field
Field" Предсказанный курс" tbCalcAnswersReal End Field
Field" Надежность предсказания" tbCalcReliabilityReal End Field
Field" Оценка предсказания" tbEstimation Real End Field
End Structure
Source
HFFFF®1.0®01.01.97®5773®5774®1.0®5775®0.1®0.07¶
HFFFF®1.0®02.01.97®5774®5776®1.0®5777®0.01®0.7¶
HFFFF®1.0®03.01.97®5776®5778®1.0®5779®0.2®0.007¶
End TaskBook
Стандарт второго уровня компонента задачник
В этом разделе описаны все запросы компонента задачник в виде процедур и функций. При описании используется синтаксис языков Turbo Pascal и С. В Паскаль варианте приведены заголовки функций и процедур. В С варианте — прототипы функций. Большинство запросов, реализуется в виде функций, сообщающих о корректности завершения операции.
Предполагается возможность одновременной работы нескольких сеансов одного задачника. Например, допускается редактирование задачника и одновременное обучение сети по тому же задачнику.
Все запросы к компоненту задачник можно разбить на следующие группы.
1. Чтение и запись задачника.
2. Начало и конец сеанса.
3. Перемещение по примерам.
4. Определение, получение и изменение данных.
5. Окраска примеров.
6. Установление структуры Задачника.
7. Добавление и удаление примеров.
8. Обработка ошибок.
Чтение и запись задачника
К этой группе запросов относятся запросы, работающие со всем задачником в целом. Эти запросы считывают задачник, сохраняют задачник на диске или выгружают ранее считанный или созданный задачник.
Прочитать задачник (tbAdd)
Описание запроса:
Pascal:
Function tbAdd(CompName: PString): Logic;
C:
Logic tbAdd(PString CompName)
Описание аргумента:
CompName — указатель на строку символов, содержащую имя файла задачника.
Назначение — служит для считывания задачника.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в данный момент считан задачник, то генерируется запрос tbDelete. Если запрос tbDelete завершается неуспешно, то генерируется внутренняя ошибка 104 — попытка считывания задачника при открытых сеансах ранее считанного задачника. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Первые четыре символа строки CompName составляют слово File. Остальная часть строки содержит имя компонента и после пробела имя файла, содержащего компонент.
4. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 102 — ошибка чтения задачника. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.
Записать задачник (tbWrite)
Описание запроса:
Pascal:
Function tbWrite(CompName, FileName: PString): Logic;
C:
Logic tbWrite(PString CompName, PString FileName)
Описание аргументов:
CompName — указатель на строку символов, содержащую имя задачника.
FileName — имя файла, куда надо записать компонента.
Назначение — сохраняет задачник в файле.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса отсутствует считанный задачник, то возникает ошибка 101 — запрос при отсутствии задачника, управление передается обработчику ошибок, а обработка запроса прекращается.
3. Задачник записывается в файл FileName под именем CompName.
4. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 103 — ошибка записи задачника. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.
Закрыть задачник (tbDelete)
Описание запроса:
Pascal:
Читать дальше