Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это ...

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

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

Вложенный арифметический цикл.

Под вложенным арифметическим циклом понимают такую алгоритмическую структуру, при которой в тело одного цикла с параметром включен другой цикл со своим параметром.

Рекурсивные вычислительные процессы.

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

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

Для того чтобы можно было выводить русские буквы необходимо установить русские шрифты. Для этого скачиваем архив с русскими шрифтами (в архиве их будет 8 штук). Затем распаковываем архив в папку с вашей программой C:\FPC\2.2.2\bin\i386-win32. Соглашаемся на замену файлов. Таким образом, из 10 файлов, которые мы загрузили в папку C:\FPC\2.2.2\bin\i386-win32 в прошлом уроке, 8 файлов мы заменили. В таблице ниже показано, какие шрифты поменялись на русские.

russkie shrifty v graficheskom rezhime pascal..

Таким образом, теперь мы можем выводить на экран русскоязычные сообщения с помощью шрифтов 1,2,3,4,6,8 и 9. Для наглядности напишем программу, которая выводит предложение «Язык программирования Паскаль».

Русские шрифты в Паскаль.


Program Graphika19;
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(11);
settextstyle (1,0,6);
outtext ('Язык ');
settextstyle (2,0,6);
outtext ('программирования ');
settextstyle (3,0,6);
outtext ('Паскаль ');
readln;
closegraph;
end.
 

В строке №20 указываем цвет для выводимых слов.

В строке №21 - №26 выводим на экран русские слова с помощью шрифтов №1, №2 и №3.

russkie shrifty v graficheskom rezhime pascal

russkie shrifty v graficheskom rezhime pascal.Дополнение к материалу.

Мы поместили шрифты в папку bin\i386-win32. Однако при таком раскладе они будут работать только в среде Free Pascal (т.е. если мы запустим программы из компилятора Free Pascal). Однако, если мы запустим программу с помощью скомпилированного файла graphika19.exe (например, при переносе программы на другой компьютер), то шрифты работать не будут. В этом случае следует поместить все шрифты в папку с самой программой.


Предыдущая статья : Процедура SetTextStyle.

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

Следующая статья : Процедура SetTextJustify.


Комментарии  

 
+3 # Bamsik 10.02.2012 22:11
Ура все работает.
Это просто чудо, особенно после того как пробуешь реализовать советы разных умников. А после этой статьи понятно становится что народ не в курсе этой проблемы.
Автор тебе большое спасибо. Я уже хотел все нафиг выкинуть как нашел эту статью.
ураааааааааааааааааааааааааааааааа!
 
 
+1 # Bamsik 12.02.2012 14:51
И еще сначала испытал небольшие трудности, но потом понял. Если вы создали exe файл то и шрифты нужно держать рядом с ним.
 
 
+1 # Alexei 01.07.2012 05:39
Поместил шрифты в папку bin\i386-win32 и в папку программы. Кракозябрики не исчезают, код - из примера на этой странице.
 
 
+2 # Progr 28.02.2014 10:25
При копировании с сайта получаются крокозябры в коде Паскаля. Нужно в тексте программы правильно ввести и все будет работать. :-)
 
   ГлавнаяПаскальГрафика в ПаскальРусские шрифты в графическом режиме.