@#$%^&*()我不懂!请教大家!!!!80分相送,快来看喽!

wljcr 2001-06-07 04:13:00
我想把word文件内容读取出来存放到数据库中(sql sever),怎么样用quickRep打印出来,还有对word文件内容可以进行查询时浏览,我应该怎么做,怎么把word中的内容
存放到数据库中,然后通过什么可以显示出来,并且可以进行打印??
我有一段程序是这个样子的:
procedure TForm1.Button1Click(Sender: TObject);
var
MemSize: Integer;
Buffer: PChar;
MyFile: TFileStream;
Stream: TBlobStream;
begin
OpenDialog1.Filter:='WORD文档(*.DOC)|*.DOC';{从对话窗选择文件}
if OpenDialog1.Execute then
begin
MyFile:=TFileStream.Create(OpenDialog1.FileName ,fmOpenRead);
with table2 do {‘table2’为含BLOB字段的表名}
begin
//Open;
Edit;

Stream := TBlobStream.Create(Fieldbyname('content')as TBlobField, bmWrite);{‘content’为BLOB字段名}
MemSize := MyFile.Size;
Inc(MemSize); {Make room for the buffer's nullterminator.}
Buffer := AllocMem(MemSize); {Allocate thememory.}
try
Stream.Seek(0, soFromBeginning); {Seek 0 bytesfrom the stream's end point}
MyFile.Read(Buffer^,MemSize);
Stream.Write(Buffer^,MemSize);
finally
MyFile.Free;
Stream.Free;
end;
try
Post;
except
on E: EDatabaseError do
if application.HandleException(E) <> 0 then
exit
else
raise;
end;
end;
Doc_ole.CreateObjectFromFile(OpenDialog1.FileName,False);
Doc_ole.Run;{Doc_ole为ToleContainer构件名}
end;
end;
请各位大虾指教一二!
...全文
1779 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
MagicEvil 2001-07-28
  • 打赏
  • 举报
回复
我的邮件你没有收到?
wljcr 2001-06-16
  • 打赏
  • 举报
回复
我的问题还需要我自己来解决!
wljcr 2001-06-12
  • 打赏
  • 举报
回复
wljcr 2001-06-11
  • 打赏
  • 举报
回复
wljcr 2001-06-09
  • 打赏
  • 举报
回复
wljcr 2001-06-08
  • 打赏
  • 举报
回复
我想一想,如果要是打印出来怎么办,怎么打印'content'字段的内容,用QuickRep怎么打?谢谢!!
mrlining 2001-06-08
  • 打赏
  • 举报
回复
保存word文件(以ole格式)
1、声明一个Ole1:TOleContainer
ole1.LoadFromFile(fileName);
table1.edit
blobstream:=table1.CreateBlobStream(field,write);
ole1.savetostream(blobstream);
table1.post;
读取
2、Ole1.loadfromstream(stream);//stream是用createblobstream(field,read)建立的
非常遗憾,ole在显示word文档时,file菜单的大部分功能无法使用,若想预览,可用
ole1的doverb(show)方法将word启动后预览。
mrlining 2001-06-08
  • 打赏
  • 举报
回复
保存word文件(以ole格式)
1、声明一个Ole1:TOleContainer
ole1.LoadFromFile(fileName);
table1.edit
blobstream:=table1.CreateBlobStream(field,write);
ole1.savetostream(blobstream);
table1.post;
读取
2、Ole1.loadfromstream(stream);//stream是用createblobstream(field,read)建立的
非常遗憾,ole在显示word文档时,file菜单的大部分功能无法使用,若想预览,可用
ole1的doverb(show)方法将word启动后预览。
wljcr 2001-06-08
  • 打赏
  • 举报
回复
???
wljcr 2001-06-08
  • 打赏
  • 举报
回复
up again
wljcr 2001-06-08
  • 打赏
  • 举报
回复
go up
wljcr 2001-06-08
  • 打赏
  • 举报
回复
我现在最多只能加到90分了,我的问题万分火急,求求各位帮个忙了!!!
wljcr 2001-06-08
  • 打赏
  • 举报
回复
没有人知道具体应该怎么办吗?我愿意出500分,我说到做到,求求各位了
wljcr 2001-06-08
  • 打赏
  • 举报
回复
InfoPower这个东西不好用!
xiaonan 2001-06-08
  • 打赏
  • 举报
回复
你用 INFOPOWER 控件很简单就能解决此问题
wljcr 2001-06-08
  • 打赏
  • 举报
回复
?
wljcr 2001-06-08
  • 打赏
  • 举报
回复
没有人知道吗?
wljcr 2001-06-08
  • 打赏
  • 举报
回复
wljcr 2001-06-07
  • 打赏
  • 举报
回复
Apollo47(阿波罗):能不能给个详细的例子,我知道OleContainer1 控件的窗体上有主菜单。我是打印一套报表,把TBlobField的内容当作附页,问应该如何处置??
wljcr 2001-06-07
  • 打赏
  • 举报
回复
quickreport怎么用? 嘿嘿!按刚刚转行,不懂!
加载更多回复(10)

5,390

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧