Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Операции умножения и сложения в Pascal.

В данном уроке мы рассмотрим операции умножения и сложения в Pascal. Умножение в Pascal обозначается знаком «*», а сложение - знаком «+».

Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

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

Работа со строковыми данными.

Написание большинства программ не обходится без строковых данных. Строковые данные используются при организации диалога для ввода исходных значений переменных, задания условий выполнения ...

Подпрограммы, определенные пользователем.

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

В предыдущих примерах мы выводили текст английскими буквами. При попытке вывести текст русскими буквами в графическом режиме у нас возникнут определенные проблемы. Вместо текста на экране мы увидим непонятные кракозябры. Дело в том, что графический режим Паскаля не поддерживает кириллицу. В некоторых случаях русскоязычные сообщения выводятся шрифтом 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
При копировании с сайта получаются крокозябры в коде Паскаля. Нужно в тексте программы правильно ввести и все будет работать. :-)
 
   ГлавнаяПаскальГрафика в ПаскальФункции GetX и GetY.