美章网 资料文库 CAE软件数据驱动对话框的研发范文

CAE软件数据驱动对话框的研发范文

时间:2022-08-14 10:45:55

CAE软件数据驱动对话框的研发

《计算机辅助工程杂志》2014年第三期

1Z-Dialog原理

Z-Dialog模块开发工具采用MicrosoftVC++.利用面向对象的开发思想[3],将其主要封装在CMoldDefine,CMoldData和从CDialog继承的Z-Dialog对话框等3个类中.CMoldDefine类用来操作定义文件;CMoldData类用来操作结果数据文件;Z-Dialog类用来管理对话框.Z-Dialog类主要包含对话框组件类的数组.对话框组件类从MFC的组件类继承而来,主要包括文本、编辑框、下拉框和列表件等.在这些类中添加新的成员和方法以扩充组件的状态和操作.通过这些新的成员和方法将对话框与定义文件和数据文件紧密结合起来,实现数据驱动功能.首先创建CMoldDefine定义文件对象,依照定义文件格式读取数据文件,从而创建CMoldData对象;然后利用CMoldDefine类的实例生成Z-Dialog对象的对话框组件对象的数组,利用CMoldData对象给这些组件对象赋值,在Z-Dialog::OnInitDialog中创建这些组件.此时,调用Z-Dialog::DoModal方法就可以显示对话框.同时,利用消息映射编写统一的事件函数,左键单击处理用户对这些组件的操作.编写Z-Dialog::DoDataExchange函数进行数据交换.[4]在用户关闭对话框时,可将更新后的数据写入结果数据文件中,下次打开对话框便是更新后的数据.如何开发合适的对话框定义文件是实现数据驱动对话框的关键所在,也是研究的重点.

2对话框定义文件

Z-Dialog模块的核心是对话框定义文件的实现.在定义文件中提出CDST,CODE和DATA等数据结构.CDST是CODE的集合,CODE是一组相关组件的有机结合;每个CDST对应一个对话框.CODE包含若干个DATA.DATA可以理解为一个组件,例如按钮、单选框、复选框和文本框等.定义文件还用到关键词UION,CDDP和REPT等.CDST书写格式。说明:CDST以“CDSTn1"description"”作为开始,其中CDST为关键词,n1为CDST的ID,"description"为CDST的描述.CDST下面的内容使用“{}”括起来.在定义文件中包含若干个CDST的定义.一个CDST中包含若干CODE,CODE也有ID及描述,是组成CDST的核心部分.每一个CODE里面包含若干个DATA.基本的5种DATA的类型定义见表1,可以根据实际的需要进行扩展.REPT关键词如果在CODE结尾出现,表示该CODE是一个表格类型的CODE,要求CODE中的DATA全部为数值。UION关键词用来表示CDST对话框的风格.UION以各CODE上下依次排列的形式出现,可以定义另外的对话框风格,例如标签页形式的对话框.CDDP用来定义在用户改变CODE值时应触发的相应操作.CDDP以关键字CDDP开始,后面紧跟CODE的ID,表明哪个CODE的值发生改变会触发该CDDP.一个CDDP的内容包括至少一个{n1v1c1c2c3…}的内容,表示当CODE的第n1个值等于v1时,会触发CODEc1c2c3…,从而引起相应的操作.CDDP主要用在选中下拉列表框某一项或者某个选择框被选中时以及某个按钮被点击时所引起的响应.

3数据驱动实例

以一个完整的CDST例子演示生成的对话框随数据定义文件的改动而动态改变.根据CDST50000生成的对话框见图2.对话框主要由CODE50020(表格)和CODE50010(一个下拉框)组成.图2显示选中下拉框第二项的情况.根据CDDP50010可知,当选中下拉框50010时右边会出现编辑框50011.修改后的CDST50000生成图3所示的对话框.与图2相比,选中下拉框第二项的时候,编辑框变成由CODE50030定义的按钮,通过定义CDDP50030,点击该按钮弹出由表格CODE50020和编辑框CODE50011组成的一个新对话框,可以进行信息输入.通过演示可以清楚地看到数据驱动对话框的优点:不用修改程序文件,只需要修改定义文件就可以产生各种不同的对话框,从而达到软件重用的目的.

4结束语

为提高软件开发效率、降低开发成本,软件开发者一直在寻求好的开发方法.其中,软件重用技术担负重要作用.本文提出的数据驱动对话框软件重用技术不仅可以提高软件重用程度、减少工作量,而且可以方便地维护和扩充系统,使系统具有很好的可维护性.在开发CAE软件Z-Mold的实践中已经证明该方法是行之有效的软件可重用开发技术.

作者:宋刚刘永志申长雨单位:郑州大学橡塑模具国家工程研究中心

被举报文档标题:CAE软件数据驱动对话框的研发

举报类型:

非法(文档涉及政治、宗教、色情或其他违反国家法律法规的内容)

侵权

其他

验证码:

点击换图

举报理由:
   (必填)