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} ^———————————_—.———;