/-—.————————;

Function GraphCooY(Y: Byte): Integer;

{Возвращает графическую координату по заданной вертикальной текстовой координате) begin

if FontoNIL then

GraphCooX :- pred(Y)*YF

else

GraphCooY := -1 end; {GraphCooY} ^————————————————;

Procedure GraphWriteOn;

{Переназначает стандартные каналы ввода/вывода на процедуры GraphWrite и -GraphReadf begin

if not ChangeWR then begin

Move(Output,OldOut,SizeOt(Output)) ;

with TextRec(Output) do begin

OpenFunc :== SZero;

CloseFunc := @Zero;

FlushFunc := OGraphWrite;

InOutFunc :" SGraphWrite end;

Move(Input,Oldlnp,SizeOf(Input)) ;

with TextRec(Input) do begin

OpenFunc := @Zero;

CloseFunc := @Zero;

FlushFunc :" SFlush;

InOutFunc := @GraphRead end;

ChangeWR := True end end; {GraphlfrlteOn} {„. ———————.——————;

Procedure GraphWriteOff;

(Восстаяаливает стандартные каналы ввода/вывода) begin

if ChangeWR then begin

Move(OldOut,Output,SizeOf(Output)) ;

Move(Oldlnp,Input,SizeOf(Input));

ChangeWR := False end end; I Graph»rlteOff} ^————————————————;

Procedure SetFont(Fnt: Pointer; X,Y: Byte) ;

{Устанавливает текущий шрифт для текстового ввода/вывода! begin

Font := Fnt;

MaxChar := succ(GetMaxX) div X;

MaxLine :== succ (GetMaxY) div У;

XF := X;

YF :- Y;

Window(1,l,MaxChar,MaxLine) end; {SetFont} _.————————————————^