![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В консоли кириллица выводится криво, как это лечить? [D7, WinXP]
crazycrazymax © (2005-11-25 19:25:00)Вобщем пользуюсь стандартными write и writeln, а кириллица неправильно печатается, ну в редакторе-то я ввожу в виндовой кодировке, а в консоли используется Досовская, как я понял. Как это обойти?
Eksell (2005-11-25 21:44:00) [1]Просто в DOSе другая кодировка! (DOS - ASCII, Windows - ANSI)
Нужно просто перекодировать вот так:
function WINToDOS(RText: string): string;
var
i: integer;
ChCode: Byte;
begin
result := '';
for i := 1 to length(RText) do
begin
ChCode := byte(RText[i]);
case RText[i] of
'А'..'п' : RText[i] := chr(ChCode-64);
'р'..'я' : RText[i] := chr(ChCode-16);
end; {case}
result := RText;
end;
А теперь:
......
WriteLn(WINToDOS('Хелоу');
......
Zeqfreed (2005-11-25 19:27:00) [2]crazycrazymax (25.11.05 19:25)
> Как это обойти?
Перекодировать строки, которые выводишь. См.CharToOEM