Вниз
Скачать: CL | DM;

русский язык в консольном приложении   Найти похожие ветки 

 
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.046 c
3-1147863832
Delphi basic
2006-05-17 15:03
2006.07.23
Отображение иерархической информации


15-1150724493
Alien1769
2006-06-19 17:41
2006.07.23
Какой алгоритм использовать


2-1151875430
susergey
2006-07-03 01:23
2006.07.23
Запомнить путь к папке


2-1151931049
Elfebet
2006-07-03 16:50
2006.07.23
Как узнать момент выключения компьютера?


3-1147757025
AAlex
2006-05-16 09:23
2006.07.23
BDE; FOX; corrupt table/index header или Invalid index descriptor




   Наверх