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

Вниз

Поменять кодировку   Найти похожие ветки 

 
Helen   (2006-10-19 15:33) [0]

Выполняется консольная программа и на экране появляются крокозяблики вместо человечьих букв. Я так понимаю нужно сменить кодировку. Как это сделать?


 
Джо ©   (2006-10-19 15:40) [1]

SetConsoleOutputCP(1254);


 
Джо ©   (2006-10-19 15:43) [2]

> [1] Джо ©   (19.10.06 15:40)
> SetConsoleOutputCP(1254);

Но не уверен, что сработает в полноэкранном режиме. Я бы лучше переводил строки в OEM-кодировку при помощи CharToOem.


 
Helen   (2006-10-19 15:47) [3]

Не сработало в любом режиме.
ЧАсти строк берутся из текстового файла. Их тоже переводить придется.


 
Gero ©   (2006-10-19 15:49) [4]


type
 TTextRec = record
   Handle: Integer;
   Mode: Integer;
   BufSize: Cardinal;
   BufPos: Cardinal;
   BufEnd: Cardinal;
   BufPtr: PChar;
   OpenFunc: Pointer;
   InOutFunc: Pointer;
   FlushFunc: Pointer;
   CloseFunc: Pointer;
   UserData: array[1..32] of Byte;
   name: array[0..259] of Char;
   Buffer: array[0..127] of Char;
end;

function ConOutFunc(var Text: TTextRec): Integer;
var
 Dummy: Cardinal;
 SavePos: Integer;
begin
 SavePos := Text.BufPos;
 if SavePos > 0 then
   begin
     Text.BufPos := 0;
     CharToOemBuff(Text.BufPtr, Text.BufPtr, SavePos);
     if WriteFile(Text.Handle, Text.BufPtr^, SavePos, Dummy, nil) then
       Result := 0
     else
       Result := GetLastError;
   end  { if}
 else
   Result := 0;
end;

initialization
 Rewrite(Output);
 TTextRec(Output).InOutFunc := @ConOutFunc;
 TTextRec(Output).FlushFunc := @ConOutFunc;


 
Джо ©   (2006-10-19 15:54) [5]

> [4] Gero ©   (19.10.06 15:49)

Хитро! :)



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

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

Наверх




Память: 0.48 MB
Время: 0.065 c
15-1160684019
Ученик чародея
2006-10-13 00:13
2006.11.05
Получаете ли вы удовольствие от программирования на Delphi?


15-1160845816
Alx_
2006-10-14 21:10
2006.11.05
Поведение програм, которое меня раздражает.


2-1160898769
Zhekson
2006-10-15 11:52
2006.11.05
как запрограммировать пульт ДУ?


15-1160643476
xayam
2006-10-12 12:57
2006.11.05
Что дальше или в чем ВАШ смысл жизни?


15-1160644112
Alien1769
2006-10-12 13:08
2006.11.05
Nokia 6280 vs Nokia 6880 (смартфон)