Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Умножение, деление, сложение, вычитание вещественных чисел в Pascal.

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

GotoXY в Pascal.

Процедура GotoXY используется в Pascal для перевода курсора в нужную позицию на экране. Для этой процедуры указываются координаты. После указания процедуры GotoXY в коде программы сообщение будет выводиться на экран в тех координатах, которые мы ...

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

Тип данных Real.

Тип REAL (вещественный). Число типа 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 # ee213d 27.12.2016 13:11
:oops:
LOL!!!
Ответить
 

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальГрафика в ПаскальПроцедура SetUserCharSize.