PascalABC.NET

Создание заданий для исполнителя Чертежник


Опишем последовательность создания группы заданий для исполнителя Чертежник. Создадим модуль DMTasks.pas со следующим текстом:

unit DMTasks;

interface

uses DMTaskMaker;

implementation

procedure FirstDM;
var i,a: integer;
begin
  TaskText('Задание mydm1. Начертите, используя цикл');
  Field(14,8);
  DoToPoint(7,7);
  a:=6;
  for i:=1 to 6 do
  begin
    DoPenDown;
    DoOnVector(a,-a);
    DoOnVector(-a,a);
    DoOnVector(-a,-a);
    DoOnVector(a,a);
    Dec(a);
    DoPenUp;
    DoOnVector(0,-1);
  end;
end;

begin
  RegisterGroup('mydm','Мои задания для Чертежника','DMTasks',2);
  RegisterTask('mydm1',FirstDM);
end.

Наберем и запустим основную программу (сохранять ее в каком-либо файле не требуется):

uses Drawman, DMTasks;
begin
  Task('mydm1');
end.

Будет выведено следующее задание для Чертежника:

Добавим задание на разработку процедуры:

procedure DoCross;
begin
  DoPenDown;
  DoOnVector(1,0); DoOnVector(0,-1);
  DoOnVector(1,0); DoOnVector(0,-1);
  DoOnVector(-1,0); DoOnVector(0,-1);
  DoOnVector(-1,0); DoOnVector(0,1);
  DoOnVector(-1,0); DoOnVector(0,1);
  DoOnVector(1,0); DoOnVector(0,1);
  DoPenUp;
end;

procedure SecondDM;
begin
  TaskText('Задание mydm2. Начертите, используя процедуру Cross');
  Field(18,12);
  DoToPoint(3,8);
  DoCross;
  DoToPoint(8,4);
  DoCross;
  DoToPoint(12,11);
  DoCross;
  DoToPoint(15,6);
  DoCross;
end;

Добавим вызов процедуры регистрации для данного задания; в результате секция инициализации примет следующий вид:

begin
  RegisterGroup('mydm','Мои задания для Чертежника','DMTasks',2);
  RegisterTask('mydm1',FirstDM);
  RegisterTask('mydm2',SecondDM);
end.

Изменим основную программу:

uses Drawman, DMTasks;
begin
  Task('mydm2');
end.

При запуске этой программы в окне исполнителя Чертежник будет выведено новое задание:

При первом запуске программы с подключенным модулем DMTasks созданная нами группа была автоматически зарегистрирована в мастере по созданию программ-заготовок PT4Load. Если теперь нажать кнопку  и в появившемся окне PT4Load ввести префикс DM в поле «Задание», то окно примет следующий вид:  

 

Мы видим, что группа заданий mydm появилась в списке доступных групп для исполнителя Чертежник. Наберем имя задания mydm1:

После нажатия клавиши Enter в рабочем каталоге будет создан новый файл DMmydm1.pas со следующим содержимым:

uses Drawman, DMTasks;

begin
  Task('mydm1');

end.

Можно попытаться решить :)