当前位置:首页>> PowerBuilder>> PB入门

全文搜索

精华导读

·EasyERP2004 制造行业通用性ERP管理系统
·PB中表的修改对数据窗口和报表的影响的解决办法
·在PB中实现Word内容的替换
·office xp风格菜单基本版
·用PB制作outlook界面源程序(非原来的老外版本)(
·将所见dw内容(包括计算字段)输出到execl中
·ERP在中国应用面临的问题
·PB中使用FORMULA ONE(实例篇
·控制打印机的动态库,兼容win98/98/me/nt2000/xp
·易佳自定义报表系统
·用例驱动的需求过程实践

最新发表

·仿windows优化大师界面(源码)
·常见问题的经典解决之SPLITBAR
·pb技巧
·PowerBuilder 10 Beta1下载和相关信息
·如何在pb9中调用WebService
·在非PB9 JSP Target的jsp网页中调用EAServer组件
·质量管理的十三项步骤和八项原则
·用预测性对象点度量面向对象软件(下)
·用预测性对象点度量面向对象软件(上)
·软件开发度量及考核方法
·点度量(4)—最新发布度量方法及参考
·点度量(3)—功能规模度量方法选择
·点度量(2)—功能规模度量方法评价
·点度量(1)—功能规模度量方法概述
·如何对软件质量进行评估
·从印度软件项目管理谈我国软件质量保障
·步步为营,把好质量关
·软件产品的可用性的测试
·软件测试认识的几个误区

PB中使用FORMULA ONE入门介绍(作者 Jane_sun)

文章来源:互联网络 文章编辑:admin 添加时间:2004-1-14

作者:Jane_sun email: Jane_sun@163.net

在使用POWERBUILDER编程中,往往会遇到处理复杂表格的情况,这些表格数量很大,表格结构复杂,如用一般的FREEFORM风格的数据窗口来实现,则报表编程工作会占相当大的时间及精力,一旦报表格式略有改变,则程序的维护工作会很繁琐。其实VISUAL COMPONENTSFORMULA ONE就是一个与POWERBUILDER结合非常紧密的报表工具,我们可以从POWERBUILDER进入FORMULA ONE,还可以在POWERBUILDER下直接使用FORMULA ONE提供的各种函数,因为FORMULA ONE的文件小,与数据库的存取操作速度较快,所以建议使用它来制作报表。下面详细介绍它的使用方法:

一、    安装及使用FORMULA ONE

 formula one在本站有下载,注意6.0版本安装过程中要输入序列号,否则使用时会告警。安装完毕后,运行vcf1.exe可看到如上的程序环境,其文件后缀名为vts,它兼容中文,具备类似EXCEL的功能:如格式编排、制作表格线、移动和复制单元格、单元格的计算、画简单框图等等。另外,FORMULA ONE中还具有上百种函数,可以在VISUAL C++VISUAL BASIC、和POWERBUILDER中引用。对此不再详细说明。

二、在POWERBUILDER窗口中加入一个OLE控件

POWERBUILDER支持WINDOWS具备的对象连接与嵌入功能(即OLE功能),我们可以直接在窗口上放置OLE 2.0的控件,然后将WINDOWS支持的OLE对象连接到OLE 2.0控件中,这样就能在POWERBUILDER应用中利用OLE服务器的命令和函数完成对OLE对象的操作工作。

POWERBUILDER的窗口中点中OLE图标:

会出现“插入对象”对话框,选择insert control 标签项(如下图),

 

在对象列表中选择 Vci Formula One Workbook,按确定键后,选好插入位置点击鼠标,即加入了一个名为ole_1OLE对象,在其上用鼠标右键选中OCX Properties项,在Show标签下可将Row HeadingColumn Heading项取消选中,将Tabs的值由Bottom改为Off(如下图),加入的OLE对象就是一个没有行头、列头及标签的空白表格。

 

 

三、FORMULA ONE文件与窗口中的OLE对象之间进行读写操作

Ole_1.object.read(“filename”,ref return1)

该句将一个FORMULA ONE文件内容读入OLE对象,返回值为return1

此后在窗口的ole_1中会出现该文件内容,可直接在窗口上修改其内容,也可以双击鼠标右键可进入FORMULA ONE的编辑环境中进行修改。

Ole_1.object.savefiledlg(“保存文件”,ref filename,ref return1)

Ole_1.object.write(filename,return1)

这两句首先给出一个保存文件对话框,让使用者输入一个FORMULA ONE文件名,然后再将OLE对象内容写入FORMULA ONE文件。

实际上,readwritesavefiledlg等函数都是FORMULA ONE所有的,POWERBUILDER中只需在Ole_1后加一个object即可引用这些函数。

四、数据库与FORMULA ONE文件之间进行读写操作:

1.数据库中大文本字段内容读入FORMULA ONE文件中:

selectblob 大文本字段名 into :blob变量名 from 表名 where…

该句查询大文本字段内容到blob变量中。

If fileexist(“file1.vts”) then

    filedelete(“file1.vts”)

End if

Return1=fileopen(“file1.vts”,streammode!,write!)

以上语句新建了一个临时文件file1.vts

If return1<>-1 then

    filewrite(return1,blob变量)

    fileclose(return1)

Else

    messagebox(“error”, “Can’t open file!”)

End if

本条件语句将blob变量的内容写入临时文件中,如出错则告警。

2.FORMULA ONE文件的内容存入数据库中

return1=fileopen(“file1.vts”,streammode!,write!)

If return1<>-1 then

    fileread(return1,blob变量)

    fileclose(return1)

end if

以上语句将临时文件内容读入blob变量中。

if lenblob变量)>0 then

    updateblob 表名 set 大文本字段名=:blob变量 where…

end if

该条件语句给数据库中的大文本字段赋值。

如上所述可以利用FORMULA ONE的文件实现POWERBUILDER窗口中OLE对象与数据库大文本字段之间信息传送。此外,在POWERBUILDER中也提供数据窗口中用EXCELOLE对象来存取数据库的大文本字段,但它不能调用EXCEL的函数,因此不够灵活。此种方法占用的系统资源是FORMULA ONE的数倍,在大型数据库的存取操作中会大大增加日志,存取速度也会减慢,因此不适合大范围应用。

在日常应用中,首先制作一个FORMULA ONE的报表模板文件,通过POWERBUILDER窗口的OLE对象打开该文件,填好内容后存入数据库,此后就可以对数据库中已存在的报表字段进行存取操作。如果报表格式发生变化,则直接修改模板文件即可,不需要改动程序,维护相当方便。

[ ]

首页 评论 打印 刷新 返回顶部 关闭
【相关文章】  【相关评论】
PB中使用FORMULA ONE(实例篇