Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Внизрусский язык в консольном приложении Найти похожие ветки
← →
resuS (2006-06-30 21:56) [0]Как в консольном приложении выводить русский язык из буфера, а то у меня там
var
vBuf2:Tstrings;
...
begin
...
writeln( vBuf2.Text);
...
end;
а в vBuf2 находится ответ cmd на команду help . получается строки:
ASSOC эяюяюяююэъяю0Ётщхяях
...
что-то типа этого
Что делать?
← →
Джо © (2006-06-30 22:08) [1]CharToOem
← →
Gero © (2006-07-01 04:55) [2]
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
TTextRec(Output).InOutFunc := @ConOutFunc;
TTextRec(Output).FlushFunc := @ConOutFunc;
← →
Desdechado © (2006-07-01 13:30) [3]Я долго бился над этой проблемой, но вразумительного решения (кроме тупого CharToOEM) не нашел.
Хотя винда предоставляет функции для переключения консольного вывода, но они работают не так как заявлено.
Кроме того, полноэкранный и оконный режим себя по-разному ведут с этими функциями.
← →
resuS (2006-07-01 15:27) [4]все заработало с использованием тупого chartoOem :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c