Почему вот эта функция - TMeshesCl.InMeshes всегда выдает false???? function dlina(x1,y1,x2,y2:integer):integer;
begin
result:=trunc(sqrt(sqr(x2-x1)+sqr(y2-y1)));
end;
function geron(t1,t2,t3:TPoint):integer;
var p,st1,st2,st3:integer;
begin
st1:=dlina(t1.x,t1.y,t2.x,t2.y);
st2:=dlina(t2.x,t2.y,t3.x,t3.y);
st3:=dlina(t3.x,t3.y,t1.x,t1.y);
p:=trunc((st1+st2+st3)/2);
result:=(p*(p-st1)*(p-st2)*(p-st3));
end;
function TMeshesCl.InMeshes:boolean;
var i,s1,s2,s3,s:integer;
p,p1,p2,p3:integer;
st:array[1..3] of integer;
res:boolean;
m:Tpoint;
begin
m.x:=GetMousePos.X;
m.y:=GetMousePos.Y;
res:=false;
for i:=0 to length(pos) do begin
{главный треугольник}
s:=geron(pos[i,1],pos[i,2],pos[i,3]);
{первый дополнительный треугольник}
s1:=geron(pos[i,1],m,pos[i,2]);
{второй дополнительный треугольник}
s2:=geron(pos[i,2],m,pos[i,3]);
{третий дополнительный треугольник}
s3:=geron(pos[i,1],m,pos[i,3]);
{проверка на вхождение}
if (s1+s2+s3)=s then res:=true;
end;
result:=res;
end;