PW^AW;
W,op: Word;
Procedure RepChar;
{Повторяет символ в окне повтора} var
k: Word;
begin
{Стираем старое изображение}
PutIniagetXI^YR.WR-^NormalPut) ;
{Формируем новое}
SetWriteMode(NormalPut) ;
SetColor(White) ;
for k := 1 to NVecE do with VecE[k],FontPara do
Line(XR+Xl div DXE,YR+MaxH+LowerMargin-(YB-Y1) div DYE,XR+X2 div DXE, YR+MaxH+LowerMargin-(YB-Y2) div DYE);
end;
{——————}
Function Tabi(var N: Byte): Boolean;
{Выбирает символ из таблицы. Возвращает номер символа или False для правой кнопки} var
X,Y, k,xx,yy,ddx,ddy: Integer;
NX,NY,NXX,NYY: Byte;
Sz: Word;
P: Pointer;
begin
HideMouse;
ddx :" DXT div 2; {Половина ширины}
day :" DYT div 2; {Половина высоты)
X :« XT+ddx; /'Начальный символ)
У :- YT+ddy;
NX :- 0; {Номер столбца)
NY :« 0; {Номер строки)
MouseGotoXy(X,Y) ;
MouseWindow(X,y,X+16*DXT,Y+16*DyT);
{Выделяем символ)
Sz :- ImageSize(X-ddx,Y-ddx,X+ddx,Y+ddx) ;
GetMem(P,sz);
Getlmage(X-ddx,Y-ddy,X+ddx,X+ddy,P*) ;
PutImage(X-ddx,Y-ddy,PA,NotPut) ;
while MousePressed do; ^Сбрасываем кнопку)
{Перемещаемся по таблице до нажатия на кнопку мыши}
while not MousePressed do begin
GetMouseState(k,xx,yy); {Текущее положение} NXX := (xx-XT) div DXT,-NYY := (yy-YI) div DYT;
if (NXONXX) or (NYONYY) then
begin {Перешли в новую клетку} Putlmage(X-ddx,Y-ddy,P",NormalPut) ;
Window(l,l,80,25);
GotoXY(60,25) ;
TextColor(White) ;
TextBackGround(LightRed);
Write(NYY*16+NXX:4,' ');
NX :== NXX;
NY := NYY;
X :» XT+NX*DXT+ddx;
У :« YT+NY*DYT+ddy;
Getlmage(X-ddx,Y-ddy,X+ddx,Y+ddy,P^ ;