Имя: Пароль:
1C
Админ
8.2 vk rs 232 delphi и кодировки
0 baza1978
 
20.09.12
12:40
надо из 8.2 через COM порт печатать на принтере custom vkp 80 с кодировкой cp866. Взял исходник компоненты vk rs232, Дописал функцию
function AnsiToOem(aStr : String) : String;
begin
 Result := '';
 if Length(aStr) > 0 then begin
   SetLength(Result, Length(aStr));
   CharToOem(PChar(aStr), PChar(Result));
 end;
end;
и добавил свойство convert.
if p_Convert = 1 then begin
   s := AnsiToOem(s);
 end;
То есть конвертируем или посылаем как есть..

Если посылаю строку "блаблабла" - все ок, конвертирует в cp866 и выводит кириллицу. Если посылаю строку - управляющую команду символ(29) + символ(227) - туда приходит какая-то фигня вне зависимости от свойства конверт.
Если посылаю Символ(29) + "г" - все работает как надо. Как такое может быть?