Основы современных компьютерных технологий

         

Работа с текстом


В графическом режиме для вывода на экран текста используются процедуры: OutText(TextString: string), выводящая строку текста с текущего положения СР, и OutText(X, Y, Text), где X, Y - координаты точки начала вывода текста, Text - константа или переменная типа string. Определенные проблемы создает вывод численных данных, так как в модуле GRAPH нет специально предназначенных для этого процедур. Для подобного вывода необходимо перевести численную константу в строковую, например, с помощью процедуры Str.

Установить нужный шрифт вывода можно процедурой SetTextStyle(Font: word; Direction: word; CharSize: word), где Font - выбранный шрифт, задаваемый константами из табл. 27.6, Direction - направление вывода (горизонтальное или вертикальное), задаваемое константами из табл. 27.7, CharSize - размер выводимых символов.

Таблица 27.6

Типы шрифтов



КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
DefaultFont 0 8 x 8-битовый шрифт
TriplexFont 1 Штриховой шрифт
SmallFont 2 Малый шрифт
SansSerifFont 3 Шрифт SansSenf
GothicFont 4 Готический шрифт

Таблица 27.7

Ориентация текста

КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
HorizDir 0 Слева направо
VertDir 1 Снизу вверх

Таблица 27.8

Типы линий

КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
LeftText 0 Выровнять влево
CenterText 1 Центрировать по горизонтали
RightText 2 Выровнять вправо
BottomText 0 Выровнять вниз
CenterText 1 Центрировать по вертикали
TopText 2 Выровнять вверх

387

Для выравнивания текста необходимо использовать процедуру SetTextJastify (Horiz, Vert: word). Выравнивание относительно СР выполняется по вертикали и по горизонтали с помощью параметров Horiz и Vert (табл. 27.8).

В следующем примере приведена программа, выводящая заставку. Заставка представляет собой фразу "Демонстрация заставки", напечатанную коричневыми буквами обычного размера и синими буквами увеличенного размера; по периметру экрана нарисованы три разноцветных прямоугольника линиями различной толщины и стиля.


  • Program Zast;


  • Uses Graph, Crt;


  • Var DriverVar, ModeVar:integer;


  • xm.ym :integer;


  • с :char;


  • Begin


  • { Инициализация графического режима }


  • DriverVar:=Detect;


  • InitGraph(DriverVar, Modevar,'');


  • xm:=GetMaxX; ym:=GetMaxY;


  • { Вывод прямоугольника, нарисованного зеленой сплошной жирной линией }


  • SetColor(2);Setl_ineStyle(0,0,2);


  • Rectangle(0,0,xm,ym);


  • { Вывод прямоугольника, нарисованного голубой сплошной тонкой линией }


  • SetColor(S); SetLineStyle(0,0,1);


  • Rectangle(20,20,xm-20,ym-20);


  • { Вывод прямоугольника, нарисованного красной пунктирной тонкой линией }


  • SetColor(4); SetLineStyle(3,0,1);


  • Rectangle(40,40,xm-40,ym-40);


  • { Вывод синего текста с увеличенным размером букв }


  • SetColor(1); SetTextStyle(0,0,2);


  • OutTextXY( 100,60,'Демонстрация заставки');


  • { Вывод коричневого текста с обычным размером букв }


  • SetColor(6); SetTextStyle(0,0,1);


  • OutTextXY( 150,100,'Демонстрация заставки');


  • { Ожидание нажатия клавиши }


  • c:=readkey;


  • { Закрытие графического режима }


  • CloseGraph;


  • End.


  • 388

    387 :: 388 :: Содержание


    Содержание раздела