Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > BLOB -> Word


Автор: DDX 24.3.2005, 10:46
есть база mdb, а в базе - поле BLOB, хранящее word-объекты. не знаю, нужна ли эта информация, но сохранялось это из oleContainer.SaveTostream.. LoadFromStream; Post, а в сам oleContainer кусок скопированного текста из ворда вставлялся через Paste..
так вот, моя проблема: как можно накидать в один ворд-документ содержимое всех блоб-полей???
заранее спасибо, если кто поможет )

З.Ы. обращаюсь к базе через ADO
З.З.Ы или, может, есть другой способ распечатать содержимое этих полей? нуно обязательно все вместе..

Автор: DDX 25.3.2005, 10:42
ни у кого идей нет smile

я уже страдаю ерундой: загружаю содержимое поля в контейнер, контейнер скидываю в файл, открываю файл вордом, копирую абзацы, докидываю в основной документ, прежний закрываю...

Автор: DDX 29.3.2005, 13:33
smile
никто не знает... smile

Автор: DDX 4.4.2005, 14:10
поднимаю тему.. прошу простить..

Автор: Snowy 4.4.2005, 14:40
Цитата(DDX @ 24.3.2005, 10:46)
в сам oleContainer кусок скопированного текста из ворда вставлялся через Paste..

Ну так через Paste и вставляй.
Создал документ.
Взял одно поле - сделал Paste.
Взял второе поле - снова Paste... и т.д.
Цитата(DDX @ 25.3.2005, 10:42)
я уже страдаю ерундой: загружаю содержимое поля в контейнер, контейнер скидываю в файл, открываю файл вордом, копирую абзацы, докидываю в основной документ, прежний закрываю...

Правильно страдаешь. Главное ворд не показывать, пока все не поскидываешь.

Автор: DDX 4.4.2005, 14:44
ну, это неспортивно, а как сделать спортивно - догнать не могу.... smile

недостатки:
а) ну оооочень долго работает!
б) буфером обмена во время работы программы (а это несколько минут) пользоваться невозможно, так как копируется всё в него..
вот такой галяк..

Автор: Snowy 4.4.2005, 17:00
А ты закрывай все вместе.
Ты сейчас делаешь открыть-взять-закрыть.
Попробуй открыть-взять-открыть-взять ..... закрыть-закрыть.
Должно быстрее работать.
А еще быстрее будет открыть-открыть ..... взять-взять .... закрыть-закрыть.
Тогда и буфер будет по-минимуму задействовать.
Чтобы буфер вообще не использовать - поскидывай все в файлы, а потом в ворд подгрузи через Selection.InsertFile

Автор: DDX 6.4.2005, 10:15
Snowy
c Selection.InsertFile работать стало на порядок быстрее и буфер не используется.
остановлюсь на этом варианте!
спасибо за рациональную идею!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)