CAE軟件數(shù)據(jù)驅(qū)動(dòng)對(duì)話框的研發(fā)_第1頁
CAE軟件數(shù)據(jù)驅(qū)動(dòng)對(duì)話框的研發(fā)_第2頁
CAE軟件數(shù)據(jù)驅(qū)動(dòng)對(duì)話框的研發(fā)_第3頁
CAE軟件數(shù)據(jù)驅(qū)動(dòng)對(duì)話框的研發(fā)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯CAE軟件數(shù)據(jù)驅(qū)動(dòng)對(duì)話框的研發(fā)《計(jì)算機(jī)輔助工程雜志》2022年第三期

1Z-Dialog原理

Z-Dialog模塊開發(fā)工具采用MicrosoftVC++.利用面向?qū)ο蟮拈_發(fā)思想[3],將其主要封裝在CMoldDefine,CMoldData和從CDialog繼承的Z-Dialog對(duì)話框等3個(gè)類中.CMoldDefine類用來操作定義文件;CMoldData類用來操作結(jié)果數(shù)據(jù)文件;Z-Dialog類用來管理對(duì)話框.Z-Dialog類主要包含對(duì)話框組件類的數(shù)組.對(duì)話框組件類從MFC的組件類繼承而來,主要包括文本、編輯框、下拉框和列表件等.在這些類中添加新的成員和方法以擴(kuò)充組件的狀態(tài)和操作.通過這些新的成員和方法將對(duì)話框與定義文件和數(shù)據(jù)文件緊密結(jié)合起來,實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)功能.首先創(chuàng)建CMoldDefine定義文件對(duì)象,依照定義文件格式讀取數(shù)據(jù)文件,從而創(chuàng)建CMoldData對(duì)象;然后利用CMoldDefine類的實(shí)例生成Z-Dialog對(duì)象的對(duì)話框組件對(duì)象的數(shù)組,利用CMoldData對(duì)象給這些組件對(duì)象賦值,在Z-Dialog::OnInitDialog中創(chuàng)建這些組件.此時(shí),調(diào)用Z-Dialog::DoModal方法就可以顯示對(duì)話框.同時(shí),利用消息映射編寫統(tǒng)一的事件函數(shù),左鍵單擊處理用戶對(duì)這些組件的操作.編寫Z-Dialog::DoDataExchange函數(shù)進(jìn)行數(shù)據(jù)交換.[4]在用戶關(guān)閉對(duì)話框時(shí),可將更新后的數(shù)據(jù)寫入結(jié)果數(shù)據(jù)文件中,下次打開對(duì)話框便是更新后的數(shù)據(jù).如何開發(fā)合適的對(duì)話框定義文件是實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)對(duì)話框的關(guān)鍵所在,也是研究的重點(diǎn).

2對(duì)話框定義文件

Z-Dialog模塊的核心是對(duì)話框定義文件的實(shí)現(xiàn).在定義文件中提出CDST,CODE和DATA等數(shù)據(jù)結(jié)構(gòu).CDST是CODE的集合,CODE是一組相關(guān)組件的有機(jī)結(jié)合;每個(gè)CDST對(duì)應(yīng)一個(gè)對(duì)話框.CODE包含若干個(gè)DATA.DATA可以理解為一個(gè)組件,例如按鈕、單選框、復(fù)選框和文本框等.定義文件還用到關(guān)鍵詞UION,CDDP和REPT等.CDST書寫格式。說明:CDST以“CDSTn1"description"”作為開始,其中CDST為關(guān)鍵詞,n1為CDST的ID,"description"為CDST的描述.CDST下面的內(nèi)容使用“{}”括起來.在定義文件中包含若干個(gè)CDST的定義.一個(gè)CDST中包含若干CODE,CODE也有ID及描述,是組成CDST的核心部分.每一個(gè)CODE里面包含若干個(gè)DATA.基本的5種DATA的類型定義見表1,可以根據(jù)實(shí)際的需要進(jìn)行擴(kuò)展.REPT關(guān)鍵詞如果在CODE結(jié)尾出現(xiàn),表示該CODE是一個(gè)表格類型的CODE,要求CODE中的DATA全部為數(shù)值。UION關(guān)鍵詞用來表示CDST對(duì)話框的風(fēng)格.UION以各CODE上下依次排列的形式出現(xiàn),可以定義另外的對(duì)話框風(fēng)格,例如標(biāo)簽頁形式的對(duì)話框.CDDP用來定義在用戶改變CODE值時(shí)應(yīng)觸發(fā)的相應(yīng)操作.CDDP以關(guān)鍵字CDDP開始,后面緊跟CODE的ID,表明哪個(gè)CODE的值發(fā)生改變會(huì)觸發(fā)該CDDP.一個(gè)CDDP的內(nèi)容包括至少一個(gè){n1v1c1c2c3…}的內(nèi)容,表示當(dāng)CODE的第n1個(gè)值等于v1時(shí),會(huì)觸發(fā)CODEc1c2c3…,從而引起相應(yīng)的操作.CDDP主要用在選中下拉列表框某一項(xiàng)或者某個(gè)選擇框被選中時(shí)以及某個(gè)按鈕被點(diǎn)擊時(shí)所引起的響應(yīng).

3數(shù)據(jù)驅(qū)動(dòng)實(shí)例

以一個(gè)完整的CDST例子演示生成的對(duì)話框隨數(shù)據(jù)定義文件的改動(dòng)而動(dòng)態(tài)改變.根據(jù)CDST50000生成的對(duì)話框見圖2.對(duì)話框主要由CODE50020(表格)和CODE50010(一個(gè)下拉框)組成.圖2顯示選中下拉框第二項(xiàng)的情況.根據(jù)CDDP50010可知,當(dāng)選中下拉框50010時(shí)右邊會(huì)出現(xiàn)編輯框50011.修改后的CDST50000生成圖3所示的對(duì)話框.與圖2相比,選中下拉框第二項(xiàng)的時(shí)候,編輯框變成由CODE50030定義的按鈕,通過定義CDDP50030,點(diǎn)擊該按鈕彈出由表格CODE50020和編輯框CODE50011組成的一個(gè)新對(duì)話框,可以進(jìn)行信息輸入.通過演示可以清楚地看到數(shù)據(jù)驅(qū)動(dòng)對(duì)話框的優(yōu)點(diǎn):不用修改程序文件,只需要修改定義文件就可以產(chǎn)生各種不同的對(duì)話框,從而達(dá)到軟件重用的目的.

4結(jié)束語

為提高軟件開發(fā)效率、降低開發(fā)成本,軟件開發(fā)者一直在尋求好的開發(fā)方法.其中,軟件重用技術(shù)擔(dān)負(fù)重要作用.本文提出的數(shù)據(jù)驅(qū)動(dòng)對(duì)話框軟件重用技術(shù)不僅可以提高軟件重用程度、減少工作量,而且可以方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論