中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
Delphi与Word之间的融合技术(3)
作者:佚名 时间:2007-09-18 16:41 出处:51cto 责编:月夜寒箫
              摘要:Delphi与Word之间的融合技术(3)
五、从数据库读取文件到本地硬盘和从本地硬盘读取文件到数据库

 

在数据库上使用Image二进制字段保存,使用Stream流的方式。

创建文件流:

Word_FileStream:=TFileStream.Create(Target_Name,fmOpenWrite or fmCreate);

Word_FileStream.Position:=0;

保存到数据库的Image字段:

TBlobField(AdoQuery1.FieldByName(Column_Name)).SaveToStream(Word_FileStream);

从数据库读取文件到本地硬盘:

TBlobField(ADOQuery1.FieldByName(Column_Name)).loadfromStream(Word_FileStream);

释放文件流:

Word_FileStream.Free;

六、全局消息的定义

因为word和Delphi程序是两个软件,相互之间通讯比较麻烦,所以使用全局消息的方法进行。全局消息必须首先注册,Windows返回系统空闲的消息号,当注册的消息相同时,Windows系统返回同一个值,这样就保证了使用这个消息号在两个程序之间通讯。

定义消息的办法:

szMessageString: pchar = 'XIDIAN_11_Stone';

FMyJoinMessage := RegisterWindowMessage(szMessageString);

发送消息的方法:

SendMessage(对方句柄,消息,消息附带短变量,消息附带长变量)

七、Delphi程序接收消息的方法

Delphi接收消息有两种,一是重载特定消息,二是重载WndProc函数,在里面选择相应消息进行处理。

法一,每次只能处理一条消息,而法二能够同时处理多条消息。

对于法二,声明如下:

procedure WndProc(var Message: Tmessage);override

必须注意,使用时需要在处理完自己消息处理后继承WndProc(Message)函数,否则系统会崩溃!

八、Word中Combo对话框的动态生成以及Change事件

建立类模块Combohander,在内部定义事件

Public WithEvents ComboBoxEvent As Office.CommandBarComboBox

定义Combo控件产生事件的模块

Dim ctlComboBoxHandler As New ComboBoxHandler

产生Combo对话框

Set Cbo_ChooseDoc = CommandBars("添加的菜单").Controls.Add(Type:=msoControlComboBox, Temporary:=True)

进行文件句柄设置,以产生Combo_Change事件

Set ctlComboBoxHandler.ComboBoxEvent = Cbo_ChooseDoc

产生事件后,在类模块Combohander内选择ComboBoxEvent的Change事件,即可书写事件代码

Sub ComboBoxEvent_Change(ByVal Ctrl As Office.CommandBarComboBox)

九、一些Word的事件

VBA代码中处理的Word事件有:Document_Close

Application事件中需要处理的有:DocumentBeforeClose,DocumentChange。

Document_Close:事件在文档关闭时产生事件

DocumentBeforeClose:在文档被关闭以前先于Word判断文档是否保存,给出相应提示并进行相应处理。

DocumentChange:文档切换,在文档从自己修改的文稿和其他人修改的文稿之间切换产生事件,主要处理设置文档权限等

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有