
Модульный принцип построения групп и проектов

состав группы
состав проекта
файл приложения
файл ресурсов
описание графического интерфейса
программный код
описание графического интерфейса
программный код
самостоятельный программный модуль

Группа
Проект
Форма 1
Форма 2
Модуль

Процедура (подпрограмма) рисования домика
procedure Domik1(X1:Integer; Y1:Integer; X2:Integer; Y2:Integer);
begin
With Form1.Image1.Canvas Do
begin
Rectangle(X1, 200-Y1, X2, 200-Y2);
MoveTo(X1, 200-Y2);
LineTo(Round((X1+X2)/2),Round(200-(Y2+(Y2-Y1)/2)));
LineTo(X2, 200-Y2);
end;
end;
Процедура-обработчик события рисования домиков
procedure TForm1.Button1Click(Sender: TObject);
begin
Domik1(10, 10, 80, 70);
Domik1(100, 20, 180, 70);
Domik1(50, 120, 110, 160);
end;

Процедура-обработчик события, в котором закрывается первая форма и открывается вторая
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Visible := false;
Form2.Visible := true;
end;