08十天學(xué)會(huì)易語(yǔ)言圖解教程(王軍)文字校正-第八章_第1頁(yè)
08十天學(xué)會(huì)易語(yǔ)言圖解教程(王軍)文字校正-第八章_第2頁(yè)
08十天學(xué)會(huì)易語(yǔ)言圖解教程(王軍)文字校正-第八章_第3頁(yè)
08十天學(xué)會(huì)易語(yǔ)言圖解教程(王軍)文字校正-第八章_第4頁(yè)
08十天學(xué)會(huì)易語(yǔ)言圖解教程(王軍)文字校正-第八章_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第8章 易語(yǔ)言的子程序本章主要介紹易語(yǔ)言子程序的創(chuàng)建和調(diào)用、子程序參數(shù)的使用以及參數(shù)屬性的設(shè)置方法。 本章學(xué)習(xí)內(nèi)容:8.1 新建子程序 8.6 參數(shù)的參考屬性8.2 調(diào)用子程序 8.7 子程序的返回值8.3 兩類(lèi)子程序的區(qū)別 8.8 課后練習(xí)8.4 子程序參數(shù) 8.5 參數(shù)的可空屬性將程序分割成較小的功能單元就可以簡(jiǎn)化程序設(shè)計(jì)任務(wù),這些功能單元被稱(chēng)為子程序,可以把共享的或常調(diào)用的功能置于子程序中,達(dá)到簡(jiǎn)化程序設(shè)計(jì)、方便代碼重用和提高程序維護(hù)效率的目的,這是結(jié)構(gòu)化程序設(shè)計(jì)的主要特征之一。 子程序可把程序劃分成相對(duì)獨(dú)立的功能單元,每個(gè)單元都比無(wú)子程序的整個(gè)程序容易調(diào)試和理解; 一個(gè)應(yīng)用程序中的子程

2、序,往往不必修改或只需稍作改動(dòng),便可以成為另一個(gè)程序的子程序。8.1 新建子程序下面我們就開(kāi)始新建第一個(gè)自定義子程序。方法十分簡(jiǎn)單,一步一步跟我來(lái)吧!首先在啟動(dòng)窗口添加一個(gè)按鈕,默認(rèn)名稱(chēng)為“按鈕1”。雙擊按鈕1進(jìn)入代碼編輯界面。另一種更快捷的方法是,在代碼編輯區(qū)獲得焦點(diǎn)時(shí),同時(shí)按下“Ctrl 鍵”和“N鍵”,也可以新建子程序。將光標(biāo)移到代碼編輯行,右鍵單擊,在彈出菜單中選擇“新子程序”命令,就可以新建子程序。新建子程序的默認(rèn)名稱(chēng)為“子程序1”,依此類(lèi)推。第三種方法,到主菜單上。選擇“插入” “新子程序”命令也可新建子程序?!白映绦?” 已經(jīng)存在,當(dāng)另一個(gè)子程序被修改成“子程序1”時(shí),易語(yǔ)言彈出

3、出錯(cuò)提示。注意:在同一個(gè)程序集中,子程序名不能重復(fù)。特別在修改的時(shí)候,易語(yǔ)言會(huì)提示并修改已經(jīng)被使用過(guò)的名稱(chēng)。被易語(yǔ)言修改的子程序名。新建的子程序沒(méi)有參數(shù),這需要操作者自行添加所需數(shù)目的參數(shù)并設(shè)置參數(shù)的類(lèi)型以及參數(shù)的可空、參考和數(shù)組等屬性。特別應(yīng)該注意的是,每個(gè)新建的子程序都不會(huì)被易語(yǔ)言或其它子程序自動(dòng)調(diào)用,下面將講解如何調(diào)用子程序。8.2 調(diào)用子程序前一節(jié)中講了如何建立子程序,下面演示如何調(diào)用一個(gè)子程序。在“_按鈕1_被單擊”事件子程序中添加程序代碼 “ 子程序1() ”或直接復(fù)制名稱(chēng),將其粘貼過(guò)來(lái)。在“子程序1”中添加代碼:信息框(“你好!我是信息框?!?,#信息圖標(biāo),) 同一個(gè)子程序可以被多

4、次調(diào)用。在“按鈕2”事件子程序中添加代碼 子程序1() 。 按F5鍵運(yùn)行程序,分別單擊“按鈕1”和“按鈕2”,都能彈出“子程序1”里的信息框。一個(gè)子程序可以在事件子程序和其它新建的子程序中多次被調(diào)用,也可以被其它程序集的事件子程序和新建的子程序調(diào)用。要注意的是,在本程序中定義的子程序只能在本程序中使用。每次調(diào)用子程序時(shí),子程序中的所有命令都將從第一條開(kāi)始順序執(zhí)行,當(dāng)執(zhí)行到子程序尾部或者遇到“返回”命令時(shí)即返回到調(diào)用此子程序命令的下一條命令處。這里的“子程序1”同時(shí)被修改為信息框子程序。把“子程序1”修改為“信息框子程序”。上節(jié)中提到了子程序名稱(chēng)的問(wèn)題,這里我們還要提一個(gè)小建議。當(dāng)要修改一個(gè)子程

5、序名稱(chēng)時(shí),應(yīng)該直接到這個(gè)子程序的定義位置進(jìn)行修改。這樣可以使調(diào)用它的程序代碼同步修改該子程序的名稱(chēng),如上圖所示。這可以避免因調(diào)用無(wú)效子程序?qū)е碌木幾g錯(cuò)誤。 大家可以看到,子程序必須由其它子程序調(diào)用才能被執(zhí)行。子程序的調(diào)用方法與命令的調(diào)用方法完全一致。 8.3 兩類(lèi)子程序的區(qū)別雖然新建的子程序(自定義子程序)和事件子程序的調(diào)用方法一樣,但它們之間也有一些不同之處。輸入?yún)?shù)名稱(chēng)并設(shè)置類(lèi)型。最后按F5鍵運(yùn)行程序,單擊“按鈕1”,信息框不見(jiàn)了。這是“_按鈕1_被單擊”子程序的原型,沒(méi)有參數(shù)。光標(biāo)選中子程序名稱(chēng),按Enter鍵添加一個(gè)參數(shù)。信息框看不到的原因是“_按鈕1_被單擊”子程序參數(shù)結(jié)構(gòu)被改變,易

6、語(yǔ)言就會(huì)把它當(dāng)作新建的子程序,和“按鈕1”沒(méi)有任何聯(lián)系了,而新建子程序可以任意的添加參數(shù)。請(qǐng)大家自行總結(jié)一下新建的子程序和事件子程序的區(qū)別。8.4 子程序參數(shù) 參數(shù)和變量的使用方法一樣,可以使用賦值語(yǔ)句在參數(shù)內(nèi)臨時(shí)存儲(chǔ)數(shù)據(jù)。參數(shù)有參數(shù)名(用來(lái)在程序中引用一個(gè)參數(shù))、數(shù)據(jù)類(lèi)型(確定參數(shù)能夠存儲(chǔ)數(shù)據(jù)的種類(lèi))以及“可空”和“參考”等屬性。參數(shù)只能在定義它的子程序中使用,相當(dāng)于局部變量。把8.3中“_ 按鈕1_被單擊”事件子程序的“參數(shù)1”刪除。參數(shù)的“類(lèi)型”屬性可為空。如果空,默認(rèn)為整數(shù)型。在“信息框子程序”添加兩個(gè)文本型參數(shù)“參數(shù)1”和“參數(shù)2”。按F5鍵,程序無(wú)法運(yùn)行,在輸出面板中可以看到出錯(cuò)提

7、示。這就說(shuō)明我們還要在調(diào)用上述子程序時(shí)提供具體的參數(shù)。用光標(biāo)選中此行并雙擊,在括號(hào)內(nèi)添加“,”號(hào),按Enter鍵。看到了嗎?調(diào)用子程序的命令前多了個(gè)“”號(hào),我們可以將它展開(kāi)。展開(kāi)的方法:直接雙擊或用鍵盤(pán)上的右光標(biāo)鍵。標(biāo)簽的標(biāo)題在此處設(shè)置。參數(shù)提示和實(shí)際參數(shù)的內(nèi)容是互相對(duì)應(yīng)的,在上面添加文本型數(shù)據(jù)“易語(yǔ)言”,當(dāng)程序運(yùn)行時(shí),下面“參數(shù)1”保存的數(shù)據(jù)就是“易語(yǔ)言”。接下來(lái)我們?cè)诔绦蛑袨樽映绦蛱峁┚唧w的參數(shù)數(shù)據(jù)。用“Ctrl+Tab”組合鍵切換到界面設(shè)計(jì)狀態(tài),在窗體上添加兩個(gè)標(biāo)簽和兩個(gè)編輯框,并將標(biāo)簽的標(biāo)題屬性設(shè)置為“輸入123”,提示用戶(hù)。這是前面提到的“按鈕1”,下面的是“按鈕2”。切換到代碼編輯

8、狀態(tài),在子程序調(diào)用處,分別為兩個(gè)參數(shù)提供數(shù)據(jù)(編輯框提供的文本型數(shù)據(jù))。修改“信息框子程序”代碼。按F5鍵運(yùn)行程序,在“編輯框1”和“編輯框2”中輸入“123”,單擊“按鈕1”,第一個(gè)信息框被彈出。你也可以輸入其它的數(shù)據(jù),看一看效果。子程序如需要接收參數(shù)數(shù)據(jù),必須先在子程序定義處的參數(shù)表部分定義所需的參數(shù)。調(diào)用有參數(shù)的子程序時(shí)所傳遞過(guò)來(lái)的數(shù)據(jù)將被順序地填入對(duì)應(yīng)的參數(shù)中。如果傳遞過(guò)來(lái)的數(shù)據(jù)與對(duì)應(yīng)位置處的參數(shù)數(shù)據(jù)類(lèi)型不一致,在可以互相轉(zhuǎn)換時(shí),系統(tǒng)將自動(dòng)將傳遞過(guò)來(lái)的數(shù)據(jù)轉(zhuǎn)換成對(duì)應(yīng)參數(shù)的數(shù)據(jù)類(lèi)型后再賦值給該參數(shù);如果不能轉(zhuǎn)換,就會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。如上面的第 2 步在調(diào)用子程序的同時(shí)就把“編輯框1.內(nèi)容

9、”和“編輯框2.內(nèi)容”作為參數(shù)數(shù)據(jù)對(duì)應(yīng)地傳遞到了編輯框子程序內(nèi)的兩個(gè)參數(shù)“參數(shù)1”和“參數(shù)2”內(nèi)。 8.5 參數(shù)的可空屬性參數(shù)可空,就是說(shuō)該參數(shù)是可選的,從字面上就能理解它的意思。就是在調(diào)用子程序時(shí),可以不提供該參數(shù)所需的數(shù)據(jù)。看看下面的例子。將“參數(shù)2”可空屬性選中。方法是,選中該處單元格再單擊或選中后按空格鍵。把調(diào)用處的“參數(shù)2”刪除。如果某個(gè)參數(shù)的“可空”屬性為真,那么在調(diào)用本子程序時(shí),可以不給此參數(shù)傳遞數(shù)據(jù)??煽盏膮?shù)主要用于支持具有默認(rèn)值的參數(shù);另外,如果給某個(gè)子程序添加了新參數(shù)卻又不想去更改以前調(diào)用此子程序的代碼,那么只要將新參數(shù)設(shè)置為可空參數(shù)就行了。8.6 參數(shù)的參考屬性打個(gè)比方

10、,你家的門(mén)鎖有兩把鑰匙,分別由兩個(gè)人拿著。不管是哪一個(gè)人都可以打開(kāi)房門(mén),改變家里家具的擺放位置。如果子過(guò)程的參數(shù)具有“參考”屬性,那么,當(dāng)調(diào)用子程序時(shí)負(fù)責(zé)提供該參數(shù)數(shù)據(jù)的是一個(gè)變量的話(huà),在子程序中修改了該參數(shù)的值,那個(gè)變量的值也會(huì)跟著被改變。在“_按鈕1_被單擊”事件子程序中添加兩個(gè)局部變量。把編輯框提供的文本型數(shù)據(jù)轉(zhuǎn)換到整數(shù)型。注意:文本型數(shù)據(jù)默認(rèn)具有參考屬性,所以此例中為了演示參數(shù)的參考屬性,把文本型數(shù)據(jù)轉(zhuǎn)換到整數(shù)型。添加信息框,顯示調(diào)用子程序后,“變量2”的值。將“信息框子程序”兩個(gè)參數(shù)的類(lèi)型改為整數(shù)型。添加代碼,修改“參數(shù)2”的值。注意:為了更好地了解程序的運(yùn)行過(guò)程,可以通過(guò)在關(guān)鍵代碼

11、行前設(shè)置斷點(diǎn)的方法來(lái)跟蹤代碼行的執(zhí)行情況。在代碼行前設(shè)置斷點(diǎn)。設(shè)置斷點(diǎn)的方法:用光標(biāo)選中將被設(shè)置斷點(diǎn)的代碼行,再按F9鍵。按F5鍵運(yùn)行程序,在啟動(dòng)窗口的編輯框中輸入“123”,單擊“按鈕1”。窗口消失,程序停止,一個(gè)斷點(diǎn)變黃。這就說(shuō)明在“_按鈕1_被單擊”事件子程序中,第一個(gè)斷點(diǎn)處的“信息框子程序”將被執(zhí)行?!皡?shù)2”的值被改變?!皡?shù)1”的值是“變量1”的值。兩個(gè)條件都成立。再按F5鍵,“信息框子程序”里的代碼被執(zhí)行。說(shuō)明子程序已經(jīng)被調(diào)用。再按F5鍵,斷點(diǎn)變?yōu)榧t色,彈出條件成立的信息框。單擊“確定”按鈕。程序又跳到了“信息框子程序”被調(diào)用處的下一行代碼處,說(shuō)明“信息框子程序”執(zhí)行完畢。再按F

12、5鍵,彈出“_按鈕1_被單擊”事件子程序中的信息框。由于運(yùn)行開(kāi)始時(shí)“編輯框1”內(nèi)的數(shù)據(jù)為空文本,轉(zhuǎn)換到整數(shù)后為“0”。即使“參數(shù)2”的數(shù)據(jù)被改變,“變量2”仍保存原值?!皡?shù)2”沒(méi)有設(shè)置參考。單擊“確定”按鈕,代碼運(yùn)行結(jié)束。關(guān)閉程序,然后設(shè)置“參數(shù)2”的參考屬性,設(shè)置“參數(shù)2”的參考屬性的方法類(lèi)似可空屬性的設(shè)置,在參數(shù)定義表“參考”欄相應(yīng)空格內(nèi)單擊使之出現(xiàn)一個(gè)“”號(hào)。按F5鍵運(yùn)行。最后信息框顯示“變量2”的值和“參數(shù)2”的值是相同的。 當(dāng)使用變量向子程序的參數(shù)傳遞數(shù)據(jù)時(shí),如果所傳遞過(guò)來(lái)的變量為數(shù)組、用戶(hù)定義數(shù)據(jù)類(lèi)型、庫(kù)定義數(shù)據(jù)類(lèi)型、字節(jié)集型或文本型,則無(wú)論參數(shù)的“參考”屬性是否為真,都將是傳遞

13、變量的指針(即該變量的內(nèi)存地址),這樣在子程序中改變?cè)搮?shù)的值時(shí)相應(yīng)變量的值也會(huì)被改變;如果所傳遞過(guò)來(lái)的變量類(lèi)型與相應(yīng)參數(shù)的數(shù)據(jù)類(lèi)型不一致但可以相互轉(zhuǎn)換,譬如將整數(shù)型變量傳遞到小數(shù)型的參數(shù)時(shí),則在數(shù)據(jù)被實(shí)際傳遞前,系統(tǒng)將首先自動(dòng)將整數(shù)型變量的值轉(zhuǎn)換為小數(shù)型數(shù)據(jù),然后再進(jìn)行傳遞,在這種情況下,即使參數(shù)的“參考”屬性為真,系統(tǒng)也無(wú)法傳遞指向原變量的指針,只能傳遞經(jīng)過(guò)類(lèi)型轉(zhuǎn)換后的變量的值。如果系統(tǒng)將數(shù)據(jù)指針成功地傳遞過(guò)來(lái),那么在子程序中對(duì)此參數(shù)內(nèi)容的更改將會(huì)相應(yīng)地反映到調(diào)用子程序時(shí)負(fù)責(zé)提供相應(yīng)參數(shù)數(shù)據(jù)的變量上。8.7 子程序的返回值子程序可以返回?cái)?shù)據(jù),稱(chēng)為返回值,但必須首先定義返回值的類(lèi)型,并且要在

14、子程序中使用“返回”命令進(jìn)行返回。將“信息框子程序”的返回值類(lèi)型設(shè)置為整數(shù)型。刪除下面兩行代碼。參數(shù)2 123信息框 (“參考的使用方法?!?#換行符 “變量2=” 到文本 (變量2), 0,)在“_按鈕1_被單擊”事件子程序中添加名稱(chēng)為“返回值”的整數(shù)型變量?!胺祷刂怠弊兞坑脕?lái)保存“信息框子程序”返回的整數(shù)型數(shù)值。在“信息框子程序”的每個(gè)分支處添加返回命令。將“信息框子程序”里的兩個(gè)“信息框”命令復(fù)制到“_按鈕1_被單擊”子程序的判斷語(yǔ)句中。最后按F5鍵運(yùn)行程序。調(diào)用一個(gè)子程序時(shí),子程序中的所有命令將從第一條開(kāi)始順序執(zhí)行,當(dāng)執(zhí)行到子程序尾部或者遇到“返回”命令時(shí)即返回到調(diào)用此子程序命令的下一

15、條命令處。當(dāng)一個(gè)子程序有返回值時(shí),如果需要使用該返回值,可以把子程序調(diào)用命令嵌在其它命令中,如“變量1=變量2+子程序名(參數(shù))+變量3”(這里假設(shè)“子程序名(參數(shù))”有返回值),也可以建立一個(gè)與該返回值數(shù)據(jù)類(lèi)型相同的變量來(lái)接收該返回值,即使用“變量名=子程序名(參數(shù))”的形式(“=”在這里是賦值號(hào))。8.8課后練習(xí)(1)練習(xí)子程序的建立與調(diào)用。 新建“Windows窗口程序”添加一個(gè)按鈕。添加如圖上的代碼。完成后運(yùn)行一下程序看看。這兩個(gè)地方添加什么值,才可以使程序運(yùn)行,并且能夠正確顯示呢?請(qǐng)大家來(lái)將這兩個(gè)命令補(bǔ)充完整。(2)練習(xí)編寫(xiě)用子程序的方式表示兩數(shù)相加,返回和的例程。 ,新建易程序,放兩個(gè)編輯框組件與一個(gè)按鈕組件,雙擊按鈕組件,進(jìn)入程序代碼界面。新建一個(gè)子程序,名稱(chēng)為:“和是幾”。加入兩個(gè)數(shù)。參數(shù)類(lèi)型為整數(shù)型。返回值類(lèi)型為整數(shù)型。在“_按鈕1_.被單擊”事件子程序下輸入以下程序代碼:信息框 (和是幾 (到數(shù)值 (編輯框1.內(nèi)容), 到數(shù)值 (編輯框2.內(nèi)容), 0, )在“和是幾”子程序下輸入以下程序代碼:返回(數(shù)1+數(shù)2)最后按F5鍵運(yùn)行程序看看。(2)用子程序的方式編寫(xiě)判斷兩個(gè)數(shù)大小的程序,并返回最大數(shù)。 新建易程序,放兩個(gè)編輯框組件與一個(gè)按鈕組件,雙擊按鈕組件,進(jìn)入程序代碼界面。

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論