如何将试题库中的内容输出到WORD 文档? ( 积分: 100 )

  • 主题发起人 主题发起人 有待提高
  • 开始时间 开始时间

有待提高

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将SQL SERVER2000试题库中的图像(Image类型)和文本(Char类型)的字段内容同时送到WORD模板中进行编辑?这是本人毕业设计中的问题,至今没有解决,十分着急!
 
如何将SQL SERVER2000试题库中的图像(Image类型)和文本(Char类型)的字段内容同时送到WORD模板中进行编辑?这是本人毕业设计中的问题,至今没有解决,十分着急!
 
这个就是Word的OLE调用的问题,先打开一个word实例,然后读取数据库中相应的字段填写到模板中对应的位置,挺简单的。
 
能否解释的具体点?谢谢!
 
其实Word的每一项操作都可以用程序来控制,包括excel等,我记得2年前看过一本专门关于Delphi操控Word的书。其中每一项命令象建立一个Word文档,往Word文档里的指定位置插入一张图片等。
但是据我知道好像有好几种方法能够实现你的要求,Delphi下Servers控件页下的一些关于Word的一些控件你可能会用到,BBS里以前也有过这方面的帖子你可以收一下,应该对你有帮助!
 
我本来想过一个方案:通过DBRICHEDIT 先把试题库中的文本输出到DBRICHEDIT对象中,然后再把IMAGE类型的数据和前面的数据混排,然后保存成富文本格式,富文本格式和WORD 是兼容的,可是RICHEDIT对象中如何粘贴图像?可以通过剪贴板吗?虽然这里有很多种文章介绍这些方法,但是我没有看到很最具体的方法,不知道那位大虾能帮我具体描述一下.我初次到大富翁来,原谅...
 
用rxrichedit可以实现通过剪贴板粘贴图象。
 
用流就可以了在RichEdit中,
我们假设是在RichEdit显示带有图片等信息的内容
var
OleStream: TMemoryStream;//用来进行读取和保存的操作。
数据表的连接我就不说了,假设用的是ADOQuery。
用OleStream前要进行
OleStream := TMemoryStream.Create;
用完要 OleStream.Free;

保存到数据库:(这里我只说编辑后后保存,添加类似)
OleStream := TMemoryStream.Create;
try
RichEdit.Lines.SaveToStream(OleStream);//读取RichEdit的内容。
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM 数据表 WHERE 字段名=数据');//这里字符串自己根据自己的数据库添加,就是要找到需要修改的记录
Open;
Edit;
TBlobField(FieldbyName('OleObject')).LoadFromStream(OleStream);//关键就是这句,字段是OleObject。
Post;
end;
finally
OleStream.Free;
end;

读取数据:
OleStream := TMemoryStream.Create;
try
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM 数据表 WHERE 字段名=数据');//这里字符串自己根据自己的数据库添加,就是要找到需要修改的记录,字段是你存放图片的字段
Open;
TBlobField(FieldbyName('OleObject')).SaveToStream(OleStream);//读取内容
OleStream.Position := 0;
RichEdit.Lines.LoadFromStream(OleStream);//显示内容
end;
finally
OleStream.Free;
end;

这只是说的存取数据库中的字段是通过RichEdit的,与WORD相连的话,只需要利用剪贴板了,这个你应该会吧,就是RichEdit.CopyToClipboard,然后在WORD的文档中用Selection的Paste就可以了。
 
这里看看有没有些帮助吧
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1990538
如何在Word中指定格子插入图片
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部