Выводимые на экран изображения лучше всего сопровождать пояснительным текстом. В графическом режиме для этого используются процедуры 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´ и т.д. до 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’);