首页 > 演讲致辞 > 会议致辞 / 正文
[PowerBuilder的精确套打技术研究]精确的技术
2019-12-01 07:39:25 ℃在进行MIS设计时,具体到对固定表格进行套打的设计中,由于固定表格在印刷,设计过程中,常常会出现以下问题:(1)表格的整体位置发生偏移。(2)表格的内容保持不变,但由于具体需要,对其中的某些数据的位置进行了调整。由此,会造成了打印时数据产生错位、偏移等现象。使得打印的整体效果不甚美观,大大的影响了整个程序的性能。这一点上,在车票、学员证件等打印过程中体现地尤为明显。
若每次进行调整后,均需修改源程序,并重新进行编译,这显然会给使用者的工作中带来许多不必要的麻烦。同样的,对于开发者来说,这并不是功能完善的软件系统。所幸的是PowerBuilder中提供了强大的动态数据窗口技术,用户可以通过创建数据窗口对象,动态地生成数据窗口,并且在应用程序运行的时候,再将其和一个数据窗口控件进行关联。用户也可以在程序运行过程中,通过程序脚本获取或重新设置数据窗口对象中所有实体的属性。例如,我们可以在程序运行过程中修改DataWindow中任何对象,比如列、计算域、图表等的高度、宽度、所在位置等属性值,或者重新定义数据源来实现特殊查询。
实现固定表格精确套打的关键在于两点:其一:表格内数据(即数据窗口中的对象,主要是列或计算域)的移动。其二:数据窗口对象打印格式的保存及恢复。
根据动态数据窗口的技术特点,我们可以在程序中动态地实现固定表格中精确定位打印。PowerBuilder中实现精确套打主要涉及到以下几个函数:
1)Dwcontrol.Describe(propertylist)
获取数据窗口对象或数据窗口对象中某一元素的当前属性值。同样的,也可以使用圆点操作符来获取。
数据窗口中列的横坐标的获取
<DWControlName.Describe("<Columnname.X")
<DWControlName.Object.<Columnname.X
2)Dwcontrol.Modify(modstring)
用户可以在modstring中使用下列三种语句类型来修改Datawindow对象。
1:Createobject-在数据窗口对象中增加对象,比如列、绘图对象和计算域等。
2:Destroyobject-从数据窗口中删除对象。
3:Propertyassignments-动态设置数据窗口对象或数据窗口对象中某一元素的属性值。比如背景、颜色、字体大小等。同样的,也可以使用圆点操作符来进行设置。
设置数据窗口中列的横坐标
<DWControlName.Modify("<Columnname.X=#39;<aninteger#39;")
<DWControlName.Object.<Columnname.X=#39;<aninteger#39;
3)LiparyExport(liparyname,objectname,objecttype)
通过调用LiparyExport函数,可以卸出一个窗口对象的源代码,把它存储在一个字符串变量中,然后在Create函数中利用此源代码(或做了某些改变的源代码)创建一个数据窗口对象。
Stringls_dwsyn,ls_errors
ls_dwsyn=LiparyExport("c:pbdwTemp.pbl","d_emp",ExportDataWindow!)
4)Dwcontrol.Create(syntax{,errorbuffer})
利用数据窗口源代码创建数据窗口对象,并将之与数据窗口控件相关联。在调用Create()时,函数的Syntax参数可以通过以下三种方法进行定义:(1)调用SyntaxFromsql函数(2)调用LiparyExport函数(3)用户可以自己创建Syntax。
dw_1.Create(ls_dwsyn,ls_errors)
dw_1.Settransobject(sqlca)
dw_1.Retrieve()
5)LiparyImport(liparyname,objectname,objecttype,syntax,errors{,comments})
将当前的数据窗口对象导入到PBL库中。用以保存当前数据窗口设置。
stringdwsyntax,ErrorBuffer
integerrtncode
dwsyntax=dw_1.Describe("DataWindow.Syntax")
rtncode=LiparyImport("c:pbdwTemp.pbl","d_emp",ImportDataWindow!,dwsyntax,ErrorBuffer)
具体实现:
1)新建一PBL库,Print_report.pbl,用以存放需要保存的数据窗口对象。
2)在程序运行中,数据窗口初始化期间,利用LiparyExport()函数,导入保存在Print_report.pbl中地数据窗口对象。
3)在Create()函数中利用上一步所导入的源代码创建数据窗口对象。
4)如有需要对数据窗口中的对象进行调整,则对数据窗口中的具体对象的位置利用DataWindowname.Modify()进行左右,上下调整。
5)最后,将调整后的数据窗口设置保存到Print_report.pbl库中。
6)另外,可设置缺省设置,当对数据窗口的对象调整不满意时使用。
至此,完成了一个固定表格精确套打的程序。
猜你喜欢
- 2021-10-06 2021反法西斯胜利抗战心得
- 2021-10-06 名著红岩的读书心得读书笔记5篇
- 2021-10-05 弘扬伟大长征精神中心组发言
- 2021-10-02 建设世界重要人才中心和创新高地青年心得体会【五篇】精选
- 2021-05-06 区县义务教育均衡发展实验区县建设方案
- 2021-05-06 疫情防控个人现实表现
- 2021-05-06 学习科学发展观心得体会:坚持“六个必须”
- 2021-05-06 入党申请书思想方面怎么写
- 2021-05-05 校园安全方面演讲稿
- 2021-05-05 2篇基层党员干部政法队伍教育整顿民主生活会个人对照检查材料范文
- 搜索
-
- 重点信访人员处理及稳控措施汇报 04-22
- 「部编版」五年级上语文期末,课内阅读, 10-10
- 成立新党支部请示 10-19
- 十四五规划编制心得体会思路发言5 09-13
- 硕士研究生中期考核个人总结 09-27
- 部队基层管理案例分析及心得体会 10-28
- 学习全国公安工作会议精神心得体会 04-23
- 党员学习四史心得体会3篇 08-11
- 对当前信访维稳工作对策与建议 05-10
- 幼儿园新冠肺炎疫情防控各岗位工作责任 03-25
- 11-25国庆70周年庆典晚会 庆典晚会串词
- 11-25办公室礼仪的十大原则 浅谈办公室的电话礼仪
- 01-17用心灵轻轻地歌唱_心灵的歌唱
- 01-17也许你不是我一生的唯一|也许不是我
- 01-17爱了,请珍惜;不爱,趁早放手|爱就珍惜不爱就放手
- 01-17岁月带走的是记忆,但回忆会越来越清晰|有趣又有深意的句子
- 01-17曾经的美好只是曾经,我只想珍惜身边的人|我只想珍惜你
- 01-18从容不惊 [学会笑眼去看世界,不惊不乍,淡定从容]
- 02-03当代大学生学习态度调查报告
- 02-03常用护患英语会话
- 标签列表