Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.23;
Скачать: 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 вся ветка

Текущий архив: 2006.07.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1149649436
_HAWK_
2006-06-07 07:03
2006.07.23
Как перевести на WinAPI?


4-1140560590
std
2006-02-22 01:23
2006.07.23
Сканер штрих кода


2-1151827055
PSPF2003
2006-07-02 11:57
2006.07.23
Тормозим :)


3-1148038085
DVM
2006-05-19 15:28
2006.07.23
Одна база Access - несколько клиентов


2-1152111508
AlexanderMS
2006-07-05 18:58
2006.07.23
Время выполнения процедуры