- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于数据窗口技术用户可管理界面软件的实现.doc
基于数据窗口技术用户可管理界面软件的实现
摘要:利用Powerbuilder数据窗口技术实现最终用户对应用软件界面的管理,并将用户对界面的修改结果持久存储到数据库,软件开发者无需对软件重新编译和连接,提高了软件的适应性,降低了软件维护成本。
关键词:数据窗口;用户可管理界面软件;用户界面;Powerbuilder
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)08-1654-03
用户可管理界面软件也称为用户可配置界面软件,是指允许软件使用者,也就是软件的最终用户通过软件自带的功能对用户界面进行管理,如修改界面的外观,增加或减少界面元素等,并且将这些变化持久存储,而无需软件开发商对已发布的软件进行重新编译和发布,因此用户可管理界面软件可以提高软件的适用性,降低软件的维护成本。
用户可管理界面软件既是一种技术,也是一种编程思想和方法,可以在任何开发工具中加以贯彻。该文给出的是基于Powerbuilder数据窗口技术的一种实现。
1 总体设计思路
Powerbuilder应用程序中,界面元素包括窗口、菜单、窗口中的各种控件等,数据窗口(DataWindow)控件是窗口控件的一种,数据窗口控件通过与数据窗口对象相结合,用多种风格向用户展示数据并将用户对数据操作的结果保存到数据库中,因此数据窗口构成了应用程序界面的最主要的元素。该文主要介绍数据窗口界面用户可管理的实现,窗口及窗口中其它控件的实现思想与此类似。
对用户界面的管理包括获取用户界面的各种界面元素、对界面元素的属性进行重新设置、持久存储修改结果、界面再次被载入时通过最后一次的修改结果重构数据窗口等主要内容。总体结构图如图1所示。
2 系统实现
首先构造一个数据窗口类型的用户可视对象,所有的编程都是面向该用户对象的,应用程序中的数据窗口控件都继承自该对象,因此不会增加程序员的工作量。
2.1 数据窗口语法的读取及数据窗口的重构
数据窗口的重构是指使用已经存储的数据窗口语法重新构建数据窗口,代码可以放入数据窗口控件的constractor事件中。
首先检查数据库中是否保存有该数据窗口的语法,若存在,则取得该数据窗口的语法,通过该语法重建该数据窗口;若用户未对该数据窗口进行过管理配置,则不存在该数据窗口语法的存储信息,这时直接使用原始数据窗口。数据窗口构建(constractor)事件代码如下:
string ls_datawindow_name,ls_datawindow_script,ls_error
blob lb_script
ls_datawindow_name =this.dataobject
long ll_count
//检查数据库中是否已保存了该数据窗口的语法
select count(*) into :ll_count from dw_describe_script
where datawindow_name = :ls_datawindow_name;
if ll_count0 then
//已存在该数据窗口的语法,则取得原有语法
selectblob datawindow_scrip into :lb_script from dw_describe_script
where datawindow_name = :ls_datawindow_name;
ls_datawindow_script = string(lb_script)
//通过所取得的数据窗口语法重建数据窗口
this.create(ls_datawindow_script,ls_error)
if len(ls_error) 0 then
MessageBox(错误信息, 创建数据窗口错误: ~r + ls_error)
end if
end if
其中dw_describe_script表包括数据窗口对象名(datawindow_name)及数据窗口语法(datawindow_scrip)等列。
2.2 数据窗口语法的获取及保存
当用户对数据窗口进行了修改后,可在数据窗口控件的destructor事件中获取修改后的数据窗口语法,并保存到数据库中。保存数据窗口语法的代码如下:
string ls_datawindow_name,ls_datawindow_script
blob lb_script
long ll_rows
ls_datawindow_name=this.dataobject//取得数据窗口对象名字
//取
您可能关注的文档
最近下载
- T_CECA20011-2021:含铁含锰地下水接触氧化法给水处理技术规程.pdf VIP
- 事故应急技术第一章 应急管理概论课件.ppt VIP
- 包括乘用车项目风险管理分析报告(仅供参考).docx VIP
- 高中物理必修2机械能守恒练习题.pdf VIP
- BS EN 573-3-2019 铝和铝合金.锻制产品的化学成分和形式.第3部分:产品的化学成分和形 式.pdf VIP
- 学堂在线 高技术与现代局部战争 章节测试答案.docx VIP
- 风光储电站成本构成全套.docx VIP
- 数字信号处理(英文版)教学课件.ppt VIP
- 白话机器学习算法.pdf VIP
- 职业技术学院网络营销与直播电商专业人才培养方案(2024版).pdf VIP
文档评论(0)