Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Глюки с русскими буквами в консольном приложении   Найти похожие ветки 

 
Oyster ©   (2004-01-18 10:04) [0]

Пишу консольное приложение на Delphi, хочу оттуда написать что-нибудь по-русски, типа:

Writeln("Привет!");

Запускаю exeшник, он мне выдает непонятно что - коды псевдографики, какие-то левые буквы и т.д. Что делать?


 
MBo ©   (2004-01-18 10:05) [1]

chartooem


 
Oyster ©   (2004-01-18 13:34) [2]

Вообще хотелось бы увидеть хотя бы пару слов комментария.


 
Anatoly Podgoretsky ©   (2004-01-18 13:38) [3]

В справке более одной строки комментария, что именно непонятно? Есть много примеров даже в местном FAQ - поиск работает!
Задавай более конкретный вопрос по непонятным местам.


 
Андрей Сенченко ©   (2004-01-18 13:42) [4]

Собственно чего тут комментировать ?
Вам уже названо конкретное решение Вашей проблемы. Осталось нажать F1, набрать там слово, написанное MBo © и читать ...


 
Anatoly Podgoretsky ©   (2004-01-18 13:45) [5]

Ну разве что прокомментировать, что такое OEM что такое ANSI


 
Андрей Сенченко ©   (2004-01-18 13:56) [6]

Function WinToDos (stWin : string) : string;
var
stDOS : pchar;
begin
getmem(stDOS,1048);
CharToOem(pchar(stWIN),stDOS);
WinToDos := string(stDOS);
freemem(stDOS);
end;


 
Oyster ©   (2004-01-19 12:10) [7]

Спасибо, так уже понятнее. Вот только Delphi слово CharToOem не распознает - Undeclarated identifier. Из-за чего это?


 
PVOzerski ©   (2004-01-19 12:19) [8]

> Вот только Delphi слово CharToOem не распознает
А как насчет "uses Windows"?


 
Юрий Зотов ©   (2004-01-19 12:32) [9]

> Oyster
Посмотрите SetConsoleCP и SetConsoleOutputCP.


 
Oyster ©   (2004-01-19 12:34) [10]

Спасибо всем большое. Работает.


 
Юрий Зотов ©   (2004-01-19 13:00) [11]

> Oyster

А ввод с клавиатуры? Тоже работает? По-русски?
:о)


 
Oyster ©   (2004-01-19 13:26) [12]

К счастью, работает.


 
PVOzerski ©   (2004-01-19 13:27) [13]

2Юрий Зотов © (19.01.04 13:00) [11]
Ну, проверил (D6, NT4, выставлена русская локаль). Работает,
вроде бы. А в чем должны быть проблемы?


 
Юрий Зотов ©   (2004-01-19 14:35) [14]

> PVOzerski © (19.01.04 13:27) [13]
> А в чем должны быть проблемы?

IMHO, если по умолчанию консоль пишет в штатовской CP, то логично предположить, что и вводить она по умолчанию будет в той же CP. И, соответственно, в той же CP пойдет эхо ввода.


 
PVOzerski ©   (2004-01-19 14:42) [15]

2Юрий Зотов © (19.01.04 14:35) [14]:
Судя по всему ("коды псевдографики, какие-то левые буквы и т.д."), у автора ветки программа тупо гонит на консоль текст в ANSI-кодировке, а "штатовская CP" тут ни при чем. К тому же: 1)если в NT-системах не выставлена русская локаль, а стоит штатовская, вместо русских букв в консоли выводятся вопросительные знаки, а не псевдографика и т.п., 2) у автора ветки вообще Win9x, так что вопрпос должен бы стоять о наличии DOS-овского руссификатора экрана, причем псевдографики не появилось бы и при его отсутствии.


 
Hkr ©   (2004-01-20 14:41) [16]


2PVOzerski © (19.01.04 14:42) [15]
> так что вопрпос должен бы стоять о наличии DOS-овского руссификатора
> экрана, причем псевдографики не появилось бы и при его отсутствии.

Русификация Dos тут не причем, у меня во всех консольных предложениях(которых у меня 2 шт :)) такая-же фигня, если не перекодировать в Dos"овский формат.



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

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
4-2404
mihail
2003-11-26 08:14
2004.02.02
как создать свой компонент на чужой форме


1-2097
scorpi
2004-01-20 08:26
2004.02.02
Версия программы


1-2080
Андрей Сенченко
2004-01-18 13:51
2004.02.02
Файл открыт приложением DOS


3-2037
Bolek
2004-01-09 17:39
2004.02.02
Доступ к данным


1-2215
Anton.
2004-01-20 17:54
2004.02.02
PrintDialog.Create