Курсовая работа: Поиск кратчайшего пути в многоугольнике
for i:=0 to n-1 do
for j:=0 to n-1 do a[i,j].Hide;
invalidate;
edit1.Clear;
edit1.SetFocus;
edit2.Clear;
index1:=false;index2:=false;
btnStroi.Enabled:=True;
end;
//создание области по выбранным вершинам(ShapeClick)
procedure TForm1.vershini(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var i,j:integer;
begin
if k<m then
begin //получение массива точек для полигона
vershina[k].x:=@(sender as TShape).left;
vershina[k].y:=@(sender as TShape).top;
(sender as TShape).brush.Color:=clgreen;
k:=k+1;
if k=m then
begin formpaint(self);//закраскаобласти
//определение принадлежности точки области
for i:=0 to n-1 do
for j:= 0 to n-1 do
if canvas.Pixels[a[i,j].Left+round(h/(4*n)),a[i,j].Top+round(h/(4*n))]=clred then
a[i,j].Brush.Color:=clgreen;
btnstart.Enabled:=true;
btnfinish.Enabled:=true;