论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机理论论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
PowerBuilder的精确套打技术研究

摘    要:针对固定表格进行套打时数据难以实现精确定位的这一实际情况,提出了利用动态数据窗口技术实现的一种解决方案,并详细地介绍了具体实现步骤。

关键词:powerbuilder;套打;动态数据窗口

在进行mis设计时,具体到对固定表格进行套打的设计中,由于固定表格在印刷,设计过程中,常常会出现以下问题:(1)表格的整体位置发生偏移。(2)表格的内容保持不变,但由于具体需要,对其中的某些数据的位置进行了调整。由此,会造成了打印时数据产生错位、偏移等现象。使得打印的整体效果不甚美观,大大的影响了整个程序的性能。这一点上,在车票、学员证件等打印过程中体现地尤为明显。
若每次进行调整后,均需修改源程序,并重新进行编译,这显然会给使用者的工作中带来许多不必要的麻烦。同样的,对于开发者来说,这并不是功能完善的软件系统。所幸的是powerbuilder中提供了强大的动态数据窗口技术,用户可以通过创建数据窗口对象,动态地生成数据窗口,并且在应用程序运行的时候,再将其和一个数据窗口控件进行关联。用户也可以在程序运行过程中,通过程序脚本获取或重新设置数据窗口对象中所有实体的属性。例如,我们可以在程序运行过程中修改datawindow中任何对象,比如列、计算域、图表等的高度、宽度、所在位置等属性值,或者重新定义数据源来实现特殊查询。
实现固定表格精确套打的关键在于两点:其一:表格内数据(即数据窗口中的对象,主要是列或计算域)的移动。其二:数据窗口对象打印格式的保存及恢复。wWw.11665.COM
根据动态数据窗口的技术特点,我们可以在程序中动态地实现固定表格中精确定位打印。powerbuilder中实现精确套打主要涉及到以下几个函数:
1)      dwcontrol.describe ( propertylist )     
获取数据窗口对象或数据窗口对象中某一元素的当前属性值。同样的,也可以使用圆点操作符来获取。
数据窗口中列的横坐标的获取
<dw control name>.describe("<columnname>.x")
<dw control name>.object.<columnname>.x
2)      dwcontrol.modify ( modstring )
用户可以在modstring中使用下列三种语句类型来修改datawindow对象。
1:create object - 在数据窗口对象中增加对象,比如列、绘图对象和计算域等。
2:destroy object - 从数据窗口中删除对象。
3:property assignments - 动态设置数据窗口对象或数据窗口对象中某一元素的属性值。比如背景、颜色、字体大小等。同样的,也可以使用圆点操作符来进行设置。
设置数据窗口中列的横坐标
<dw control name>.modify("<columnname>.x='<an integer>'")
<dw control name>.object.<columnname>.x='<an integer>'
3)      libraryexport ( libraryname, objectname, objecttype )
通过调用libraryexport函数,可以卸出一个窗口对象的源代码,把它存储在一个字符串变量中,然后在create函数中利用此源代码(或做了某些改变的源代码)创建一个数据窗口对象。
string ls_dwsyn, ls_errors
ls_dwsyn = libraryexport("c:\pb\dwtemp.pbl", "d_emp", exportdatawindow!)

4)      dwcontrol.create ( syntax {, errorbuffer } )
利用数据窗口源代码创建数据窗口对象,并将之与数据窗口控件相关联。在调用create( )时,函数的syntax参数可以通过以下三种方法进行定义:(1)调用syntaxfromsql函数 (2)调用libraryexport函数 (3)用户可以自己创建syntax。
dw_1.create(ls_dwsyn, ls_errors)
dw_1.settransobject(sqlca)
dw_1.retrieve( )

5)      libraryimport ( libraryname, objectname, objecttype, syntax, errors {, comments } )
将当前的数据窗口对象导入到pbl库中。用以保存当前数据窗口设置。
string dwsyntax, errorbuffer
integer rtncode
dwsyntax = dw_1.describe("datawindow.syntax")
rtncode = libraryimport("c:\pb\dwtemp.pbl", "d_emp", importdatawindow!, dwsyntax, errorbuffer )

具体实现:
1)      新建一pbl库,print_report.pbl,用以存放需要保存的数据窗口对象。
2)      在程序运行中,数据窗口初始化期间,利用libraryexport( )函数,导入保存在print_report.pbl中地数据窗口对象。
3)      在create( )函数中利用上一步所导入的源代码创建数据窗口对象。
4)      如有需要对数据窗口中的对象进行调整,则对数据窗口中的具体对象的位置利用datawindowname.modify( )进行左右,上下调整。
5)      最后,将调整后的数据窗口设置保存到print_report.pbl库中。
6)      另外,可设置缺省设置,当对数据窗口的对象调整不满意时使用。
至此,完成了一个固定表格精确套打的程序。

 

 

 

参考文献
【1】william b.heys. powerbuilder 6开发指南【m】,北京:电子工业出版社,1998。
【2】刘红岩。数据窗口技术详解 【m】,北京:电子工业出版社,1999。
【3】王蓉。应用开发技术详解 【m】,北京:电子工业出版社,1999。

  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:佚名 [标签: 技术 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    初探WindowsServer2003操作系统的安全配置
    《中文Windows 2003操作系统》教案
    谈谈Web3D技术在现代教学中的应用
    探析嵌入式Web服务器的设计与实现
    当代基于Web技术的高校监考布置系统的不同角
    利用开源框架Struts+Hibernate实现Web应用程
    LabWindows/CVI的应用特点
    基于RRAS与虚拟专用网技术在Windows中的实现
    利用Geoway—Checker软件设计1:5千缩编1:
    微软发布Windows8操作系统
    触摸Windows8
    避免误删,找回Windows8删除文件确认对话框
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有