Вниз
Скачать: 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
3-1093507039
Пуртик
2004-08-26 11:57
2004.09.26
Как выполнить несколько запросов в ADO?


1-1094546741
Black
2004-09-07 12:45
2004.09.26
Как создать копию Form


1-1094541629
KIR
2004-09-07 11:20
2004.09.26
Народ, кто уже работает с D8?


6-1090365718
Лев Ландау
2004-07-21 03:21
2004.09.26
Конкретный пример заполнения http- форм ! (?)


1-1095074202
kolos_rus
2004-09-13 15:16
2004.09.26
Глобальная переменная




   Наверх