Вниз
Скачать: CL | DM;

Не подскажите с переносом данных?   Найти похожие ветки 

 
1008 ©   (2004-09-08 16:26) [0]

Мне необходимо перенести содержимое BLOB-поля в документ Word. Советуют использовать OleVariant, но я не знаю как в OleVariant поместить содержимое BLOB-поля (tmp:OleVariant; ... tmp:=CreateBlobStream(FieldByName("Data"), bmRead); не работает).


 
Суслик ©   (2004-09-08 16:27) [1]

а что это за содержимое?
просто файл вордовского документа?
если да, то сохрани его на диске, потом открой.

может еще как можно...


 
1008 ©   (2004-09-08 16:30) [2]

Суслик ©  (08.09.04 16:27) [1]

Хуже, намного, это коктейль содержимое которого заранее не известно. Может содержать: OLE-объекты, картинки, текст.


 
1008 ©   (2004-09-08 17:26) [3]

Может кто-нибудь подскажет как в OleVariant поместить TStream? Или можно ли в OleVariant поместить содержимое RichEdit?


 
1008 ©   (2004-09-09 11:07) [4]

Никто не встречался?


 
Cobalt ©   (2004-09-09 11:13) [5]

Рассмотри ситуацию по всем составляющим:
1) Получение данных из Word (скорее всего, это будут двоичные данные какие-то) - рекомендую начать с этого.
2) Сохранение этих данных в поле BLOB
3) Получение данных из поля BLOB
4) Помещение этих данных в Word


 
1008 ©   (2004-09-09 11:25) [6]

Cobalt ©  (09.09.04 11:13) [5]

Word всего лишь используется для создания отчёта. Итак:
Есть редактор RichEdit (JvxRichEdit), который позволяет вставлять картинки и Ole-объекты. Как OLE-контейнер, только это можно ещё параллельно с текстом давать.
Из этого редактора данные при помощи потока переносятся в BLOB-поле базы данных (тут проблема нет.
Из BLOB-поля базы данных я могу перенести данные в RichEdit (тоже проблем нет).
При формировании отчёта люди хотят, чтобы данные из базы, которые хранятся в BLOB-поле, появлялись в отчёте, который я составляю в Word-е. Но вот тут возникает проблема: как это делать?
Одно из решений это тупо перегонять из BLOB в RichEdit, а затем используя ClipBoard вставлять в Word-документ. Это работает, но это "не красивый стиль программирования", а во-вторых существует опасность, что в этот же момент кто-то заполнит буфер своими, важными для него данными, которые потом будут вставлены вместо необходимых для отчёта данных, либо эти важные данные будут утеряны, а вместо них пользователь получит часть отчёта.
Второе из решений было сказано вскользь и как его реализовать я даже не представляю: через переменную OleVarint типа. В этом случае я получу "красивую" передачу данных, но как это реализовать я не знаю.


 
1008 ©   (2004-09-09 13:34) [7]

?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
14-1094803291
Pat
2004-09-10 12:01
2004.09.26
Клиент для форумов, использующих phpBB


1-1094054066
bloodman
2004-09-01 19:54
2004.09.26
Есть ли функция для удаления 1 элемента из динамического масива?


14-1094318953
Knight
2004-09-04 21:29
2004.09.26
Умение правильно задавать вопросы...


9-1085947496
Vin_Ghost
2004-05-31 00:04
2004.09.26
как организовать скриптовый движек


6-1090471072
vlgrig1961
2004-07-22 08:37
2004.09.26
Как сконвертить WAW файл в файл для воспроизведения по модему




   Наверх