本站小編為你精心準備了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的實踐中已經證明該方法是行之有效的軟件可重用開發技術.
作者:宋剛劉永志申長雨單位:鄭州大學橡塑模具國家工程研究中心