Конструктор учебных заданий для электронного задачника Programming Taskbook - 10 стр.

UptoLike

Составители: 

10
понижать регистр первого символа не следует (например, в случае, если этот символ
является началом фамилии), то в начале в начале краткого описания группы надо ука-
зать дополнительный символ-метку «^» (шапочка).
Для определения характеристик новой группы необходимо вызвать процедуру
CreateGroup, указав эти характеристики в качестве параметров:
procedure CreateGroup(GroupName, GroupDescription,
GroupAuthor, GroupKey: string; TaskCount: integer;
InitTaskProc: TInitTaskProc);
Тип TInitTaskProc является процедурным типом и определяется следующим об-
разом:
type TInitTaskProc = procedure(n: integer); stdcall;
Процедуру CreateGroup необходимо вызывать в процедуре inittaskgroup, которая
должна экспортироваться библиотекой, содержащей данную группу. При реализации
группы в виде pcu-файла системы PascalABC.NET процедура inittaskgroup должна вы-
зываться в секции инициализации модуля, содержащего определение новой группы
заданий. Основная процедура группы (типа TInitTaskProc) при ее описании в библио-
теке должна иметь модификатор stdcall (в модуле PascalABC.NET этот модификатор
не требуется).
Процедура CreateGroup контролирует правильность переданных ей параметров и
в случае ошибки выводит на экран информационное окно с ее описанием. В подобной
ситуации все последующие действия, связанные с определением данной группы, иг-
норируются, и группа не включается в список доступных для использования групп
заданий. Перечислим некоторые из возможных ошибок:
в процедуре inittaskgroup определяется более одной группы заданий (в этом
случае определения всех групп, кроме первой, игнорируются); при реализа-
ции групп в виде pcu-файла данное ограничение отсутствует;
имя группы не соответствует имени dll-файла, в котором данная группа опре-
деляется (напомним, что имя dll-файла должно иметь вид
PT4<имя группы>
или
PT4<имя группы><маркер локали> — см. п. 1.4); при реализации группы
в виде pcu-файла данное ограничение отсутствует;
к задачнику Programming Taskbook уже подключена группа с указанным
именем;
имя группы не является допустимым (в частности, совпадает с именем одной
из базовых групп задачника);
не указано краткое описание группы;
не указан ключ группы;
количество заданий не принадлежит диапазону 1–999;
процедурная переменная InitTaskProc равна nil.
2.2. Базовые константы и процедуры для создания
новых заданий
const
xCenter = 0;
xLeft = 100;
xRight = 200;