6.1 Sub過(guò)程
考點(diǎn)1 建立Sub過(guò)程
通用Sub過(guò)程的結(jié)構(gòu)與前面多次見(jiàn)過(guò)的事件過(guò)程的結(jié)構(gòu)類似。一般格式如下:
[Static][Private][Public]Sub過(guò)程名[(參數(shù)列表)]
語(yǔ)句塊
[Exit Sub]
[語(yǔ)句塊]
End Sub
說(shuō)明:
(1)Sub過(guò)程以Sub開(kāi)頭,以End Sub結(jié)束,在Sub和End Sub之間是描述過(guò)程操作的語(yǔ)句塊,稱為“過(guò)程體”或“子程序體”。
(2)End Sub標(biāo)志著Sub過(guò)程的結(jié)束。
(3)Sub過(guò)程不能嵌套。
考點(diǎn)2 調(diào)用Sub過(guò)程
調(diào)用引起過(guò)程的執(zhí)行。也就是說(shuō),要執(zhí)行一個(gè)過(guò)程,必須調(diào)用該過(guò)程。
Sub過(guò)程的調(diào)用有兩種方式:一種是把過(guò)程的名字放在一個(gè)Call語(yǔ)句中,一種是把過(guò)程名作為一個(gè)語(yǔ)句來(lái)使用。
(1)用Call語(yǔ)句調(diào)用Sub過(guò)程。
格式:Call過(guò)程名[(實(shí)際參數(shù))]。
(2)把過(guò)程名作為一個(gè)語(yǔ)句來(lái)使用。
在調(diào)用Sub過(guò)程時(shí),如果省略關(guān)鍵字Call,就成為調(diào)用Sub過(guò)程的第2種方式。與 第1種方式相比,它有兩點(diǎn)不同:
(1)去掉關(guān)鍵字Call。
(2)去掉“實(shí)際參數(shù)”的括號(hào)。
考點(diǎn)3 通用過(guò)程與事件過(guò)程
控件事件過(guò)程的一般格式為:
[Private | Public] Sub控件名_事件名(參數(shù)表)
語(yǔ)句組
End Sub
窗體事件過(guò)程的一般格式為:
[Private][Public] Sub Form_事件名(參數(shù)表)
語(yǔ)句組
End Sub
通用過(guò)程可以放在標(biāo)準(zhǔn)模塊中,也可以放在窗體模塊中,而事件過(guò)程只能放在窗體模塊中,不同模塊k中的過(guò)程(包括事件過(guò)程和通用過(guò)程)可以互相調(diào)用。當(dāng)過(guò)程名時(shí),可以直接通過(guò)過(guò)程名調(diào)用;如果兩個(gè)或兩個(gè)以上的標(biāo)準(zhǔn)模塊中含有相同的過(guò)程名,則在調(diào)用時(shí)必須用模塊名限定,其一般格式為:
模塊名.過(guò)程名(參數(shù)表)
一般來(lái)說(shuō),通用過(guò)程(包括Sub過(guò)程、Function過(guò)程)之間、事件過(guò)程之間、通用過(guò)程與事件過(guò)程之間,都可以互相調(diào)用。
6.2 建Function過(guò)程
考點(diǎn)4 建立Function過(guò)程
Function過(guò)程定義的格式如下:
[Static][Private][Public]Function過(guò)程名[(參數(shù)表列)][As類型]
[語(yǔ)句塊]
[過(guò)程名=表達(dá)式]
[Exit Function]
[語(yǔ)句塊]
End Function
說(shuō)明:
(1)Function過(guò)程以Function開(kāi)頭,以End Function結(jié)束,在兩者之間是描述過(guò)程操作的語(yǔ)句塊。
(2)調(diào)用Sub過(guò)程相當(dāng)于執(zhí)行一個(gè)語(yǔ)句,不直接返回值;而調(diào)用Function過(guò)程要返回一個(gè)值,因此可以像內(nèi)部函數(shù)一樣在表達(dá)式中使用。
考點(diǎn)5 調(diào)用Function過(guò)程
Function過(guò)程的調(diào)用比較簡(jiǎn)單,因?yàn)榭梢韵袷褂肰isual Basic內(nèi)部函數(shù)一樣來(lái)調(diào)用Function過(guò)程。實(shí)際上,由于Function過(guò)程能返回一個(gè)值,因此完全可以把它看成是一個(gè)函數(shù),它與內(nèi)部函數(shù)(如Sqr, Str$ , Chr$等)沒(méi)有什么區(qū)別,只不過(guò)內(nèi)部函數(shù)由語(yǔ)句系統(tǒng)提供,而Function過(guò)程由用戶自己定義。
6.3 參數(shù)傳送
在Visual Basic中,通常把形式參數(shù)叫做“參數(shù)”,而把實(shí)際參數(shù)叫做“自變量”。
考點(diǎn)6 形參與實(shí)參
形參是在Sub, Function過(guò)程的定義中出現(xiàn)的變量名,實(shí)參則是在調(diào)用Sub或Function過(guò)程時(shí)傳送給Sub或Function過(guò)程的常數(shù)、變量、表達(dá)式或數(shù)組。在Visual Basic中,可以通過(guò)兩種方式傳送參數(shù),即按位置傳送和指名傳送。
考點(diǎn)7 引用
Visual Basic中,參數(shù)通過(guò)兩種方式傳送,即傳地址和傳值,其中傳地址習(xí)慣上稱為引用。在默認(rèn)情況下,變量(簡(jiǎn)單變量、數(shù)組或數(shù)組元素以及記錄)都是通過(guò)“引用”傳送給Sub或Function過(guò)程的。在這種情況下可以通過(guò)改變過(guò)程中相應(yīng)的參數(shù)來(lái)改變變量成值,這意著,當(dāng)通過(guò)引用來(lái)傳送實(shí)參時(shí),可以改變傳送給過(guò)程的變量的值。
考點(diǎn)1 建立Sub過(guò)程
通用Sub過(guò)程的結(jié)構(gòu)與前面多次見(jiàn)過(guò)的事件過(guò)程的結(jié)構(gòu)類似。一般格式如下:
[Static][Private][Public]Sub過(guò)程名[(參數(shù)列表)]
語(yǔ)句塊
[Exit Sub]
[語(yǔ)句塊]
End Sub
說(shuō)明:
(1)Sub過(guò)程以Sub開(kāi)頭,以End Sub結(jié)束,在Sub和End Sub之間是描述過(guò)程操作的語(yǔ)句塊,稱為“過(guò)程體”或“子程序體”。
(2)End Sub標(biāo)志著Sub過(guò)程的結(jié)束。
(3)Sub過(guò)程不能嵌套。
考點(diǎn)2 調(diào)用Sub過(guò)程
調(diào)用引起過(guò)程的執(zhí)行。也就是說(shuō),要執(zhí)行一個(gè)過(guò)程,必須調(diào)用該過(guò)程。
Sub過(guò)程的調(diào)用有兩種方式:一種是把過(guò)程的名字放在一個(gè)Call語(yǔ)句中,一種是把過(guò)程名作為一個(gè)語(yǔ)句來(lái)使用。
(1)用Call語(yǔ)句調(diào)用Sub過(guò)程。
格式:Call過(guò)程名[(實(shí)際參數(shù))]。
(2)把過(guò)程名作為一個(gè)語(yǔ)句來(lái)使用。
在調(diào)用Sub過(guò)程時(shí),如果省略關(guān)鍵字Call,就成為調(diào)用Sub過(guò)程的第2種方式。與 第1種方式相比,它有兩點(diǎn)不同:
(1)去掉關(guān)鍵字Call。
(2)去掉“實(shí)際參數(shù)”的括號(hào)。
考點(diǎn)3 通用過(guò)程與事件過(guò)程
控件事件過(guò)程的一般格式為:
[Private | Public] Sub控件名_事件名(參數(shù)表)
語(yǔ)句組
End Sub
窗體事件過(guò)程的一般格式為:
[Private][Public] Sub Form_事件名(參數(shù)表)
語(yǔ)句組
End Sub
通用過(guò)程可以放在標(biāo)準(zhǔn)模塊中,也可以放在窗體模塊中,而事件過(guò)程只能放在窗體模塊中,不同模塊k中的過(guò)程(包括事件過(guò)程和通用過(guò)程)可以互相調(diào)用。當(dāng)過(guò)程名時(shí),可以直接通過(guò)過(guò)程名調(diào)用;如果兩個(gè)或兩個(gè)以上的標(biāo)準(zhǔn)模塊中含有相同的過(guò)程名,則在調(diào)用時(shí)必須用模塊名限定,其一般格式為:
模塊名.過(guò)程名(參數(shù)表)
一般來(lái)說(shuō),通用過(guò)程(包括Sub過(guò)程、Function過(guò)程)之間、事件過(guò)程之間、通用過(guò)程與事件過(guò)程之間,都可以互相調(diào)用。
6.2 建Function過(guò)程
考點(diǎn)4 建立Function過(guò)程
Function過(guò)程定義的格式如下:
[Static][Private][Public]Function過(guò)程名[(參數(shù)表列)][As類型]
[語(yǔ)句塊]
[過(guò)程名=表達(dá)式]
[Exit Function]
[語(yǔ)句塊]
End Function
說(shuō)明:
(1)Function過(guò)程以Function開(kāi)頭,以End Function結(jié)束,在兩者之間是描述過(guò)程操作的語(yǔ)句塊。
(2)調(diào)用Sub過(guò)程相當(dāng)于執(zhí)行一個(gè)語(yǔ)句,不直接返回值;而調(diào)用Function過(guò)程要返回一個(gè)值,因此可以像內(nèi)部函數(shù)一樣在表達(dá)式中使用。
考點(diǎn)5 調(diào)用Function過(guò)程
Function過(guò)程的調(diào)用比較簡(jiǎn)單,因?yàn)榭梢韵袷褂肰isual Basic內(nèi)部函數(shù)一樣來(lái)調(diào)用Function過(guò)程。實(shí)際上,由于Function過(guò)程能返回一個(gè)值,因此完全可以把它看成是一個(gè)函數(shù),它與內(nèi)部函數(shù)(如Sqr, Str$ , Chr$等)沒(méi)有什么區(qū)別,只不過(guò)內(nèi)部函數(shù)由語(yǔ)句系統(tǒng)提供,而Function過(guò)程由用戶自己定義。
6.3 參數(shù)傳送
在Visual Basic中,通常把形式參數(shù)叫做“參數(shù)”,而把實(shí)際參數(shù)叫做“自變量”。
考點(diǎn)6 形參與實(shí)參
形參是在Sub, Function過(guò)程的定義中出現(xiàn)的變量名,實(shí)參則是在調(diào)用Sub或Function過(guò)程時(shí)傳送給Sub或Function過(guò)程的常數(shù)、變量、表達(dá)式或數(shù)組。在Visual Basic中,可以通過(guò)兩種方式傳送參數(shù),即按位置傳送和指名傳送。
考點(diǎn)7 引用
Visual Basic中,參數(shù)通過(guò)兩種方式傳送,即傳地址和傳值,其中傳地址習(xí)慣上稱為引用。在默認(rèn)情況下,變量(簡(jiǎn)單變量、數(shù)組或數(shù)組元素以及記錄)都是通過(guò)“引用”傳送給Sub或Function過(guò)程的。在這種情況下可以通過(guò)改變過(guò)程中相應(yīng)的參數(shù)來(lái)改變變量成值,這意著,當(dāng)通過(guò)引用來(lái)傳送實(shí)參時(shí),可以改變傳送給過(guò)程的變量的值。

