Тексты программ_____ ______________________ _____________283
TextCooX := round(X/MaxChar)+1 else
TextCooX := 0 end; {TextCooX}
^——————————.————;
Function TextCooX(Y: Integer): Byte;
(Возвращает ближайшую текстовую координату по заданной вертикальной графической координате! begin
if (FontoNIL) and (Y in [0. .GetMaxY]) then TextCooY := round(Y/MaxLine)+1
else
TextCooY := 0 end; {TextCooY} ^__————_——————————;
Function WhereX: Byte;
(Возвращает горизонтальную координату курсора} begin
if FontOMIL then
WhereX := Xt-Xlt+1 else
WhereX := 0 end; {WhereX} ^__——————————————/
Function WhereY: Byte;
^Возвращает горизонтальную координату курсора} begin
if FontOMIL then
WhereX := Yt-Ylt+1 else
WhereY := 0 end; (fihereY} ^_-_———————————————;
Procedure Window(XI,Y1,X2,Y2: Byte);
{Устанавливает текстовое окно} begin
if (FontoNIL) and (XI in [1. .MaxChar]) and (Yl in [1..MaxLine]) and (X2 in [1..MaxChar]) and (Y2 in [1..MaxLine]) and (X2>=X1) and (Y2>=Y1) then begin
Xt := XI;
Yt := Yl;
Xg :== XF*pred(Xt) ;
Yg := YF*pred(Yt) ;
Xlt := XI;
Ylt := Yl;
X2t := X2;
y2t := Y2;
Xlg := XF*pred(Xlt) ;
Ylg := YF*pred(Ylt) ;
X2g := XF*X2t;
Y2g := YF*Y2t end end; {Window} ^————————————————;
Procedure SetWindow(XI,Y1,X2,Y2,Border: Byte;
Header: String; Clip,Build,Play: Boolean);
(Устанавливает окно, очищает его и обводит рамкой}