PowerBuilder是面向对象的数据库开发工具之一
它可以操纵很多大型数据库和桌面数据库
但它对中国式报表打印不太方便
而 Excel对此却非常容易
若把两者结合起来使用则可取长补短
建立一个Excel工作表以mxzxls为文件名保存
然后编写脚本如下并执行
long handle_
handle_=openchannel(″excel″″mxzxls″)//建立与Excel的通道
setremote(″rc″″序号″″excel″″mxzxls″)
setremote(″rc″″摘要″″excel″″mxzxls″)
setremote(″rc″″收入″″excel″″mxzxls″)
setremote(″rc″″支出″″excel″″mxzxls″)
setremote(″rc″″余额″″excel″″mxzxls″)
setremote(″rc″″日期″″excel″″mxzxls″)
execremote(″[Save()]″″excel″″xmkxls″)
上述脚本执行后再打开mxzxls它变成了如图的模样
其实这段脚本用到了三个DDE客户函数OpenChannel()SetRemote()和ExecRemote()其实掌握了这三个DDE函数就可以随心所欲地写出打印功能十分强大的PowerBuilder数据库程序来
1OpenChannel()
它的功能是打开连接DDE服务器的通道
语法 OpenChannel ( applname topicname { windowhandle } )
参数
applnamestring类型指定DDE服务器应用的DDE名称
topicnamestring类型指定命令中要使用的DDE应用的数据或实例
windowhandlelong类型可选项指明用作DDE客户的PowerBuilder窗口的窗口句柄省略该参数时当前应用中的活动窗口用作DDE客户
返回值long类型函数执行成功时返回一个正数作为已打开通道的句柄发生错误时返回下述值之一
-打开失败
-句柄为NULL
示例 下面的代码建立到Excel的DDE通道之后请求三个单元格的数据并把这些数据保存在数组s_regiondata中DDE会话的客户端窗口为w_ddewin
long handle
[] [] []