Пример 8.3.
Эта программа демонстрирует возможности изображения символов
в графическом режиме (требует наличия в текущем каталоге
файлов шрифтов *.chr).
Демонстрация
Внимание: будет работать только если Turbo Pascal установлен в каталог C:\TP и каталог C:\TP\BGI содержит необходимый файл egavga.bgi.
Program Symbols;
Uses Graph, Crt; {подключение к программе библиотек Crt и Graph}
Var
Key : Char;
Font : String; {названия шрифтов }
Size, MyFont : Word;
GrDriver, GrMode : Integer; {тип и режим работы графического драйвера}
BEGIN
GrDriver := Detect; {автоопределение типа графического драйвера}
InitGraph(GrDriver, GrMode, 'C:\TP\BGI'); {установка графического режима }
If GraphResult <> GrOk then Halt;
{-----------------------------------------------------------}
SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(140, 80, 'Меняем размер символов');
OutTextXY(220, 100, 'и цвет фона');
For Size := 0 to 13 do {Size - цвет фона и размер символов}
begin SetBkColor(Size); {изменение цвета фона }
Rectangle(135, 425, 470, 450); {рисование рамки }
SetTextStyle(DefaultFont, HorizDir, 1);
OutTextXY(150, 435, 'Для продолжения нажмите любую клавишу !');
SetTextStyle(DefaultFont, HorizDir, Size);
OutTextXY(250-Size*15, 200, 'HELLO');
Key := ReadKey; ClearViewPort;
end; ReadLn;
{-----------------------------------------------------------}
SetBkColor(LightGray); SetColor(Red);{цвет фона и цвет рисования }
SetTextStyle(DefaultFont, HorizDir, 2);
{установка шрифта, направления и размера символов}
OutTextXY(70, 100, 'Располагаем строку горизонтально');
SetTextStyle(DefaultFont, VertDir, 2);
OutTextXY(310, 150, 'и вертикально');
Key:=ReadKey; ClearViewPort;
{-----------------------------------------------------------}
SetTextStyle(DefaultFont, HorizDir, 2);
{установка шрифта, направления и размера символов}
OutTextXY(220, 30, 'Меняем шрифты');
For MyFont := 0 to 9 do {цикл по номерам шрифтов}
begin
Case MyFont of
0: Font:='0 - Точечный (Default)';
1: Font:='1 - Утроенный (Triplex)';
2: Font:='2 - Уменьшенный (Small)';
3: Font:='3 - Прямой (SansSerif)';
4: Font:='4 - Готический (Gothic)';
5: Font:='5 - Рукописный';
6: Font:='6 - Курьер';
7: Font:='7 - Красивый (Tаймс Italic)';
8: Font:='8 - Таймс Roman';
9: Font:='9 - Курьер увеличенный';
end;
SetTextStyle(MyFont, HorizDir, 2);
OutTextXY(40, 70+MyFont*35, 'abcdfxyz 0123456789');{вывод текста}
SetTextStyle(DefaultFont, HorizDir, 1);
OutTextXY(410, 80+MyFont*35, Font) {вывод названия шрифта}
end;
OutTextXY(380, 60, 'N шрифта Описание'); ReadLn;
CloseGraph; {закрытие графического режима}
END.