Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Внизвывод на консоль (абракадабра) Найти похожие ветки
← →
mila (2002-12-06 17:13) [0]program time;
uses sysutils;
begin
writeln(formatdatetime("dddd dd mmmm (dd.mm.yyyy) hh:nn:ss",now));
end.
вот такая программка, она просто выводит на консоль тек. дату и время, но(!) когда выводится длинное название месяца (дня недели), то вместо читаемого текста какая абракадабра. Я понимаю, что это связано с кодировками, но вот как сделать нормальный (читаемый) вывод сообщений никак не соображу.
Помогите, пожалуйста.
← →
Romkin (2002-12-06 17:19) [1]
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) [2]Config.Sys(.NT)
Country=007,866,C:\WINDOWS\COMMAND\country.sys
- может поможет.
З.Ы. У меня в 2000-ых вообще ни в Delphi, ни в консоли кириллица не рисуется, хотя в мелко-мягких приложениях все нормально.
← →
mila (2002-12-06 17:26) [3]2Romkin:
компилятор D6 ругается на CharToOEM :(
← →
MBo (2002-12-06 17:28) [4]uses windows
← →
mila (2002-12-06 17:30) [5]УРА ! :) Заработало, всем БОЛЬШОЕ спасибо :))))))))
← →
oomneeq (2002-12-09 13:14) [6]уточним-с...
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;
← →
Romkin (2002-12-09 13:21) [7]Ага, точно, я просто вывожу так только константы, вроде
writeln(ToOEMString("Привет")); ^-))
← →
DarkGreen (2002-12-09 13:47) [8]В NT, 2000, XP можно использовать
BOOL SetConsoleCP(
UINT wCodePageID // code page to set
);
тогда не понадобится CharToOEM
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c