Вниз
Скачать: 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.029 c
8-1139289302
Gorger
2006-02-07 08:15
2006.07.23
Наложение текстуры на форму и станд. контролы


2-1151955885
ronyn
2006-07-03 23:44
2006.07.23
IP+-


2-1152093456
dan317
2006-07-05 13:57
2006.07.23
проблема с лицензией EhLib


15-1150180363
Мазут Береговой
2006-06-13 10:32
2006.07.23
Американцы не были на Луне... однозначно!


3-1147876311
S@shka
2006-05-17 18:31
2006.07.23
Сбросить данные из таблицы в файл.




   Наверх