Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

командная строка.. [D5, 2000]


pathfinder ©   (2006-10-30 14:27:00) 

Добрый день.
Подскажите, пожалуйста, как выводить сообщения в командной строке на русском языке?


Anatoly Podgoretsky   (2006-10-30 19:44:00) [1]

> pathfinder  (30.10.2006 19:24)  [17]

Могу дополнительно сказать, что эксперименты с chcp показали, что явно
происходит перекодировка файла в 866 кодировку, я специально выводил файлы в
кодировках 866/1251 при обеих кодировках.


pathfinder   (2006-10-30 19:24:00) [2]


> Не знаю, надо проверять, но как то давно я выводил с помощью
> смены
> консольной кодовой страницы, а сейчас мне лень проводить
> эксперименты

да и мне признаться тоже лень..тем более что CharToOem исправно работает:)

спасибо всем за советы.


Anatoly Podgoretsky   (2006-10-30 19:05:00) [3]

> pathfinder  (30.10.2006 17:05)  [15]

Не знаю, надо проверять, но как то давно я выводил с помощью смены
консольной кодовой страницы, а сейчас мне лень проводить эксперименты


pathfinder   (2006-10-30 17:05:00) [4]

получается, что для win2000/xp этот вариант не подходит?
остается CharToOem..


Anatoly Podgoretsky   (2006-10-30 16:56:00) [5]

CHCP принимет только кодовую страницу, а не charset
Поскольку крякозябры, то значит твоя консоль не поддерживает 1251


pathfinder   (2006-10-30 16:53:00) [6]

chcp 1251
ввожу текст на русском - получаю кракозябры

chcp $0419
результат аналогичный..


Anatoly Podgoretsky   (2006-10-30 16:47:00) [7]

chcp /?
Затем сменить и затем попытаться вывести в нее текст в ANSI
Если получишь осмысленные символы, то бороться с функцией, не то тогда передается.


pathfinder   (2006-10-30 16:38:00) [8]

я - chcp
консоль - Текущая кодовая страница: 866


Anatoly Podgoretsky   (2006-10-30 16:22:00) [9]

Для начала проверь из консоли CHCP


pathfinder   (2006-10-30 16:15:00) [10]


> Если локализация русская то соответсвует.

локализация не русская..delphi 2006(Version 10.0.2288.42451 Update 2)


> Я не помню можно ли в SetConsoleOutputCP указывать кодировку,
>  не надо ли указывать локализацию, что то типа $0419

c $0419 тоже самое(


Anatoly Podgoretsky   (2006-10-30 15:53:00) [11]

Если локализация русская то соответсвует.
Вообще то ANSI это не конкретная кодировка, а семейство Виндоус кодировок, соответсвенно OEM семейство ДОС кодировок.

Я не помню можно ли в SetConsoleOutputCP указывать кодировку, не надо ли указывать локализацию, что то типа $0419
Проверь. Справка по данному моменту скупая.


pathfinder   (2006-10-30 15:46:00) [12]

а кодировке ANSI соответствует кодовая страница 1251?
SetConsoleOutputCP(1251) тоже показывает кракозябры..


Anatoly Podgoretsky   (2006-10-30 15:33:00) [13]

По умолчанию в ANSI


pathfinder   (2006-10-30 15:10:00) [14]

а по умолчанию делфи в какой кодировке данные посылает?


Anatoly Podgoretsky   (2006-10-30 15:04:00) [15]

pathfinder   (30.10.06 14:57) [2]
Он работает, но если ты указываешь кодировку 866, то и данные посылай в этой кодировке.


Anatoly Podgoretsky   (2006-10-30 15:02:00) [16]

WriteLn


pathfinder   (2006-10-30 14:57:00) [17]

поиск показал, что есть несколько вариантов решения этой проблемы..
с CharToOEM все работает..
мне понравился вариант с SetConsoleOutputCP(866), но он почему-то работать не хочет(


Dmitrij_K   (2006-10-30 14:31:00) [18]

CharToOemBuff
за примером в поиск


Наверх

Титульная страница Поиск, карта сайта Написать письмо