Процедура SetTextStyle используется для изменения шрифта выводимого текста, направления вывода, а также величины символов.
Процедура SetTextStyle в Паскаль.
Строка №3. В программе мы будем использовать цикл, поэтому необходимо задать переменную, которая будет использоваться в качестве счетчика для цикла.
Строка №20. Устанавливаем цвет для выводимого текста.
В строке №21 записываем цикл, и затем записываем 3 оператора, которые будут выполняться в цикле (строка №23, №24, №25). Напомню, что если в цикле необходимо выполнить больше одного оператора, то их необходимо заключить в операторные скобки begin…end (строка №22 и №26).
В строке №23 записываем первый оператор. Это процедура SetTextStyle. Эта процедура определяет шрифт выводимого текста, направление выводимого текста, а также величину букв. Первый параметр этой процедуры определяет шрифт выводимого текста (в нашем примере первый параметр будет принимать значение переменной «i» и благодаря циклу изменяться от 0 до 10).
Второй параметр описывает направление вывода текста. Этот параметр может принимать только 2 значения – 0 или 1. Если стоит 0 (как в нашем примере), то текст будет выводиться слева направо. Если стоит 1, то текст будет выводиться сверху вниз.
Третий параметр определяет величину символов. Он может принимать значения от 1 до 10 (1 – самый маленький размер, 10 – самый большой размер). Ниже представлена таблица шрифтов и соответствующих им констант.
Первый шрифт в этой таблице применяется по умолчанию в среде Free Pascal. Также следует сказать, что это единственный шрифт, которым вы можете пользоваться в стандартной сборке компилятора Free Pascal. Вне зависимости от того, какой шрифт вы укажите в процедуре SetTextStyle, текст будет выводиться только точечным шрифтом DefaultFont. Для того чтобы можно было выводить текст другими шрифтами, их необходимо загрузить в папку с программой. Для этого скачиваем архив со шрифтами, распаковываем его и засовываем в папку C:\FPC\2.2.2\bin\i386-win32\.
Таким образом, в папке C:\FPC\2.2.2\bin\i386-win32\ у вас появится 10 файлов с расширением .CHR.
Теперь мы можем использовать 11 различных шрифтов (один – стандартный, и 10 – взятых из компилятора Turbo Pascal).
В строке №24 выводим на экран слово «pascal». Благодаря циклу это слово будет выведено на экран 11 раз. Причем все 11 слов будут выведены один за другим, т.к. процедура OutText выводит текст на экран и переносит указатель в конец этого текста.
Строка №25. Все 11 слов будут выводиться с задержкой в 1 секунду.
Дополнение к материалу.
Следует учитывать тот факт, что если вы запускаете программу из среды Free Pascal (Ctrl+F9), то шрифты должны находиться в папке bin\i386-win32. Если же вы сначало компилируете программу, а затем запускаете скомпилированный EXE-файл, то шрифты должны находиться в одной папке с программой (файлом EXE). Т.е. если вы переносите программу в другую дирректорию (или на другой компьютер), то и файлы шрифтов тоже необходимо перенести.
Шрифт DefaultFont (0) входит в модуль Graph и его можно использовать в любой момент. Этот шрифт является матричным, поэтому изменение размеров символов, выводимых этим шрифтом, сильно сказывается на качестве текста.
Шрифты с 1 по 10 являются векторными и при изменении размеров текста, его качество не изменяется.
Шрифты с 0 по 4 имеют константу, которую можно использовать в процедуре SetTextStyle вместо числовой константы. Например, строку SetTextStyle (3,0,4) можно записать так SetTextStyle (SansSerifFont,0,4). Шрифты с 5 по 10 не имеют констант, поэтому для их использования можно применять только числовую константу.
Шрифт DefaultFont (0) не имеет файла, т.к. он уже включен в модуль Graph. Шрифты с 1 по 10 имеют файлы, поэтому для использования этих шрифтов соответствующие им файлы должны находиться в папке C:\FPC\2.2.2\bin\i386-win32.
Предыдущая статья : Вывод текста на экран в графическом режиме.
Оглавление : Уроки Паскаль. Графика.
Следующая статья : Русские шрифты в графическом режиме.
Комментарии
Архив со шрифтами скачать не удалось, говорится что он перенесён в другое место, ошибка 500, измените пожалуйста.
Спасибо, до свидания.