#0
by NOFIRG
в DELPHI через OLE получаю ТаблицуЗначений в которой имеется поле с Изображением представленное как ДвоичныеДанные. Как этот двоичный объект(переменная, поле, незнаю как назвать) можно включить в SQL запрос через ADO чтобы заинсертить в поле типа IMAGE пробывал преобразовывать в поток, который потом передавать как параметр запросу, неполучилось.... Плиз ХЕЛП!
#1
by H A D G E H O G s
var Base64String:String; ....... ....... Base64String:=BaseOle.Base64Строка(СтрокаТЗ.Изображение); Это мы получим ДвоичныеДанные в виде Base64 строки, доступной в Дельфи. Теперь ищем Base64Encode - алгоритм на Дельфи (желательно без строкового цикличного ресайзинга) и пишем сырые данные в TBlobStream. Ну а дальше - ADO. Base64Encode могу скинуть вечером...
#2
by H A D G E H O G s
+ Еще можно попробовать ComSafeArray, но он в восьмерке кривовато реализован, не пробовал...
#3
by NOFIRG
Спасибо попробую. алгоритм нашел, если кому пригодиться то вот function EncodeBase64(Value: String): String; const Result := b64alphabet[(W shr 18) and $3f] + b64alphabet[(W shr 12) and $3f] + b64alphabet[(W shr 06) and $3f] + b64alphabet[(W shr 00) and $3f]; if n <> 3 then while Length(Value) > 0 do for i := 1 to 4 do if Length(Value) mod 4 <> 0 then Exit; while Length(Value) > 0 do
#6
by H A D G E H O G s
Result := Result + Chr Надо типа так Buffer:Pointer; GetMem(Buffer,Length(Value)); PTR(Cardinal(Buffer)+i)^:=Chr(....
#7
by H A D G E H O G s
И еще оптимизируем, ибо вдруг у вас нехилые картинки будут GetMem(Buffer,Round(Length(Value)*0.75)+1);
#12
by NOFIRG
Все равно не получается.... 1с в таблиц значений которую получаю в делфи Фото это base64Строка(ФотоВДвоичном); Delphi ..... Stream:TMemoryStream; ..... 'set @a=(select max(ID)+1 from pList)'+ 'insert into pList(ID,Name,FirstName,MidName,Status,WorkPhone,Picture,BirthDate,Company,Post,TabNumber)'+
#14
by MMF
если Picture:=TZ.Получить(i).Фото - бинарные данные, то Stream:=TStringStream.Create(MimeEncodeString(Picture)); try
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- OLE,OLE,OLE
- Проблемы с работой через OLE, запуск функции через OLE
- v7: в чем разница.... "Сохранить данные..." и "Выгрузить данные..."?
- Нужен пример работы с 1С 8.0 на Delphi по COM (не OLE!)
- v8.1:Сравнение производительности на Postgree и MSSQL
- Delphi - OLE - Word: Как узнать позицию найденной строки?
- OLE: Вставка в иерархический справочник из Delphi
- Технологический журнал 1С, Вывод в логи запросов к MSSql
- Delphi class abstract (версия Delphi XE7)
В этой группе 1С
- ЗиК codebase error 70
- Зуп Перерасчеты - почему и как возникают ?
- OLE перенос справочника (проблема с родителем и уровнями иерархии)...
- Условие в запросе, аналогичное условию в запросе 77
- Не срабатывает событие "Перетаскивание"
- Лог-файлы сервера 1с
- Как запрограммировать обработку расшифровки?
- как из 1с программно установить защиту на группу ячеек в екселе?
- Параметры запуска 1с
- Как запустить формирование отчета из внешней обработки
- Сколько времени необходимо для подготовки на 1С 8: Cпециалиста
- Работа в терминале, Зависает 1С при проведении документа.
- Как в v8 сохранить многостраничный отчет в Excel с разбивкой по листам-зак
- СправочникСписок: как спозиционироваться на определенной строке?
- Как открыть внешний файл mxl на чтение?
- Сортировка в запросе в обратном порядке
- УПП почему только для оборудования делается проводка по БУ?
- Автоматическое удаление движений
- Многофирменный учет в 1С:ЗиК
- УТ 10.3.3.3 Преобразование значения к типу Булево не может быть выполнено