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

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

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

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

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

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

Алфавит языка Паскаль.

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

В предыдущих примерах мы выводили текст английскими буквами. При попытке вывести текст русскими буквами в графическом режиме у нас возникнут определенные проблемы. Вместо текста на экране мы увидим непонятные кракозябры. Дело в том, что графический режим Паскаля не поддерживает кириллицу. В некоторых случаях русскоязычные сообщения выводятся шрифтом 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
Ура все работает.
Это просто чудо, особенно после того как пробуешь реализовать советы разных умников. А после этой статьи понятно становится что народ не в курсе этой проблемы.
Автор тебе большое спасибо. Я уже хотел все нафиг выкинуть как нашел эту статью.
ураааааааааааааааааааааааааааааааа!
Ответить
 
 
0 # Bamsik 12.02.2012 14:51
И еще сначала испытал небольшие трудности, но потом понял. Если вы создали exe файл то и шрифты нужно держать рядом с ним.
Ответить
 
 
0 # Alexei 01.07.2012 05:39
Поместил шрифты в папку bin\i386-win32 и в папку программы. Кракозябрики не исчезают, код - из примера на этой странице.
Ответить
 
 
+2 # Progr 28.02.2014 10:25
При копировании с сайта получаются крокозябры в коде Паскаля. Нужно в тексте программы правильно ввести и все будет работать. :-)
Ответить
 

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

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

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