end;

{Выводим ее}

Р :- Ptr(VMemory,C+FagePai-[8]*MaxChar*2);

MoveToScreen(Buf,P",s) end

end; (DelLine} /————————————————;

Procedure GotoXY(X,Y: Byte);

{Устанавливает курсор в активной странице! begin

with Pages[ActivePage] do

PutCursor(ActivePage,Lo(WBondUp)+X,Hi(WBondUp)+Y) end; {GotoXYf ^————————————————;

Procedure InsLine;

(Вставляет пустую строку в активной странице} var

k,

S, {Длина строки окна}

Y: Byte; ' (Номер строки с курсором}

С: Word; {Смещение а памяти для левой границы окна)

Buf: array [1..80,1..2] of Char; {Буфер строк!

Р: Pointer;

begin

with Pages[ActivePage] do begin

{Определяем положение в видеопамяти левой верхней границы окна} С := VMW[ActivePage*2]+PagePar[5]*2;

Y := PagePar[6]+Pred(WhereY) ;

S := (PagePar[7]-PagePar[5]+l)*2;

{Переносим по строкам} for К :•= PagePar[8]-l downfco Y do begin

Р := Ptr(VMemory,C+K*MaxChar*2) ;

MoveFromScreen(P'',Buf,s);

P := Ptr(VMemory,C+(K+l)*MaxChar*2);

MoveToScreen(Buf,Р",з) end;

{Готовим пустую строку} for К :° 1 to 80 do begin

Buf[k,l] := ' ';

Buf [It, 2] := chr(Attrib) end;

{Выводим ее} Р :- Ptr(VMeroory,C+Y*MaxChar*2) ;

MoveToScreen(Buf,V,s) end end; {InsLine} ^—.———————————————;

Procedure TextBackGround(Color: Byte);

(Устанавливает цвет фона в активной странице} begin

Pages[ActivePage].Attrib :~

(Pages[ActivePage].Attrib and $8F) or (Color and $7) shi 4);

it ActivePage=0 then

CRT.TextBackGround(Color) •nd; fPageTextBackGround} ^———————————_—.———;