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

UptoLike

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

18
данными. При вызове процедуры Subgroup с параметромпустой строкой устанав-
ливается режим дополнения преамбулы группы (напомним, что этот режим устанав-
ливается также сразу после вызова процедуры CreateGroup).
2.5. Регистрация новой группы заданий в модуле
PT4Load для системы PascalABC.NET
procedure RegisterGroup(UnitName: string);
Данная процедура предназначена, прежде всего, для использования при созда-
нии групп в среде PascalABC.NET (в виде pcu-файлов), однако она доступна и в вари-
анте конструктора, ориентированном на разработку групп в виде dll-файлов. Эта про-
цедура обеспечивает завершение формирования текущей группы; в частности, это оз-
начает, что после ее вызова все последующие вызовы процедур, связанных с опреде-
лением преамбул для группы и ее подгрупп (см. п. 2.4), будут игнорироваться. Впро-
чем, для группы, создаваемой в виде dll-файла, необходимые завершающие действия
выполняются автоматически при выходе из процедуры inittaskgroup, поэтому необхо-
димости в специальном вызове процедуры RegisterGroup не возникает. В то же время,
при создании группы в виде pcu-файла системы PascalABC.NET рекомендуется все-
гда вызывать процедуру RegisterGroup после формирования текущей группы, по-
скольку это предотвращает опасность случайного добавления постороннего текста к
последней определяемой преамбуле.
В варианте конструктора для создания pcu-файлов процедура RegisterGroup
обеспечивает еще одно важное действие, а именно, она добавляет информацию о соз-
данной группе во вспомогательный программный модуль PT4Load, интегрированный
в систему PascalABC.NET. Это позволяет использовать модуль PT4Load для создания
программ-заготовок, связанных с данной группой. Следует заметить, что необходи-
мость в специальных действиях по регистрации новой группы в модуле PT4Load воз-
никает только для групп, созданных в виде pcu-файлов, так как группы, определенные
в виде dll-файлов и размещенные в текущем каталоге или подкаталоге Lib системного
каталога задачника, регистрируются в модуле PT4Load (а также в модуле PT4Demo)
автоматически. Напомним, что при использовании варианта задачника, интегриро-
ванного в PascalABC.NET, системным каталогом задачника считается подкаталог PT4
системного каталога PascalABC.NET.
Параметр UnitName процедуры должен содержать имя pcu-модуля (при вызове
данной процедуры для группы, определяемой в виде dll-файла, параметр может со-
держать произвольный текст, например, пустую строку). Информация о регистрируе-
мой группе сохраняется в файле PTGroups.dat, который размещается в подкаталоге
Lib системного каталога PascalABC.NET, а также в каталоге, из которого запускается
программа с заданием. При загрузке модуля PT4Load вначале считывается информа-
ция из файла PTGroups.dat, расположенного в текущем каталоге, а затемиз подка-
талога Lib системного каталога PascalABC.NET.
При использовании английской версии задачника вместо файла PTGroups.dat ис-
пользуется файл PTGroups_en.dat.
Вызов процедуры RegisterGroup, как и процедуры CreateGroup, производится в
секции инициализации pcu-модуля, поэтому добавление (или восстановление) ин-
формации о данной группе заданий будет происходить при каждом запуске програм-
мы, использующей этот модуль. При этом сразу после выполнения этой программы