Вниз
Скачать: CL | DM;

code page в консольном приложении   Найти похожие ветки 

← →
ilya39 ©   (2005-06-06 11:02) [0]

Подозреваю что тема обсуждалась не раз. Но!
Надо чтобы в консольном приложении то, что выведено по WriteLn отображалось русскими буквами.

 var cp: integer;
 ....
 SetConsoleOutputCP(1251);
 cp := GetConsoleOutputCP;
 WriteLn("абв");
 ReadLn;


Так вот не работает это, в место "абв" - ерунда хотя cp = 1251...

В итоге решил проблему с помощью CharToOEM, но не понятно почему неработает SetConsoleOutputCP... Кто сталкивался с подобным вопросом подскажите, что не так?


← →
VMcL ©   (2005-06-06 11:24) [1]

Из MSDN:
>However, if the current font is a raster font, SetConsoleOutputCP does not affect how extended characters are displayed.

Следовательно, нужно установить для консольного окна не растровый шрифт, т. е. Lucida Console, например.


← →
sniknik ©   (2005-06-06 11:44) [2]

> т. е. Lucida Console, например.
в полноэкранном режиме верно отображать не будет.. ;)


← →
VMcL ©   (2005-06-06 11:55) [3]

>>sniknik ©   (06.06.05 11:44) [2]

Угу. К тому же SetConsoleOutputCP не будет работать в Win9x.


← →
Anatoly Podgoretsky ©   (2005-06-06 12:04) [4]

VMcL ©   (06.06.05 11:24) [1]
Это замечание относится к консольнму окну и не имеет отношения к консоли. Вообще то не совсем понятно зачем нужна эта функция, поскольку она явно не работоспособна по физической природе. Исключая случаи программируемых знакогенераторов, но такое вроде не реализовано. Может она несет только информационные функции для других функций ОС



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
1-1121090181
Kyro
2005-07-11 17:56
2005.07.31
Деление


1-1121159860
Uzver32.dll
2005-07-12 13:17
2005.07.31
Массив компонентов без компонентов


1-1121247911
IgoX
2005-07-13 13:45
2005.07.31
типы переменных


3-1119705538
Хиндельберг
2005-06-25 17:18
2005.07.31
Как умножить данные в таблице


14-1121016654
-=}{eRsOn=-
2005-07-10 21:30
2005.07.31
D6 или D7 ...




   Наверх