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


Автор: DmitrichJ 13.9.2005, 00:10
Суть:
Есть БД, где хранятся файлы Word и Excel, записанные следующим образом:
..
Код

var
  BlobF:AnsiString;
  S:TStringStream
..  
    assignFile(f,namef);
    reset(f);
    BlobF:='';
    while not eof(f) do begin
      read(f,c);
      BlobF:=Blobf+c;
    end;
    CloseFile(f);

    s:=TStringStream.Create(BlobF);

    Form1.IBQuery1.SQL.Text:='insert into table4_docs (np,docs) values ('
    +inttostr(ch)+',:T1)';

    Form1.IBQuery1.ParamByName('T1').ParamType:=ptInput;
    Form1.IBQuery1.ParamByName('T1').LoadFromStream(s,ftblob);
    Form1.IBQuery1.ExecSQL;
    Form1.IBTransaction1.Commit;
    S.Free;

Подскажите как можно открыть Word или Excel соответственно (не в своём приложении) и без сохранения на ЖД и загрузить туда данные из Form1.IBQuery1.Fields[1]?

И можно ли сделать всё это проще и подругому?
Заранее спасибо!

Автор: <Spawn> 13.9.2005, 05:19
Проще? Воспользоваться TFileStream.
Открыть Word \ Excel можно используя позднее или раннее связывание - примеров по этому уйма в этом разделе. Используйте поиск. Скажу лишь, что для позднего связывания нужно использовать CreateOleObject, а для раннего использовать компоненты панели Servers.

Автор: DmitrichJ 13.9.2005, 11:43
Spawn, расскажите хотябы чуть подробнее. Я просмотрел абсолютно всё из этого раздела, но не смог найти то что мне нужно

Автор: DmitrichJ 13.9.2005, 12:07
Допустим есть
..
var
s:TFileStream;
..
s:=TFileStream.Create(filename,0);
..

Как открыть word или excel из потока S без сохранения на ЖД? Никак не могу найти... помогите разобраться... smile smile

Автор: DmitrichJ 14.9.2005, 14:44
Ну кто- нибудь напишите пару волшебных строк, для открытия документа из потока!!!

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