Язык:
Русский
English
OutText (процедура) (модуль Graph)
Посылает строку на устройство вывода в позиции текущего указателя.
Объявление
Procedure OutText(TextString : String);
Режим
Real, Protected
Замечания
Отображает TextString в позиции текущего указателя (CP), используя текущие установки выравнивания.
Строка TextString усекается на границе области просмотра, если она слишком длинная. Если активен один из штриховых шрифтов, то строка TextString усекается на границе экрана, если она слишком длинная.
Если заданный по умолчанию (растровый) шрифт активен, и строка слишком длинная, чтобы уместиться на экране, то текст не отображается вообще.
Процедура OutText использует шрифт, установленный SetTextStyle. Чтобы поддерживать совместимость кода при использовании нескольких шрифтов, используйте процедуры TextWidth и TextHeight для определения размера строки.
Процедура OutText использует опции вывода, установленные с помощью процедуры SetTextJustify.
CP модифицируется процедурой OutText только в том случае, если текст выводится горизонтально с левым выравниванием. Направление вывода устанавливается с помощью SetTextStyle, а выравнивание текста устанавливается с помощью SetTextJustify.
Пример установок SetTextStyle и SetTextJustify:
Program CPupdate;
Uses Graph;
Var Driver, Mode : Integer;
Begin
Driver:=Detect;
InitGraph(Driver, Mode, '');
If GraphResult < 0 Then Halt(1);
{ #1 }
MoveTo(0, 0);
SetTextStyle(DefaultFont, HorizDir, 1); { Размер символов = 1 }
SetTextJustify(LeftText, TopText);
OutText('ABC'); { CP обновляется }
OutText('DEF'); { CP обновляется }
{ #2 }
MoveTo(100, 50);
SetTextStyle(DefaultFont, HorizDir, 1); { Размер символов = 1 }
SetTextJustify(RightText, TopText);
OutText('ABC'); { CP обновляется }
OutText('DEF'); { CP обновляется }
{ #3 }
MoveTo(100, 100);
SetTextStyle(DefaultFont, VertDir, 1); { Размер символов = 1 }
SetTextJustify(LeftText, TopText);
OutText('ABC'); { CP НЕ обновляется }
OutText('DEF'); { CP НЕ обновляется }
ReadLn;
CloseGraph;
End.
Учтите, что процедура OutTextXY НЕ обновляет CP.
Заданный по умолчанию шрифт (8x8) не отсекается на краю экрана. Вместо этого, если любая часть строки выходит за пределы экрана, текст не выводится вообще. Например, следующие операторы не дают никакого эффекта:
SetViewPort(0, 0, GetMaxX, GetMaxY, ClipOn);
SetTextJustify(LeftText, TopText);
OutTextXY(-5, 0, 'Test'); { -5,0 за пределами экрана }
OutTextXY(GetMaxX - 1, 0, 'ABC'); { Часть 'A' и вся строка 'BC' }
{ находится за пределами экрана }
Тем не менее, векторные шрифты отсекаются на краю экрана.
Ограничения
Нужно быть в графическом режиме.