Выводимые
на экран изображения лучше всего
сопровождать пояснительным текстом. В
графическом режиме для этого используются
процедуры OutText
и OutTextXY.
Процедура OutText(Textst:
string)
выводит строку текста, начиная с текущего
положения указателя. Например, OutText(‘нажмите
любую клавишу’); Недостаток этой процедуры
– нельзя указать произвольную точку начала
вывода.
В
этом случае
удобнее пользоваться процедурой OutTextXY(x,
y:
integer,
Textst:
string),
где x,
y
– координаты точки начала вывода текста, Textst
– константа или переменная типа String.
Например, OutTextXY(60,
100, ‘Нажмите любую клавишу’)
В модуле Graph
нет процедур, предназначенных для
вывода численных данных. Поэтому для вывода
чисел сначала нужно преобразовать их в
строку с помощью процедуры Str,
а затем подключить посредством ‘+’ к
выводимой строке.
Например:
Max:=34.56;
Str(Max
: 6 : 2, Smax);{результат
преобразования находится в Smax}
OutTextXY(400,
40, ‘Максимум=’ + Smax);
Для удобства преобразование
целочисленных и вещественных типов данных
в строку лучше осуществлять
специализированными пользовательскими
функциями IntSt
и RealSt:
function
IntSt(Int: integer) : string;
var
Buf : string[10];
begin
Str(Int,
Buf);
IntSt := Buf;
end;
function
RealSt(R : real, Dig, Dec : integer) : string;
var
Buf: string[20];
begin
Str(R : Dig : Dec, Buf);
RealSt := Buf;
end;
Эти функции указываются как параметры в
процедурах OutText
и OutTextXY.
Например: x:=
5.295643871;
OutTextXY(20,
20, ‘x=’+RealSt(x,11,9));
В
результате на экране появится x=5.29564443871
Вывод
текста в графическом режиме может
осуществляться различными стандартными (таблица
5) и пользовательскими шрифтами. Различают
два типа шрифтов: растровые и векторные.
Растровый шрифт задается матрицей точек, а
векторный – рядом векторов, составляющих
символ.
По умолчанию после инициализации
графического режима устанавливается
растровый шрифт DefaultFont,
который, как правило, является шрифтом,
используемым драйвером клавиатуры.
Стандартные
шрифты
Шрифт |
Файл |
TriplexFont |
Trip.chr |
SmallFont |
Litt.chr |
SansSerifFont |
Sans.chr |
GothicFont |
Goth.chr |
таблица 5
Большинство стандартных шрифтом не
содержат русских символов. Разработка же
собственных шрифтов – довольно сложный и
трудоемкий процесс. Он может быть ускорен,
если воспользоваться специализированными
пакетами TurboFont,
BgiToolKit.
Установить
нужный шрифт можно процедурой SetTextStyle(Font,d,c:word),
где Font
– выбранный шрифт,
d
– направление ( горизонтальное или
вертикальное), с – размер выводимых
символов. Возможные значения двух первых
параметров представлены в таблице 5. При
организации вертикального вывода
необходимо учитывать, что если не
установить точку начала вывода с помощью MoveTo,
то текст начинается с нижней строки экрана
и продолжается вверх. Величина символов
устанавливается коэффициентом с. Если с=1,
то символ строится в матрице 8´8,
если с= 2, то матрица 16´16
и т.д. до 10-кратного увеличения.
Например
выведем 2 строки (вертикальную и
горизонтальную) шрифтом DefaultFont
разной величины:
SetTextStyle(0,11);
{буквы стандартной величины}
OutTextXY(200,200,
‘Вертикальная строка’);
SetTextStyle(0,0,2);
{размер букв увеличен}
OutTextXY(200,220,
‘Горизонтальная строка’);
В некоторых случаях требуется в
пределах одной строки
выводить символы выше или ниже друг
друга. Выравнивание текста выполняется с
помощью процедуры SetTextJustify(Horiz,
Vert
: word)
как по вертикали, так и по горизонтали
посредством задания параметров Horiz
и Vert
(возможные значения в таблице 6).
Параметры
выравнивания
Параметр |
Значение |
Комментарий |
Горизонтальное
выравнивание |
||
LeftText |
0 |
Выровнять
влево |
CenterText |
1 |
Центрировать |
RightText |
2 |
Выровнять
вправо |
Вертикальное
выравнивание |
||
BottomText |
0 |
Переместить
вниз |
CenterText |
1 |
Центрировать |
TopText |
2 |
Переместить
вверх |
таблица
6
В
качестве примера выведем x2:
SetTextJustify(1,
1);
OutTextXY(100,100,
‘X’);
SetTextJustify(1,
0);
OutTextXY(108,100, ‘2’);
<<<Предыдущий урок | К содержанию | Следующий урок>>>