Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Полностью про Pascal.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
333.82 Кб
Скачать

4. Вывод текста

Описываемые ниже стандартные процедуры и функции поддерживают вывод текстовых сообщений в графическом режиме. Это не одно и то же, что использование процедур Write или Writeln. Дело в том, что специально для графического режима разработаны процедуры, обеспечивающие вывод сообщений различными шрифтами в горизонтальном или вертикальном направлении, с изменением размеров и т.д. Однако в стандартных шрифтах, разработанных для этих целей фирмой Borland, отсутствует кириллица, что исключает вывод русскоязычных сообщений.

С другой стороны, процедуры Write и Writeln после загрузки в память второй половины таблицы знакогенератора (а эта операция легко реализуется в адаптерах EGA и VGA) способны выводить сообщения с использованием национального алфавита, но не обладают мощными возможностями специальных процедур.

Ниже описываются стандартные средства модуля Graph для вывода текста.

Процедура OutText.

Выводит текстовую строку, начиная с текущего положения указателя. Заголовок:

Procedure OutText(Txt: String);

Здесь Txt - выводимая строка.

При горизонтальном направлении вывода указатель смещается в конец выведенного текста, при вертикальном - не меняет своего положения. Строка выводится в соответствии с установленным стилем и выравниванием. Если текст выходит за границы экрана, то при использовании штриховых шрифтов он отсекается, а в случае стандартного шрифта не выводится.

Процедура OutTextXY.

Выводит строку, начиная с заданного места. Заголовок:

Procedure OutTextXY (X,Y: Integer; Txt: String);

Здесь X, Y - координаты точки вывода; Txt - выводимая строка. Отличается от процедуры OutText только координатами вывода. Указатель не меняет своего положения.

Для задания направления выдачи текста можно использовать константы:

const

HorizDir = 0;{Слева направо}

VertDir = 1;{Снизу вверх}

Стандартные процедуры OutText и OutTextXY способны выводить сообщения лишь в двух возможных направлениях - слева направо или снизу вверх. Зная структуру векторных шрифтов, нетрудно построить собственные процедуры вывода, способные выводить сообщения в любом направлении.

Каждый шрифт способен десятикратно изменять свои размеры. Размер выводимых символов кодируется параметром Size, который может иметь значение в диапазоне от 1 до 10 (точечный шрифт - в диапазоне от 1 до 32). Если значение параметра равно 0, устанавливается размер 1, если больше 10 - размер 10. Минимальный размер шрифта, при котором еще отчетливо различаются все его детали, равен 4 (для точечного шрифта - 1).

5 . Построение графиков функций

И в заключении рассмотрим программу построения на экране компьютера графиков функции. В качестве примера построим график функции y = x2-3 на отрезке [-3, 3]. Напишем программу построения графика.

program parabola;

Uses graph;

Var

Gd, Gm : integer;

x, y : real; i : integer;

Begin

InitGraph(Gd, Gm, ‘ c: ‘);

if GraphResult <> grOK then Halt(1);

line(10, 100, 300, 100);

line(170, 100, 170, 97);

line(160, 10, 160,190);

line(160, 90, 163, 90);

for i := -30 to 30 do begin

x := 0.1 * i; y := x*x-3;

putpixel(round(160+ 10*x), round(100 - 10*y), white)

end;

Readln;

CloseGraph

End.

Вид экрана в результате выполнения данной программы на компьютере показан на рис. 6.