Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

Циклы и массивы

Использование массивов и функций в качестве формального параметра.

Формальным параметром функции может быть не только переменная скалярного типа, но и идентификатор переменной структурированного типа данных.

Итерационные циклы.

Если число повторений заранее не известно и решение о завершении цикла принимается на основе анализа некоторого условия, то такой повторяющийся вычислительный процесс называется итерационным циклом.

...

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

 Процедура SetTextStyle в Паскаль.





Program Graphika18;
Uses Crt, Graph;
var i:integer;
Procedure Graphinterface;
Var  gd, gm, error:Integer;
s:String;
Begin
gd:=detect;
s:='';
Initgraph(gd,gm,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error)
end
end;
begin
Graphinterface;
setcolor(3);
for i:=0 to  10 do
begin
settextstyle (i,0,4);
outtext ('pascal ');
delay(1000);
end;
readln;
closegraph
end.



Строка №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 – самый большой размер). Ниже представлена таблица шрифтов и соответствующих им констант.

shrifty v pascal.

Первый шрифт в этой таблице применяется по умолчанию в среде Free Pascal. Также следует сказать, что это единственный шрифт, которым вы можете пользоваться в стандартной сборке компилятора Free Pascal. Вне зависимости от того, какой шрифт вы укажите в процедуре SetTextStyle, текст будет выводиться только точечным шрифтом DefaultFont. Для того чтобы можно было выводить текст другими шрифтами, их необходимо загрузить в папку с программой. Для этого скачиваем архив со шрифтами, распаковываем его и засовываем в папку C:\FPC\2.2.2\bin\i386-win32\.

shrifty v pascal

Таким образом, в папке C:\FPC\2.2.2\bin\i386-win32\ у вас появится 10 файлов с расширением .CHR.
Теперь мы можем использовать 11 различных шрифтов (один – стандартный, и 10 – взятых из компилятора Turbo Pascal).

В строке №24 выводим на экран слово «pascal». Благодаря циклу это слово будет выведено на экран 11 раз. Причем все 11 слов будут выведены один за другим, т.к. процедура OutText выводит текст на экран и переносит указатель в конец этого текста.

Строка №25. Все 11 слов будут выводиться с задержкой в 1 секунду.

SetTextStyle.

SetTextStyle..


Дополнение к материалу.

Следует учитывать тот факт, что если вы запускаете программу из среды 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.


Предыдущая статья : Вывод текста на экран в графическом режиме.

Оглавление : Уроки Паскаль. Графика.

Следующая статья : Русские шрифты в графическом режиме.


Комментарии  

 
0 # Сергей 28.11.2021 12:20
Здравствуйте!
Архив со шрифтами скачать не удалось, говорится что он перенесён в другое место, ошибка 500, измените пожалуйста.
Спасибо, до свидания.
 
 
0 # EVG 28.01.2022 07:35
а где там архив скачать, тут только инструкции
 
   ГлавнаяПаскальГрафика в ПаскальВключение графического режима.