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

UptoLike

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

45
Режим проверки диапазона полезен, если при разработке заданий используются
массивы, поскольку он позволяет сразу выявить ошибки, связанные с выходом индек-
сов элементов массива за допустимый диапазон. Режим длинных строк необходим
при использовании в программе функций TextSample и EnTextSample (см. п. 2.7), по-
скольку они возвращают строки, длина которых превосходит 255 символов.
Файл PT4MakerDemo.dpr, содержащий сводную группу заданий, является крат-
ким и имеет стандартную структуру:
library PT4MakerDemo;
uses PT4TaskMaker;
procedure InitTask(num: integer); stdcall;
begin
case num of
1..2: UseTask('Begin', num);
end;
end;
procedure inittaskgroup;
begin
CreateGroup('MakerDemo', 'Примеры различных задач',
'М. Э. Абрамян, 2009', 'qwqfsdf13dfttd', 2, InitTask);
end;
exports inittaskgroup, activate;
begin
end.
К библиотеке подключается модуль PT4TaskMaker, после чего в ней описывает-
ся основная процедура группы заданий InitTask, определяющая задание по его номе-
ру. Поскольку мы не создавали своих заданий, в данной процедуре используется
только стандартная процедура UseTask, позволяющая импортировать задания из
имеющихся групп. В нашем случае импортируются задания с номерами 1 и 2 из
группы Begin.
Затем описывается процедура инициализации данной группы заданий. Она
должна иметь стандартное имя inittaskgroup (набранное строчными, то есть ма-
ленькими буквами) и включаться в список exports процедур, экспортируемых данной
библиотекой. В этой процедуре вызывается процедура CreateGroup, в которой зада-
ются настройки создаваемой группы: имя ('MakerDemo'), описание ('Примеры раз-
личных задач'), сведения об авторе, строковый ключ, число заданий (2) и основная
процедура группы (InitTask).
Примечание. В приведенном примере список exports содержит также имя про-
цедуры activate. Эта процедура определена в модуле PT4MakerDemo; указывать ее в
списке exports необходимо лишь для проектов, разрабатываемых в среде Free Pascal
Lazarus (в проектах Delphi данная процедура включается в список exports автоматиче-
ски). Если при разработке новой группы заданий в среде Lazarus процедура activate не
будет включена в список exports, то при попытке вызвать задание из этой группы бу-
дет выведено соответствующее сообщение об ошибке.