#0
by gherkin
Здравствуйте! Подскажите, пробовал ли кто-нибудь использовать функцию MultiByteToWideChar WinAPI из 1С 8? Если да - с какими типами параметров регистрировали? Поясняю: Мне нужно считать данные из таблицы Paradox. Там используется кодировка ANSI. Пытался перекодировать в OEM вот так: В результате 1С выдала сообщение о неизвестной ошибке. Или подскажите другое решение, пожалуйста. Спасибо
#3
by H A D G E H O G s
Как бы MultiByteToWideChar это для перевода из "многобайт" в unicode. Какие OEM?
#4
by H A D G E H O G s
ApiFunctions.MultiByteToWideChar(КодировкаТекста.ANSI,КодировкаТекста.OEM Нормально так. В API функцию (пусть и в обертке) отправили гулять COM объекты.
#8
by H A D G E H O G s
У мя 1С выдала {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft JET Database Engine): Внешняя таблица не имеет предполагаемый формат. Хотя Дельфя нормально ADO запрос отрабатывает через JET. Табличка - Paradox 3.5 (где вы такое старье откопали).
#9
by Sk0rp
, А что за странный второй параметр: КодировкаТекста.OEM ? Там должно битовое поле флагов идти. Обычно используют MB_PRECOMPOSED #define MB_PRECOMPOSED 0x00000001 Да для первого параметра стоит использовать CP_OEMCP #define CP_OEMCP 1 Чему там равно КодировкаТекста.OEM еще ХЗ. Четвертым параметром для null-terminated строк обычно передают -1. А для приемного буфера стоит выделить места побольше, т.к. будет еще попытка записать конечный ноль, а он тоже места просит. Т.е.
#13
by Sk0rp
Нигде, так же как и функцию MultiByteToWideChar это способ показать, чему должен быть равен параметр.
#16
by trdm
>> MultiByteToWideChar осторожно с этой функцией, ей надо подавать готовый буфер, иначе отгребешь.
#17
by gherkin
строку подключения заменить на СтрокаСоединения = "Provider=Microsoft.Jet.OLEDB.4.0; но сразу говорю - ничего не изменится )
#19
by gherkin
попробовал так: может, надо не 1251, а что-то другое подставить. Если да - подскажите, что?
#20
by gherkin
у меня такая ошибка была именно из-за языка. Больше ничего в голову не приходит. Код рабочий, проверено
#21
by H A D G E H O G s
Так. Все работает. Таблица Paradox 7, язык драйвера pdox ansi cyrilic Колонка Name, значение в ней - "Тест" 1С-ка выводит "Тест" при Сообщить(rs.Fields("name").Value); ОК?
#23
by gherkin
ппц снова попробовал, уже без перекодировки. У меня все по-прежнему - кракозябры. Может, ODBC не тот? У меня не стоит MS Office.
#31
by aleks-id
|Jet OLEDB:Character Encoding=UTF-8;";//может быть |Jet OLEDB:Character Encoding=""UTF-8"";";
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Использование наладонного компьютера в производстве
- Использование 3-хзвенки в типовых
- Установка ИТС. Использование по сети?
- Как получить значение из функции, для использования в другой функции?
- Функции использующие Административные функции
- Использование внешней функции в СКД
- Функции в MS SQL 2008. Хочу понять как работает фильтр по результату функции.
В этой группе 1С
- v7: счет-фактура на аванс поставщика не попадает в книгу покупок
- Как получить все элементы Справочника Номенклатура?
- Два ключа HASP и timeout = 0 (как избежать зависания лицензий?)
- Подключение ТСД к УТ 11 (Cipher Laи 8000 с IR подставкой)
- Дешевые KVM over IP. Какие есть дешевые?
- УТ 10.3 Не могу программно заполнить документ установка цен номенклатуры
- 1С+PostgreSQL - запрос ложит 1С-ку
- v7: Помогите передать список субконто в ИспользоватьСубконто по ОЛЕ
- Как передать параметры печати в модуль внешней печатной формы
- КД 2 Глобальная переменная
- v7: Setting database option RECOVERY to FULL for database ...
- v7: Вместо нормального числа после сохранения выводится 999999999
- Отчет СКД. Поиск по коду в поле "Выражение" закл. "Параметры"
- А можно в колонке Таблицы значений сделать составной тип данных?
- v7: Значение не представляет агрегатный объект (Text)?
- Управляемые формы. ВыделенныеСтроки
- Учет родительской платы в 1с 8
- Заполнение поля ТЧ из поля справочника: как написать без sql?
- передача параметров динамического списка в запрос
- v8: 8.2 как программно закрыть управляемую форму