創(chuàng)建新過程
要?jiǎng)?chuàng)建新的通用過程,請(qǐng)
在“代碼”窗口輸入過程頭并按下回車鍵。過程頭以 sub 或 function 打頭,再接一個(gè)名字。例如,可以用以下任一方式輸入:
sub updateform ()
function getcoord ()
通過完成新過程的模板, visual basic 作出反應(yīng)。
選擇現(xiàn)有過程
要在當(dāng)前模塊中查看過程,請(qǐng)
為了查看現(xiàn)有通用過程,在“代碼”窗口的“對(duì)象框”中選擇“通用”,然后在“過程框”中選擇過程。
-或者-
為查看事件過程,在“代碼”窗口的“對(duì)象框”中選擇適當(dāng)?shù)膶?duì)象,然后在“過程框”中選擇事件。
要查看其它模塊中的過程,請(qǐng)
在“視圖”菜單中選取“對(duì)象瀏覽器”。
在“工程/庫”框中選擇工程。
在“類/模塊”列表中選擇模塊,并在“成員”列表中選擇過程。
選取“查看定義”。
調(diào)用過程
調(diào)用過程有諸多技巧,它們與過程的類型、位置以及在應(yīng)用程序中的使用方式有關(guān)。下面的章節(jié)說明如何調(diào)用 sub 過程和 function 過程。
調(diào)用 sub 過程
與 sub 過程不同,在表達(dá)式中,sub 過程不能用其名字調(diào)用。調(diào)用 sub 過程的是一個(gè)獨(dú)立的語句。sub 過程還有一點(diǎn)與函數(shù)不一樣,它不會(huì)用名字返回一個(gè)值。但是,與 function過程一樣,sub 過程也可以修改傳遞給它們的任何變量的值。
調(diào)用 sub 過程有兩種方法:
‘以下兩個(gè)語句都調(diào)用了名為 myproc 的 sub 過程。
call myproc (firstargument, secondargument)
myproc firstargument, secondargument
注意,當(dāng)使用 call 語法時(shí),參數(shù)必須在括號(hào)內(nèi)。若省略 call 關(guān)鍵字,則也必須省略參數(shù)兩邊的括號(hào)。
調(diào)用函數(shù)過程
通常,調(diào)用自行編寫的函數(shù)過程的方法和調(diào)用 visual basic 內(nèi)部函數(shù)過程(例如 abs)的方法一樣;即在表達(dá)式中寫上它的名字。
’下面的語句都調(diào)用函數(shù) todec。
print 10 * todec
x = todec
if todec = 10 then debug.print “out of range”
x = anotherfunction ( 10 * todec)
就像調(diào)用 sub 過程那樣,也能調(diào)用函數(shù)。下面的語句都調(diào)用同一個(gè)函數(shù):
call year (now)
year now
當(dāng)用這種方法調(diào)用函數(shù)時(shí),visual basic 放棄返回值。
調(diào)用其它模塊中的過程
在工程中的任何地方都能調(diào)用其它模塊中的公用過程??赡苄枰付ㄟ@樣的模塊,它包含正在調(diào)用的過程。調(diào)用其它模塊中的過程的各種技巧,取決于該過程是在窗體模塊中、類模塊中還是標(biāo)準(zhǔn)模塊中。
窗體中的過程
所有窗體模塊的外部調(diào)用必須指向包含此過程的窗體模塊。如果在窗體模塊 form1 中包含 somesub 過程,則可使用下面的語句調(diào)用 form1 中的過程:
call form1.somesub(arguments)
類模塊中的過程
與窗體中調(diào)用過程類似,在類模塊中調(diào)用過程要調(diào)用與過程一致并且指向類實(shí)例的變量。例如,democlass 是類 class1 的實(shí)例:
dim democlass as new class1
democlass.somesub
但是不同于窗體的是,在引用一個(gè)類的實(shí)例時(shí),不能用類名作限定符。必須首先聲明類的實(shí)例為對(duì)象變量(在這個(gè)例子中是 democlass )并用變量名引用它。
詳細(xì)信息 可在“用對(duì)象編程”中找到關(guān)于對(duì)象變量和類模塊的詳細(xì)信息。
標(biāo)準(zhǔn)模塊中的過程
如果過程名是唯一的,則不必在調(diào)用時(shí)加模塊名。無論是在模塊內(nèi),還是在模塊外調(diào)用,結(jié)果總會(huì)引用這個(gè)唯一過程。如果過程僅出現(xiàn)在一個(gè)地方,這個(gè)過程就是唯一的。
如果兩個(gè)以上的模塊都包含同名的過程,那就有必要用模塊名來限定了。在同一模塊內(nèi)調(diào)用一個(gè)公共過程就會(huì)運(yùn)行該模塊內(nèi)的過程。例如,對(duì)于 module1 和 module2 中名為 commonname 的過程,從 module2 中調(diào)用 commonname 則運(yùn)行 module2 中的 commonname 過程,而不是 module1 中的 commonname 過程。
從其它模塊調(diào)用公共過程名時(shí)必須指定那個(gè)模塊。例如,若在 module1 中調(diào)用 module2 中的 commonname 過程,要用下面的語句:
module2.commonname (arguments)