AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.07.2006, 15:54   #1  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от 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. После этого только датапортом гружу данные.

Кто-нить более удобный способ не нашел борьбы с подобными символами?
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:44.