Русификация консоли чисто английской Windows

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Русификация консоли чисто английской Windows

Сообщение Александр Яшин » 31.12.2009 11:44:33

Есть Windows XP SP2 английская версия, не русифицированная.
Оператор
Код: Выделить всё
writeln(UTF8ToConcole('Привет, Мир'));

выдает символы подчеркивания вместо букв.
При вводе с клавиатуры русских букв
Код: Выделить всё
readln(str);
отображаются вопросительные знаки.
Как установить кодовую страницу СР866 на такую Windows?
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Русификация консоли чисто английской Windows

Сообщение v-t-l » 31.12.2009 11:56:29

в окне cmd.exe можно написать
Код: Выделить всё
chcp 866
Но даже если сработает, то вряд ли навсегда.
v-t-l
энтузиаст
 
Сообщения: 740
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Русификация консоли чисто английской Windows

Сообщение скалогрыз » 31.12.2009 14:03:03

Александр Яшин писал(а):Есть Windows XP SP2 английская версия, не русифицированная.
Оператор
Код: Выделить всё
writeln(UTF8ToConcole('Привет, Мир'));

выдает символы подчеркивания вместо букв.


я так понимаю, что речь идёт о лазарусе?

Вариант 1: добавь в начало модуля такую запись:
Код: Выделить всё
{$codepage utf8}

должно помочь.

Вариант 2:
Просто поменяй кодировку файла (правой кнопкой в редакторе File Settings ... -> Encoding -> cp866)
после этого достаточно будет писать:
Код: Выделить всё
writeln('Привет, Мир');

как в старом добром TP.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Русификация консоли чисто английской Windows

Сообщение v-t-l » 31.12.2009 14:18:53

скалогрыз писал(а):Вариант 1: добавь в начало модуля такую запись:

Код: Выделить всё
{$codepage utf8}


должно помочь.

Вариант 2:
Просто поменяй кодировку файла (правой кнопкой в редакторе File Settings ... -> Encoding -> cp866)
после этого достаточно будет писать:

Код: Выделить всё
writeln('Привет, Мир');

Ошибочка, должно быть:
Код: Выделить всё
{$codepage cp866}

Правда не уверен, что компилятор поймет :)
И так же не уверен, что консоль сумеет отобразить CP866 - в английской винде, я думаю, CP437 по-умолчанию.
v-t-l
энтузиаст
 
Сообщения: 740
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Русификация консоли чисто английской Windows

Сообщение скалогрыз » 31.12.2009 14:28:26

v-t-l писал(а):Ошибочка, должно быть:
...

Александр Яшин нас рассудит :D
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Русификация консоли чисто английской Windows

Сообщение Александр Яшин » 31.12.2009 14:53:55

Не помогло ни {$codepage utf8}, ни {$codepage СР866}
скалогрыз писал(а):Просто поменяй кодировку файла (правой кнопкой в редакторе File Settings ... -> Encoding -> cp866)

1. Выдало пустую строку
2. Вариант все равно неприемлем, т.к. программа должна работать без всяких изменений в Windows и Linux, т.е. должна быть кроссплатформенной.

Вычитал в другом форуме - в окне MSDOS программы надо нажать кнопку системного меню и в свойствах указать шрифт Lucida Console. После этого при вводе оператором readln() русские буквы стали появляться, но вывод writeln'ом по прежнему не получается.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Русификация консоли чисто английской Windows

Сообщение скалогрыз » 31.12.2009 15:06:37

Александр Яшин писал(а):Не помогло ни {$codepage utf8}, ни {$codepage СР866}

только сейчас прочитал, что винда английская :D
тогда шаги для русской винды действительно не помут
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Русификация консоли чисто английской Windows

Сообщение Astralis » 01.01.2010 00:12:58

1) попробоывать рааспечатать всю кодовую страницу (все chr(i), i=127..255). если русских символов нет, то уже ничего не поможет в программе. Если есть, то в delphi обычно использовалось writeln(AnsiToOem(....))
2) в первом этом случае поможет знаменитый файл keyrus кажется
Аватара пользователя
Astralis
новенький
 
Сообщения: 45
Зарегистрирован: 06.06.2007 20:33:05
Откуда: Tvercity-Annet


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru