电脑教程中文网
首页  动态网站建设学习 程序  笑话  论坛 娱乐  交友 ADSL  峄城  成功者
中文名:电脑教程中文网,收集了大量的电脑教程! 编程技术文档 游戏开发 笑话站暂时关闭 设为首页
网页设计 HTML | Dreamweaver | CSS | Firework | FrontPage WEB开发 ASP | JSP | PHP | .NET | CGI | JS | VBS | XML | IIS6 | Apache | PWS
程序设计 Java | C++ |VC++ | C# | Delphi | VB | C语言 | 汇编 | Pascal | Perl 数据库 MSSQL | MySQL | Access | VF | Oracle | DB2 | SYBASE |
办公软件 Word | Excel | WPS | PowerPoint 动画平面 Photoshop | ACDSee | 3Dmax | Flash | Coreldraw |
操作系统 Windows 2000 | Windows XP | Windows 2003 | SCO Unix | Windows Vista | unix、Linux | 综合| 服务器 | 系统安全| 黑客技术
其  他 UltraDev | DOS | UML | PWS | Powerbuilder | 开发心得 | 设计理念 | 病毒库 | 其他 | LightTPD (分类排序给您带来不便请谅解)
推  荐: Java文档500篇》《ASP.NET与相关数据库技术高级指南》《TC图形函数详解》《C函数速查手册》《C语言编程宝典之一》《MFC深入浅出》《黑客零起点》《VC++ 编程指南》《JScript 用户指南》 《CSS教程宝典》《Microsoft Jet SQL 参考》《delphi技巧集合》《MySQL 4.1.0 中文参考手册》《MySQL中文手册
【导航】 您现在的位置 : 首页 - Powerbuilder教程 - 《Powerbuilder教程 - 基础教程》- PB中使用FORMULA ONE入门介绍

PB中使用FORMULA ONE入门介绍

日期:2005-9-9 17:16:46    作者:Jane_sun   人气:   来源:网络




在使用 POWERBUILDER 编程中,往往会遇到处理复杂表格的情况,这些表格数量很大,表格结构复杂,如用一般的 FREEFORM 风格的数据窗口来实现,则报表编程工作会占相当大的时间及精力,一旦报表格式略有改变,则程序的维护工作会很繁琐。其实 VISUAL COMPONENTS 的 FORMULA 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_1 的 OLE 对象,在其上用鼠标右键选中 OCX Properties 项,在 Show 标签下可将 Row Heading 和 Column 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 文件。

实际上, read 、 write 、 savefiledlg 等函数都是 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 len ( blob 变量 )>0 then

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

end if

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

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

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




网站首页 - 友情链接 - 公司简介 - 联系方式 - 广告投放 - 客户服务 - 错误报告 - 免责声明 - About us
CLDE.NET电脑教程中文网版权所有 未经许可禁止镜象和复制本站资料 MSN:CLDE_NET@hotmail.com
技术支持:CLDE.NET信息中心 鲁ICP备05039940号 友情链接QQ:784079(隐)