inc (xx2,dx) ;
if yyl>yl then dec(yyl,dy);
if yy2<y2.then inc(yy2,dy) ;
Delay(Pause) end;
if Play then NoSound;
end;
SetPageWindow(ActivePage,XI,Yl,X2,Y2,Bord,Header,Clip) end; {SetWindow} /—————_———_—____——;
Procedure WindMoveRel(Page: Byte; DX,DY: Integer; var Buf; ClipW: Boolean);
{Смещает окно относительно прежнего положения:
PAGE - номер страницы;
DX,DY- приращения координат левого верхнего угла;
BUF - вид экрана без окна;
CLIPW- признак отсечки изображения} чах
X,Y: Byte;
begin
if Page<=MaxPage then with Pages[Page] do begin
X := Lo(WBondUp) ;
Y := Hi(WBondUp) ;
if X+DX<1 then
X := 1 else if X+DX>MaxChar then
X := MaxChar else
X := X+DX;
if Y+DY<1 then Y := 1
else if Y+DY>MaxLine then
Y := MaxLine else
Y := Y+DY;
WindMoveTo(Page,X,Y,Buf,ClipW) end end; {WIndMovRel} ^_____________________——;
Procedure WindMoveTo(Page,X,Y: Byte; var Buf; ClipW: Boolean);
{Перемещает окно в новое положение:
PAGE - номер страницы,' X,Y - новые координаты левого верхнего угла;
BUF - вид экрана без окна;
CLIPW- признак отсечки изображения} var
X2,Y2,LX,LY: Byte;
Сор: array [1..4OOO] of Byte;
begin
if (X in [1..MaxChar]) and (Y in [1..MaxLine])
and (Page<=MaxPage) then with Pages[Page] do begin {Копируем окно в буфер Сор}
SaveWind(Page,Cop,LX,LY);
{Восстанавливаем вид страницы}
MoveToScreen (Buf, VMP [Page] ^PageSize);