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);