Согласие на обработку персональных данных.

18.08.2018
Новая задача Сколько слайдов поместится в песню.

17.08.2018
Новый раздел: Этюды для программистов.

11.08.2018
Новые видео и статья Обязательные теги HTML.

06.08.2018
Новый выпуск журнала Автоматизация и программирование.

27.07.2018
Новые видео и статья Процедура BlockRead.



Как вывести русские буквы в программах на Free Pascal

Основы программирования Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Вполне возможно, что у вас не установлены необходимые настройки для правильного вывода русских символов в консольных приложениях. В таком случае все ваши программы, созданные с помощью Free Pascal, вместо русских букв будут выводить “иероглифы”.

В этом видео я покажу вам решение данной проблемы.

Проблема заключается в том, что консольные приложения Windows выводят русские буквы в кодировке CP866, в то время как Free Pascal по умолчанию использует кодировку UTF-8.

Решить эту проблему можно с помощью директивы компилятора, которая устанавливает кодовую страницу:

{$CODEPAGE CP866}

Эту директиву нужно написать после объявлении имени программы.

Не знаю, чем это объяснить, но в некоторых случаях компилятор после ввода этой директивы может выдавать сообщения об ошибке. Мне удалось решить эту проблему путём подключения модуля charset, в котором объявлены кодовые страницы.

Итак, исходный код нашей программы на Free Pascal, которая правильно выводит русские символы, может выглядеть так:

program hello;

uses charset;        //Не обязательно, только
                     //если компилятор выдаёт ошибку         

{$CODEPAGE CP866}    //Устанавливаем кодовую страницу

begin
  WriteLn('Привет, МИР!!!');
  WriteLn('Hello, WORLD!!!');
  ReadLn;
end.

См. также статью Русские символы в консольных приложениях Lazarus.


Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика