在程序中響應(yīng)菜單選項(xiàng)
發(fā)布時(shí)間:2014/7/18 12:51:53 訪問次數(shù):559
在程序中響應(yīng)用戶對菜單項(xiàng)的選擇,IC78L08AC也需要使用菜單函數(shù)。圖2-25所示的程序,應(yīng)用了本書2.6.1小節(jié)介紹的“運(yùn)行菜單”文件,并編碼對菜單中的選項(xiàng)作出響應(yīng)。這個(gè)程序在取得菜單引用以后,用“獲取所選菜單項(xiàng)”函數(shù)返回當(dāng)前菜單選項(xiàng)的項(xiàng)標(biāo)
識符!矮@取所選菜單項(xiàng)”函數(shù)有一個(gè)“禁用菜單”參數(shù),默認(rèn)值是False,如果給它一個(gè)TRUE值,那么選擇一個(gè)菜單項(xiàng)以后將不能再選擇其他菜單項(xiàng)。需要進(jìn)行其他選擇時(shí)必須用“啟用菜單跟蹤”函數(shù)重新激活菜單。
程序中對菜單選項(xiàng)的響應(yīng)可以用條件結(jié)構(gòu),也可以用事件結(jié)構(gòu)。本例中設(shè)了3個(gè)Case。如果用戶在菜單上選擇了“退出”命令,由本書2.6.1小節(jié)的介紹可以知道此項(xiàng)的標(biāo)志符是Exit,所以在“Exit”Case框中調(diào)用“應(yīng)用程序控制”函數(shù)子選板的“停止”函數(shù)使程序停止運(yùn)行。如果用戶當(dāng)前沒有選擇菜單項(xiàng),用空字符串Case框輸出“沒有選擇菜單項(xiàng)”。其他情況調(diào)用“獲取菜單項(xiàng)信息”函數(shù)返回當(dāng)前菜單選項(xiàng)的名稱輸出。這個(gè)函數(shù)還可以返回菜單選項(xiàng)的其他屬性。
通知器和隊(duì)列
在LabVIEW環(huán)境中,局部變量、全局變量、通知器和隊(duì)列都是采用非連線的方式進(jìn)行數(shù)據(jù)傳遞,為編程帶來了極大的方便。在很多情況下可以用通知器和隊(duì)列的方式代替全局變量和局部變量來傳遞數(shù)據(jù),避免它們在使用中的一些缺陷。我們可以把全局變量恕象為一個(gè)寫字板,誰都可以隨時(shí)向上面寫數(shù)據(jù),寫上新的數(shù)據(jù)就覆蓋掉舊的數(shù)據(jù);誰都可以隨時(shí)從里面讀數(shù)據(jù)。因此,在很大程度上這是一種隨意的傳遞數(shù)據(jù)方式。而使用通知器方式傳遞數(shù)據(jù)時(shí),只有等到寫數(shù)據(jù)的人告知寫字板上寫入了新的據(jù),讀數(shù)據(jù)的人才去讀取數(shù)據(jù)。通知器以通知的方式發(fā)布,收到通知的人都可以去讀數(shù)據(jù)。使用隊(duì)列方式傳遞數(shù)據(jù)則是最先去讀數(shù)據(jù)的人讀完數(shù)據(jù)就把它擦掉,因此只能有一個(gè)接收數(shù)據(jù)的用戶。
通知器和隊(duì)列提供了更嚴(yán)格的數(shù)據(jù)傳遞方式,也因此增加了一些編程的難度。使用通知器和隊(duì)列編程,要用通知器和隊(duì)列操作函數(shù),它們在“編程一同步”函數(shù)子選板。
在程序中響應(yīng)用戶對菜單項(xiàng)的選擇,IC78L08AC也需要使用菜單函數(shù)。圖2-25所示的程序,應(yīng)用了本書2.6.1小節(jié)介紹的“運(yùn)行菜單”文件,并編碼對菜單中的選項(xiàng)作出響應(yīng)。這個(gè)程序在取得菜單引用以后,用“獲取所選菜單項(xiàng)”函數(shù)返回當(dāng)前菜單選項(xiàng)的項(xiàng)標(biāo)
識符!矮@取所選菜單項(xiàng)”函數(shù)有一個(gè)“禁用菜單”參數(shù),默認(rèn)值是False,如果給它一個(gè)TRUE值,那么選擇一個(gè)菜單項(xiàng)以后將不能再選擇其他菜單項(xiàng)。需要進(jìn)行其他選擇時(shí)必須用“啟用菜單跟蹤”函數(shù)重新激活菜單。
程序中對菜單選項(xiàng)的響應(yīng)可以用條件結(jié)構(gòu),也可以用事件結(jié)構(gòu)。本例中設(shè)了3個(gè)Case。如果用戶在菜單上選擇了“退出”命令,由本書2.6.1小節(jié)的介紹可以知道此項(xiàng)的標(biāo)志符是Exit,所以在“Exit”Case框中調(diào)用“應(yīng)用程序控制”函數(shù)子選板的“停止”函數(shù)使程序停止運(yùn)行。如果用戶當(dāng)前沒有選擇菜單項(xiàng),用空字符串Case框輸出“沒有選擇菜單項(xiàng)”。其他情況調(diào)用“獲取菜單項(xiàng)信息”函數(shù)返回當(dāng)前菜單選項(xiàng)的名稱輸出。這個(gè)函數(shù)還可以返回菜單選項(xiàng)的其他屬性。
通知器和隊(duì)列
在LabVIEW環(huán)境中,局部變量、全局變量、通知器和隊(duì)列都是采用非連線的方式進(jìn)行數(shù)據(jù)傳遞,為編程帶來了極大的方便。在很多情況下可以用通知器和隊(duì)列的方式代替全局變量和局部變量來傳遞數(shù)據(jù),避免它們在使用中的一些缺陷。我們可以把全局變量恕象為一個(gè)寫字板,誰都可以隨時(shí)向上面寫數(shù)據(jù),寫上新的數(shù)據(jù)就覆蓋掉舊的數(shù)據(jù);誰都可以隨時(shí)從里面讀數(shù)據(jù)。因此,在很大程度上這是一種隨意的傳遞數(shù)據(jù)方式。而使用通知器方式傳遞數(shù)據(jù)時(shí),只有等到寫數(shù)據(jù)的人告知寫字板上寫入了新的據(jù),讀數(shù)據(jù)的人才去讀取數(shù)據(jù)。通知器以通知的方式發(fā)布,收到通知的人都可以去讀數(shù)據(jù)。使用隊(duì)列方式傳遞數(shù)據(jù)則是最先去讀數(shù)據(jù)的人讀完數(shù)據(jù)就把它擦掉,因此只能有一個(gè)接收數(shù)據(jù)的用戶。
通知器和隊(duì)列提供了更嚴(yán)格的數(shù)據(jù)傳遞方式,也因此增加了一些編程的難度。使用通知器和隊(duì)列編程,要用通知器和隊(duì)列操作函數(shù),它們在“編程一同步”函數(shù)子選板。
上一篇:用于在程序運(yùn)行中建立它的菜單系統(tǒng)
上一篇:通知器
熱門點(diǎn)擊
- 由74LS138構(gòu)成的1~8數(shù)據(jù)分配器
- 在LabVIEW環(huán)境下實(shí)現(xiàn)小波變換的方法
- 反應(yīng)曲線法
- 切削力測量原理
- 自頂向下設(shè)計(jì)方法的步驟
- 用555定時(shí)器構(gòu)成一施密特觸發(fā)器
- LabVIEW對Access數(shù)據(jù)庫的操作
- 光纖布拉格光柵傳感器原理
- 可預(yù)置時(shí)間的定時(shí)電路
- 譯碼器
推薦技術(shù)資料
- 基準(zhǔn)電壓的提供
- 開始的時(shí)候,想使用LM385作為基準(zhǔn),HIN202EC... [詳細(xì)]