


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、用XControl實(shí)現(xiàn)面向組件的編程XControl是LabVIEW8中出現(xiàn)的新功能。面向組件的編程(ComponentOrientedProgramming,COP)技術(shù)建立在對(duì)象技術(shù)之上,它是對(duì)象技術(shù)的進(jìn)一步發(fā)展,類這個(gè)概念仍然是組件技術(shù)中一個(gè)基礎(chǔ)的概念,但是組件技術(shù)更核心的概念是接口。組件技術(shù)的主要目標(biāo)是復(fù)用粗粒度的復(fù)用。組件的核心是接口。LabVIEW為我們提供了大量漂亮的控件,可以讓我們非常方便的就搭建出一個(gè)程序界面。然而,對(duì)于追求完美的用戶,LabVIEW提供的為數(shù)有限的控件是遠(yuǎn)遠(yuǎn)不夠的。比如圖1,是LabVIEW8.2一個(gè)新功能,導(dǎo)入導(dǎo)入共享庫(kù)向?qū)У慕缑?。在它右上方有四個(gè)按鈕,這
2、四個(gè)按鈕有著特殊的外觀圖標(biāo),在LabVIEW中沒有直接提供這樣的按鈕。要擁有這樣的按鈕,并保存下來(lái)以供再次使用,就只能自己制作一個(gè)自定義控件。關(guān)于(用戶自定義控件可以參考文章用戶自定義控件中Control,TypeDef.和StrictTypeDef.的區(qū)別)圖 1 : LabVIEW 8.2中 Import Shared Library的界面自定義控件雖然可以定義控件的外觀,但無(wú)法定義控件的行為,功能復(fù)雜一點(diǎn)的控件,.ctl文件就愛莫能助了。還是以圖1為例,它的IncludePaths控件是幺個(gè)”功能比較復(fù)雜的控件,它比LabVIEW自帶的列表框多了編輯功能。用戶添加或編輯一個(gè)路徑時(shí),這個(gè)控
3、件要為用戶在所編輯的項(xiàng)目提供直接編輯使用的文本框,和瀏覽路徑按鈕。Listbox、一個(gè)實(shí)際上這個(gè)編輯功能是由三個(gè)LabVIEW提供的標(biāo)準(zhǔn)控件合作完成的:一個(gè)String和一個(gè)Button控件。他們的行為是在程序運(yùn)行時(shí)決定的:當(dāng)用戶編輯控件中某一路徑時(shí),程序把String和Button挪到Listbox上需要編輯的那一項(xiàng),并遮擋住Listbox原本的內(nèi)容。這樣,用戶只能在String控件內(nèi)輸入內(nèi)容,或者點(diǎn)擊瀏覽按鈕選擇一個(gè)路徑。編輯完成,程序把String控件的值寫到Listbox上相應(yīng)的項(xiàng)目中。我們雖然看不見圖1例子中的程序框圖,但是可以想象,上述的一系列操作,如判斷String和Button
4、應(yīng)當(dāng)顯示的位置、然后挪動(dòng)它們、把String值傳給Listbox,處理用戶對(duì)他們操作的消息等等,會(huì)為這個(gè)程序添加不少?gòu)?fù)雜的代碼。這些代碼應(yīng)該是與程序的其它部沒有任何直接關(guān)系的。但是把它們也寫在這個(gè)界面VI的程序框圖上,一方面影響了程序的可讀性,另一方面,編程人員有可能在更改程序其它問題是不小心改變了這部分代碼,較低了代碼的安全性。從邏輯關(guān)系上來(lái)看,圖1中上半部分的Listbox、String、瀏覽按鈕以及右上方四個(gè)操作按鈕,他們共同完成一個(gè)功能,與他們之外的界面控件沒有什么關(guān)聯(lián),所以他們七個(gè)應(yīng)當(dāng)被作為一個(gè)控件,或者說(shuō)是一個(gè)組件。這個(gè)組件需要與程序其它模塊之間的接口就只是一個(gè)字符竄數(shù)組,用于輸入
5、或輸出一組路徑。其它的數(shù)據(jù)和操作,都應(yīng)當(dāng)是組件的私有的,外部不可見的。在LabVIEW8之前,想分離和封裝出這樣一個(gè)組件是非常困難的。因?yàn)榧热贿@七個(gè)控件都在這個(gè)VI的面板上,對(duì)它們的操作和相應(yīng)的代碼必須放在這個(gè)VI的程序框圖上,無(wú)法與其他代碼隔離開。也不是說(shuō)絕對(duì)沒有辦法,比如你可以使用sub-panel,動(dòng)態(tài)注冊(cè)事件等方法,強(qiáng)行的把它們的代碼分隔開。但是這些方法并不簡(jiǎn)單直觀,使用它們有可能會(huì)讓程序變得跟為復(fù)雜、難以閱讀和維護(hù)。XControl的出現(xiàn),才終于為這個(gè)問題提供了一個(gè)比較完美的解決方案。利用XControl,圖1中我們提到的七個(gè)應(yīng)當(dāng)劃分在同一組件的控件可以被制作成一個(gè)XControl。
6、這個(gè)XControl的外觀就是圖1中上半部分七個(gè)控件組合在一起的樣子,XControl與用戶自定義控件相比,它不僅定義了控件的外觀,更重要的是,開發(fā)人員可以通過(guò)編寫LabVIEW代碼定義XControl的行為。并且這些代碼是對(duì)外隱藏的。開發(fā)人員還可以定義XControl的屬性和方法,通過(guò)PropertyNode和InvokeNode在程序中使用這些屬性和方法。同樣完成選取一組路徑的功能,可以有各種不同的界面,比如各種C+編譯器都會(huì)提供類似的功能,但外觀各不相同。你可以利用XControl,編寫多個(gè)外觀,行為大相徑庭的組件。但是,只要他們的接口相同-都是一個(gè)字符串?dāng)?shù)組,用戶就可以在這些組件內(nèi)任意互換,選用自己喜歡的組件,而不需改動(dòng)程序的任何其它部分?,F(xiàn)在,我對(duì)XControl不太滿意的地方是它還不支持用戶自定義的事件。XControl具有封裝的特性,因此我在利用LabVIEW工程庫(kù)實(shí)現(xiàn)面向?qū)ο缶幊桃晃闹刑岬酵瑯涌梢允褂肵Control來(lái)達(dá)到面向?qū)ο蟮木幊谭椒?。但是X
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧港口自動(dòng)化裝卸設(shè)備智能搬運(yùn)機(jī)器人市場(chǎng)前景預(yù)測(cè)報(bào)告
- 2025年休閑食品健康化轉(zhuǎn)型與食品添加劑替代品研發(fā)報(bào)告
- 【高中語(yǔ)文】《為了忘卻的記念》課件+統(tǒng)編版高二語(yǔ)文選擇性必修中冊(cè)+
- 2025年汽車零部件再制造產(chǎn)業(yè)市場(chǎng)潛力與增長(zhǎng)動(dòng)力分析報(bào)告
- 2025年金融租賃公司業(yè)務(wù)創(chuàng)新案例分析及風(fēng)險(xiǎn)防范策略報(bào)告
- 融合創(chuàng)新視角下2025年廣播影視行業(yè)媒體融合的跨界營(yíng)銷策略分析報(bào)告
- 2025年化妝品零售行業(yè)自有品牌策略與競(jìng)爭(zhēng)優(yōu)勢(shì)研究報(bào)告
- 2025年在線教育平臺(tái)用戶滿意度提升策略與教育行業(yè)政策解讀報(bào)告
- 護(hù)理員培訓(xùn)工作管理制度
- 不合格醫(yī)用設(shè)備管理制度
- 2025年甘肅省隴南市事業(yè)單位招聘247人筆試參考題庫(kù)及答案詳解一套
- 2025年心理健康指導(dǎo)師職業(yè)資格考試試題及答案
- 石油行業(yè)采購(gòu)物資質(zhì)量事故案例規(guī)律分析課件
- 七年級(jí)下冊(cè)道德與法治期末復(fù)習(xí)必刷主觀題含答案
- 2024年廣東省揭西縣教師招聘考試《教育學(xué)和心理學(xué)基礎(chǔ)知識(shí)》真題庫(kù)及答案
- 2025年新高考2卷(新課標(biāo)Ⅱ卷)英語(yǔ)試卷(含答案解析)
- 北京市順義區(qū)2023-2024學(xué)年六年級(jí)下學(xué)期數(shù)學(xué)期末試卷(含答案)
- 公司安全廉政管理制度
- JG/T 283-2010膨脹?;⒅檩p質(zhì)砂漿
- 電力法規(guī)考試試題及答案
- 2025昆明醫(yī)科大學(xué)海源學(xué)院輔導(dǎo)員考試試題及答案
評(píng)論
0/150
提交評(píng)論