|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от tyrex
![]() Немного поразмыслив решил код "упростить" :-)
Код: WinText := ''; FOR Pos:=1 TO STRLEN(DosText) DO BEGIN Ch := DosText[Pos]; Ch := Ch + ROUND(Ch/128,1,'<')*64 - ROUND(Ch/224,1,'<')*64 + ROUND(Ch/224,1,'<')*16 - ROUND(Ch/240,1,'<')*16 + ROUND(Ch/240,1,'<')*72 - ROUND(Ch/241,1,'<')*72 + ROUND(Ch/241,1,'<')*75 - ROUND(Ch/242,1,'<')*75; WinText+= FORMAT(Ch); END; Перед подгрузкой конвертирую все в DOS (текстовым редактором). Символ '№' остается нетронутым. Символ '№' выгружается из Navision (при помощи переменной типа File) в текст (DOS) c номером 0xFC что соответствует 252 символу. В Windows 1251 символ '№' имеет код 0xB9 что соответствует 185. Приходится делать так: кодирую все в DOS (текстовый файл). Запускаю побайтную замену 185 -> 252. После этого только датапортом гружу данные. Кто-нить более удобный способ не нашел борьбы с подобными символами? |
|