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

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

вывод на консоль (абракадабра) [D6]


mila ©   (2002-12-06 17:13:00) 

program time;
uses sysutils;
begin
writeln(formatdatetime("dddd dd mmmm (dd.mm.yyyy) hh:nn:ss",now));
end.


вот такая программка, она просто выводит на консоль тек. дату и время, но(!) когда выводится длинное название месяца (дня недели), то вместо читаемого текста какая абракадабра. Я понимаю, что это связано с кодировками, но вот как сделать нормальный (читаемый) вывод сообщений никак не соображу.
Помогите, пожалуйста.


DarkGreen   (2002-12-09 13:47:00) [1]

В NT, 2000, XP можно использовать

BOOL SetConsoleCP(
UINT wCodePageID // code page to set
);

тогда не понадобится CharToOEM


Romkin   (2002-12-09 13:21:00) [2]

Ага, точно, я просто вывожу так только константы, вроде
writeln(ToOEMString("Привет")); ^-))


oomneeq   (2002-12-09 13:14:00) [3]

уточним-с...
Romkin © (06.12.02 17:19)

function ToOEMString(const S: ansistring): ansistring;
begin
Result := S;
if S<>"" then//<-- а то может получится AV в user32.dll
CharToOEM(PChar(Result), PChar(Result));
end;


mila   (2002-12-06 17:30:00) [4]

УРА ! :) Заработало, всем БОЛЬШОЕ спасибо :))))))))


MBo   (2002-12-06 17:28:00) [5]

uses windows


mila   (2002-12-06 17:26:00) [6]

2Romkin:

компилятор D6 ругается на CharToOEM :(


Romkin   (2002-12-06 17:19:00) [7]


function ToOEMString(const S: ansistring): ansistring;
begin
Result := S;
CharToOEM(PChar(Result), PChar(Result));
end;

Write(ToOEMString("Нажми Enter"));
readln;

Обратная функция, ессно, OEMToChar


han_malign   (2002-12-06 17:19:00) [8]

Config.Sys(.NT)
Country=007,866,C:\WINDOWS\COMMAND\country.sys
- может поможет.
З.Ы. У меня в 2000-ых вообще ни в Delphi, ни в консоли кириллица не рисуется, хотя в мелко-мягких приложениях все нормально.


Наверх

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