Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Blob в QuickReport [D6, MSSQL]


skiph ©   (2002-05-31 05:15:00) 

Есть таблица, в которой есть blob поле (документ Word), как мне его отразить в QuickRep? Хотел использовать QRDBRichText1, но ое, естественно, отображает только само тело blob"a без конвертации в документ.


dmaznich   (2002-06-07 10:48:00) [1]

Попробуй следующее

begin
OleContainer1.CreateObject("Word.Document.8", True);
OleContainer1.LoadFromStream(S);
OleContainer1.Perform(WM_LBUTTONDBLCLK, 0, 0);
end;

S: TMemoryStream, куда предварительно загружен файл из BLOB.
У меня отлично работает вместе с Oracle 8i.


Anatoly Podgoretsky   (2002-06-07 09:17:00) [2]

Наверно в третьем способе


Lusha   (2002-06-07 08:56:00) [3]

>skiph © (07.06.02 07:30)
Ну, тогда в чем же дело?


skiph   (2002-06-07 07:30:00) [4]

Если работаешь с Word (Excel), то печатать можно двумя способами:
1) Ручной. Делаешь OLEContainer1.DoVerb(ovShow); После этого тебе доступна Wordовая функция печати (пиктограммка).
2) Доступ к печати OLEContainer1.OleObject.Application.ActiveDocument.PrintOut


Lusha   (2002-06-05 11:41:00) [5]

Можно попытаться вывести на печать содержимое OLE контейнера... А его самого использовать в качестве окна предварительного просмотра... Ни разуне пробовал, и даже не уверен, что это возможно... Надо пробовать, но если получится. то будет просто Супер (на мой взгляд)... :)


skiph   (2002-06-05 10:56:00) [6]

А другого способа нет?


skiph   (2002-06-05 03:45:00) [7]

Не хотелось бы: слишком часто в винту придется обращаться. Но это мысль! Оставлю на аварийный случай


Lusha   (2002-06-04 13:16:00) [8]

А обязательно через ClipBoard.... Не проще через SaveAsDocument?


skiph   (2002-06-04 10:55:00) [9]

Ну это я уже давно знаю... :( А вот как кусок вордовского документа из блоба вставить.... Пробовал через TOLEContainer: Stream:=Query.CreateBlobStream(Query.FieldByName("Containe"),bmRead);
OleContainer1.LoadFromStream(Stream);
OleContainer1.Copy;
WordDocument1.Application.Selection.Paste;

Открывает нормально и копирует вроде, а вот на пасте вылетает.


Lusha   (2002-06-04 10:41:00) [10]

Сходите для начала сюда...
http://delphi.mastak.com/cgi-bin/faq.pl?look=1&id=988619885&n=18


skiph   (2002-06-04 06:15:00) [11]

Ну хорошо. А как из блоба вставить в документ?


Lusha   (2002-05-31 09:24:00) [12]

Если поле содержит документ Word, зачем использовать QuickRep?


Наверх

Титульная страница Поиск, карта сайта Написать письмо