Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
15-1160849496
vidiv
2006-10-14 22:11
2006.11.05
14 октября — суббота


15-1161157669
Думкин
2006-10-18 11:47
2006.11.05
Головоломки профессора Головоломки. Гершензон


2-1161329602
stalcker666
2006-10-20 11:33
2006.11.05
Telnet


5-1142197877
AlexeyT
2006-03-13 00:11
2006.11.05
Реакция на клавиатуру


2-1161072297
Raptoridze
2006-10-17 12:04
2006.11.05
путь к файлу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский