Форум: "Начинающим";
Текущий архив: 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.045 c