HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail | |||
| |||
|
Turbo Pascal Documentation | ||||
Функция: Пересылает строку на устройство вывода в то место, в котором находится текущий указатель. Описание: ОutТехt(строка : string) Примечания: Параметр "строка" выводится в месте распо- ложения текущего указателя. При этом используются текущие параметры выравнивания. Если строка слишком длинная и не умещается на экране или в текущей области просмотра, то она усекается. Если активен шрифт, используемый по умолчанию (шрифт с побитовым отображением), а строка слишком велика и не умещается на экране, то она не выводится. В данной процедуре используется шрифт, установленный процедурой SetTextStyle. Чтобы обеспечеить совместимость вы- полняемого кода при использовании нескольких шрифтов, для определения размеров строки используйте вызовы процедур ТехtWidth и ТехtHeight. Процедура OutText использует параметры вывода, установ- ленные процедурой SetTextJustify (выравнивание, центрирова- ние, вращение на 90 градусов и т.д.). Текущий указатель изменяется процедурой OutText только в том случае, если направление вывода текста горизонтальное и задано выравнивание по левой границе. Направление вывода текста (горизонтальное или вертикальное) задается с помощью процедуры SetTextStyle, а выравнивание - с помощью процедуры SetTextJustify (текущий указатель слева от строки, центриру- ется или расположен справа от строки, записывается наж стро- кой, под строкой). Если параметр горизонтального выравнивания текста, ус- тановленный с помощью процедуры SetTextJustify, равен Cen- terText или RightText, то Y элементов текущего указателя (СРY) будут смещены следующим образом: CPY := CPY + TextHeight(TextString) Если параметр горизонтального выравнивания текста, ус- тановленный с помощью процедуры SetTextJustify, равен Left- Text, то Х элементов текущего указателя (СРХ) будут смещены следующим образом: CPX := CPX + TextWidth(TextString) В следующем примере в блоке 1 выводится ABCDEF и теку- щий укахатель перемещается (текст выводится горизонтально и выравнивается слева), в блоке 2 выводится ABC а DEF записы- вается справа над этим текстом, так как текст выравнивается справа, аналогично, в блоке 3 выводится текст ABC и над ним справа выводится DEF (так как текст выводится вертикально). 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'); { СР изменяется } { блок 2 } MoveTo(100, 50); SetTextStyle(DefaultFont, HorizDir, 1) { разм. симв. =1 } SetTextJustify(RightText, TopText); OutText('ABC'); { CP изменяется } OutText('DEF'); { СР изменяется } { блок 3 } MoveTo(100, 100); SetTextStyle(DefaultFont, VerDir, 1) { разм. симв. =1 } SetTextJustify(LeftText, TopText); OutText('ABC'); { CP не изменяется } OutText('DEF'); { СР не изменяется } Readln; CloseGraph; end. Процедурой OutTextXY текущий указатель никогда не изме- няется. Выбираемый по умолчанию шрифт (шрифт с битовым образом 8х8) не границе экране не отсекается. В этом случае, если какая-либо часть строки не может быть помещена на экран, текст просто не выводится. Следующие операторы, например, не приведут к выводу текста: SetViewPort(0, 0, GetMaxX, GetMaxY, ClipOn); SetTextJustify(LeftText, TopText); OutTextXY(-5, 0); { эта точка выходит за границу экрана } OutText(GetMaxX -1, 0, 'ABC'); { часть 'A' } { 'BC' не помещается } Однако "штриховые" шрифты отсекаются на границе экрана. Аналогичная процедура имеется в версии 2.0 Турбо-Си. Ограничения: Должен использоваться графический режим. Прочее: См. также процедуры OutTextXY, SetTextStyle, SetTextJustify, GetTextSettings, TextHeight, TextWidth. Пример: uses Graph; var Gd, Gm : integer; begin Gd := Detect; InitGraph(gd, Gm, ''); if GraphResult <> grOk then Halt(1); OutText('Легко использовать'); Readln; CloseGraph; end.
Функция: Пересылает строку на устройство вывода. Описание: OutTextXY(Х,Y : integer; текст_строка : string) Примечания: Строка, заданная параметром "текст_строка", выводится в точке (Х,У). Если строка слишком длинная и выхо- дит за пределы экрана или текущей области просмотра, то она усекается. Процедура OutText используется для вывода текста в мес- те расположения текущего указателя, процедура OutTextXY ис- пользуется для вывода текста в любом заданном месте экрана. Прочее: См. также процедуры OutText, SetTextStyle, Set- TextJustify, GetTxtSettings, TextHeight, TextWidth. Пример: uses Graph; var Gd, Gm : integer; begin Gd := Detect; InitGraph(gd, Gm, ''); if GraphResult <> grOk then Halt(1); MoveTo(0,0); OutText('Неэфффективно'); OutTextXY(GetX,GetY,'Также неэффективно'); OutTextXY(0,0,'Превосходно!');{ заменяет выведенное ранее } Readln; CloseGraph; end. |
HOME |