inc(LengD[N]) ;
Data[LengD[N]] :» 0; {Конец команд) {Записываем в память} LengD[N] :-2*LengD[N];
GetMem(Chars[N],LengD[N] ) ;
Move(Data,CharstN]",LengC[N]) ;
{Чертим символ в таблице} HideMouse;
Хс := XT+(N mod 16)*DXT;
Yc := YT+(N div 16)*DYT;
SetFillStyle(SolidFill,Black) ;
Bar(Xc,Yc,Xc+DXT-l,Yc+DYT-l);
SetColor(White) ;
SetWriteMode(NormalPut) ;
OutChar(Xc,Yc+DYT,N,DXT/MaxW,DXT/(MaxH+5)) ;
SetColor(Yellow) ;
SetWriteMode(XORPut) ;
ShowMouse;
ChangeF := True end; {SetChar} {——————}
function Nedfvar x,y: Integer): Boolean;
(Возвращает TRUE и координаты узла, если мышь попала в его окрестности} var
Is: Boolean;
begin
Is := False;
у := YE;
repeat
X := XE;
repeat
Is := MouseIn(x-dXm,y-dYm,x+dXin,y+dYm);
if not Is then
inc(x,DXE) until Is or (x>XE2);
if not Is then
inc(y,DYE) until Is or (y>YE2) ;
Ned := Is end; {Ned} {——————}
Procedure MouseInNed;
{Проверяет отметку мышью узла сетки} var
XM,YN: Integer;
begin
if not Ned(XN,YN) then
Exit; /Яе попали в узел} HideMouse;
while MousePressed do;
MouseGotoXY(XN,YN) ;
if not MPF then
begin /Запоминаем узел} MPF := True;
XOg := XN;
YOg := YN;
Xlg := XOg Ylg :- YOg;
SetColor(Yellow) ;
SetWriteMode(XORPut);