300分 ! 全力求教 关于word文档的显示问题 !!!(300分)

  • 主题发起人 主题发起人 AnpAn
  • 开始时间 开始时间
A

AnpAn

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在搞一个题库,用access保存了题目及答案(都是word文档),用treeview作一
个目录调出来。怎样在程序界面上显示调出来的word文档?(要象DBgrid显示表格一样简单
方便)
以我看的资料来看,大多数都是说用OLEcontainer这个控件的,但我乱搞了一通之后只
能显示一堆乱码。用这个控件究竟有没有错?要是没错,麻烦大虾指点下怎么用这个控件;
要是错了,那就........
由于是刚学delphi没多久,悟性有限,麻烦大虾说详细点,要是觉得贴在这里麻烦,也
可以qq聊聊:16760262

希望各位大虾多多指教,不要怕麻烦哦......0_0.......
 
加急!!!
 
用infopower的wwdbgrid控件啊!
我做的培训管理软件就是通过他把试卷存到数据库中去的!
不用编写任何代码!
可以到www.51delphi.com去下载!
 
如果是通过文件流存进去的可以用这种方式
tf:string;
f:TAdoblobStream;
try
f:=Tadoblobstream.create(TBlobField(table1.fieldbyname('存放word的字段'),bmread);
tf:='tempdoc.doc';
f.savetofile(tf);
olecontainer1.createobjectfromfile(tf,false);
finally
freeandnil(f)
end;
 
vmao老兄,那个控件不是delphi自带的吧?
52free老兄,我用的是table......还有你说的那个文件流,好难懂啊
我只是在access的字段类型那里选择ole对象,插入的对象是word文档,然后希望
可以实现读出、修改。你这段程序,我看看先,谢谢!呵呵,最好说的简单明了点,
基础太烂了 :(
 
怎么会是自带的呢?自带的是dbgrid 它是wwdbgrid
不过我还是说错了!是infopower的wwdbrichedit控件!
它可以单独使用也可以接到wwdbgrid上的!
 
procedure TForm.ButtonClick(Sender:TObject);
var
V:Variant;
begin
V:=CreateOleObject('Word.Basic');
V.AppShow;
V.FileNew;//创建一个新的Word文件
V.Insert('我好穷啊,给我点分吧');
end;
 
这个应该很常用的吧?怎么这么少大虾给意见啊 ? :(
吐血求救......0_0........
我会好好参考各位的意见,搞一通,搞定了就派利是 *_*
 
WebBrowser1.Navigate(strFileName);
 
我目前也正做这个事,把 word文档读进去易如反掌,如果要让他显示出来,难啊,看了别人的例子,相当繁琐。
 
用OLECONTAINER创建一个流,保存到库里。
通过 container.loadfromstream 读取显示。
procedure TForm1.BtnWriteClick(Sender: TObject);
var
Ms : TMemoryStream;
FileName : String;
ConTainer : TOleContainer;
begin
ConTainer := TOleContainer.Create(nil);
Ms := TMemoryStream.Create;
try
ConTainer.DestroyObject;
ConTainer.CreateObjectFromFile(FileName,false);
ConTainer.SaveToStream(Ms);
with ADOTable1 do
begin
Edit;
TBlobField(FieldbyName('Content')).LoadFromStream(Ms);
Post;
end;
finally
ConTainer.Free;
ms.Free;
end;
end;

procedure TForm1.btnReadClick(Sender: TObject);
var
Ms : TMemoryStream;
begin
Ms := TMemoryStream.Create;
Try
TBlobField(ADOTable1.FieldByName('content')).SaveToStream(Ms);
OleContainer1.LoadFromStream(Ms);
finally
Ms.Free;
end;
end;
 
派分了,差点忘了
 
后退
顶部