Программа рисования многоугольника. Описание алгоритмов процедур и функций. Описание интерфейсной части программы, страница 6

for i:=1 to 6 do

begin

if ((bl_versh) >= (abs(sr_x-m_y[i,2])+abs(sr_y-m_y[i,1]))) then

begin

x:=m_y[i,2];

y:=m_y[i,1];

bl_versh:=abs(sr_x-m_y[i,2])+abs(sr_y-m_y[i,1]);

end;

end;

TDraw_PLT.Draw_Line(x, y,m_y[2,2], m_y[2,1]);

TDraw_PLT.Draw_Line(x, y,m_y[1,2], m_y[1,1]);

TDraw_PLT.Draw_Line(m_y[4,2], m_y[4,1],x, y,);

TDraw_PLT.Draw_Line(x, y,m_y[5,2], m_y[5,1]);

TDraw_PLT.Draw_Line(x, y,m_y[6,2], m_y[6,1]);

TDraw_PLT.Draw_Line(x, y,m_y[3,2], m_y[3,1]);

end;

procedure TForm1.RisovanieClick(Sender: TObject);

var

x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6:integer;

begin

x1:=StrToInt(Edit1.Text);

y1:=StrToInt(Edit2.Text);

x2:=StrToInt(Edit3.Text);

y2:=StrToInt(Edit4.Text);

x3:=StrToInt(Edit5.Text);

y3:=StrToInt(Edit6.Text);

x4:=StrToInt(Edit7.Text);

y4:=StrToInt(Edit8.Text);

x5:=StrToInt(Edit9.Text);

y5:=StrToInt(Edit10.Text);

x6:=StrToInt(Edit11.Text);

y6:=StrToInt(Edit12.Text);

Draw_PLT.Draw_Mnogougolnik(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6);

end;

procedure TForm1.Variant_1Click(Sender: TObject);

begin

edit1.Text:='100';

edit2.Text:='500';

edit3.Text:='200';

edit4.Text:='700';

edit5.Text:='300';

edit6.Text:='550';

edit7.Text:='450';

edit8.Text:='700';

edit9.Text:='500';

edit10.Text:='500';

edit11.Text:='300';

edit12.Text:='350';

end;

procedure TForm1.ZakraskaClick(Sender: TObject);

var

x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,OsnVer:integer;

begin

x1:=StrToInt(Edit1.Text);

y1:=StrToInt(Edit2.Text);

x2:=StrToInt(Edit3.Text);

y2:=StrToInt(Edit4.Text);

x3:=StrToInt(Edit5.Text);

y3:=StrToInt(Edit6.Text);

x4:=StrToInt(Edit7.Text);

y4:=StrToInt(Edit8.Text);

x5:=StrToInt(Edit9.Text);

y5:=StrToInt(Edit10.Text);

x6:=StrToInt(Edit11.Text);

y6:=StrToInt(Edit12.Text);

Draw_PLT.Draw_Mnogougolnikzakr(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6);

end;

procedure TForm1.OchistkaClick(Sender: TObject);

begin

unit1.Form1.Refresh;

end;

procedure TForm1.Variant_2Click(Sender: TObject);

begin

edit1.Text:='200';

edit2.Text:='200';

edit3.Text:='250';

edit4.Text:='400';

edit5.Text:='100';

edit6.Text:='650';

edit7.Text:='300';

edit8.Text:='600';

edit9.Text:='400';

edit10.Text:='700';

edit11.Text:='600';

edit12.Text:='170';

end;

procedure TForm1.Variant_3Click(Sender: TObject);

begin

edit1.Text:='100';

edit2.Text:='650';

edit3.Text:='500';

edit4.Text:='750';

edit5.Text:='350';

edit6.Text:='600';

edit7.Text:='700';

edit8.Text:='300';

edit9.Text:='300';

edit10.Text:='100';

edit11.Text:='400';

edit12.Text:='400';

end;

procedure TForm1.LuchiClick(Sender: TObject);

var

x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6:integer;

begin

x1:=StrToInt(Edit1.Text);

y1:=StrToInt(Edit2.Text);

x2:=StrToInt(Edit3.Text);

y2:=StrToInt(Edit4.Text);

x3:=StrToInt(Edit5.Text);

y3:=StrToInt(Edit6.Text);

x4:=StrToInt(Edit7.Text);

y4:=StrToInt(Edit8.Text);

x5:=StrToInt(Edit9.Text);

y5:=StrToInt(Edit10.Text);

x6:=StrToInt(Edit11.Text);

y6:=StrToInt(Edit12.Text);

Draw_PLT.Draw_luchi(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6);

end;

procedure TForm1.Variant_5Click(Sender: TObject);

begin

edit1.Text:='150';

edit2.Text:='300';

edit3.Text:='250';

edit4.Text:='450';

edit5.Text:='450';

edit6.Text:='450';

edit7.Text:='550';

edit8.Text:='300';

edit9.Text:='450';

edit10.Text:='150';

edit11.Text:='250';

edit12.Text:='150';

end;

procedure TForm1.Variant_4Click(Sender: TObject);

begin

edit1.Text:='30';

edit2.Text:='10';

edit3.Text:='70';

edit4.Text:='10';

edit5.Text:='50';

edit6.Text:='30';

edit7.Text:='90';

edit8.Text:='40';

edit9.Text:='20';

edit10.Text:='40';

edit11.Text:='50';

edit12.Text:='90';

end;

procedure TForm1.TeksturaClick(Sender: TObject);

var

x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6:integer;

begin

x1:=StrToInt(Edit1.Text);

y1:=StrToInt(Edit2.Text);

x2:=StrToInt(Edit3.Text);

y2:=StrToInt(Edit4.Text);

x3:=StrToInt(Edit5.Text);

y3:=StrToInt(Edit6.Text);

x4:=StrToInt(Edit7.Text);

y4:=StrToInt(Edit8.Text);

x5:=StrToInt(Edit9.Text);

y5:=StrToInt(Edit10.Text);

x6:=StrToInt(Edit11.Text);

y6:=StrToInt(Edit12.Text);

Draw_PLT.Draw_MnogougolnikText(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6);

end;

end.
Тестирование на допустимые и недопустимые входные данные.

Программа тестировалась на введение различных координат. Ошибок в рисовании выявлено не было.