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