![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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?