小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VB Function語句...

 悟靜 2009-07-20

聲明 Function 過程的名稱,參數(shù)以及構(gòu)成其主體的代碼。

語法

[Public | Private | Friend] [Static] Function name [(arglist)] [As type]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]

End Function

Function 語句的語法包含下面部分:

部分 描述
Public 可選的。表示所有模塊的所有其它過程都可訪問這個(gè) Function 過程。如果是在包含 Option Private 的模塊中使用,則這個(gè)過程在該工程外是不可使用的。
Private 可選的。表示只有包含其聲明的模塊的其它過程可以訪問該 Function 過程。
Friend 可選的。只能在類模塊中使用。表示該 Function 過程在整個(gè)工程中都是可見的,但對于對象實(shí)例的控制者是不可見的。
Static 可選的。表示在調(diào)用之間將保留 Function 過程的局部變量值。Static 屬性對在該 Function 外聲明的變量不會(huì)產(chǎn)生影響,即使過程中也使用了這些變量。
name 必需的。Function 的名稱;遵循標(biāo)準(zhǔn)的變量命名約定。
arglist 可選的。代表在調(diào)用時(shí)要傳遞給 Function 過程的參數(shù)變量列表。多個(gè)變量應(yīng)用逗號隔開。
type 可選的。Function 過程的返回值的數(shù)據(jù)類型,可以是 Byte、布爾、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(除定長)、Object、Variant或任何用戶定義類型。
statements 可選的。在 Function 過程中執(zhí)行的任何語句組。
expression 可選的。Function 的返回值。

其中的 arglist 參數(shù)的語法以及語法各個(gè)部分如下:

[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]

部分 描述
Optional 可選的。表示參數(shù)不是必需的。如果使用了該選項(xiàng),則 arglist 中的后續(xù)參數(shù)都必須是可選的,而且必須都使用 Optional 關(guān)鍵字聲明。如果使用了 ParamArray,則任何參數(shù)都不能使用 Optional 聲明。
ByVal 可選的。表示該參數(shù)按值傳遞。
ByRef 可選的。表示該參數(shù)按地址傳遞。ByRef 是 Visual Basic 的缺省選項(xiàng)。
ParamArray 可選的。只用于 arglist 的最后一個(gè)參數(shù),指明最后這個(gè)參數(shù)是一個(gè) Variant 元素的 Optional 數(shù)組。使用 ParamArray 關(guān)鍵字可以提供任意數(shù)目的參數(shù)。ParamArray 關(guān)鍵字不能與 ByValByRef,或 Optional 一起使用。
varname 必需的。代表參數(shù)的變量的名稱;遵循標(biāo)準(zhǔn)的變量命名約定。
type 可選的。傳遞給該過程的參數(shù)的數(shù)據(jù)類型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持變長)、Object Variant。如果參數(shù)不是 Optional,則也可以是用戶定義類型,或?qū)ο箢愋汀?/td>
defaultvalue 可選的。任何常數(shù)或常數(shù)表達(dá)式。只對于 Optional 參數(shù)時(shí)是合法的。如果類型為 Object,則顯式缺省值只能是 Nothing

說明

如果沒有使用 Public、Private Friend 顯式指定,則 Function 過程缺省為公用。如果沒有使用 Static,則局部變量的值在調(diào)用之后不會(huì)保留。Friend 關(guān)鍵字只能在類模塊中使用。但 Friend 過程可以被工程的任何模塊中的過程訪問。Friend 過程不會(huì)在其父類的類型庫中出現(xiàn),且 Friend 過程不能被后期綁定。

注意 Function 過程可以是遞歸的;也就是說,該過程可以調(diào)用自己來完成某個(gè)特定的任務(wù)。不過,遞歸可能會(huì)導(dǎo)致堆棧上溢。通常 Static 關(guān)鍵字和遞歸的 Function 過程不在一起使用。

所有的可執(zhí)行代碼都必須屬于某個(gè)過程。不能在另外的 Function、Sub Property 過程中定義 Function 過程。

Exit Function 語句使執(zhí)行立即從一個(gè) Function 過程中退出。程序接著從調(diào)用該 Function 過程的語句之后的語句執(zhí)行。在 Function 過程的任何位置都可以有 Exit Function 語句。

 Function 過程與 Sub 過程的相似之處是: Function 過程是一個(gè)可以獲取參數(shù),執(zhí)行一系列語句,以及改變其參數(shù)值的獨(dú)立過程,而與過程不同的是:當(dāng)要使用該函數(shù)的返回值時(shí),可以在表達(dá)式的右邊使用 Function 過程,這與內(nèi)部函數(shù),諸如 Sqr、CosChr 的使用方式一樣。

在表達(dá)式中,可以通過使用函數(shù)名,并在其后用圓括號給出相應(yīng)的參數(shù)列表來調(diào)用一個(gè) Function 過程。請參閱 Call 語句關(guān)于如何調(diào)用 Function 過程的詳細(xì)說明。

要從函數(shù)返回一個(gè)值,只需將該值賦給函數(shù)名。在過程的任意位置都可以出現(xiàn)這種賦值。如果沒有對 name 賦值,則過程將返回一個(gè)缺省值:數(shù)值函數(shù)返回 0,字符串函數(shù)返回一個(gè)零長度字符串 (""),Variant 函數(shù)則返回 Empty。如果在返回對象引用的 Function 過程中沒有將對象引用賦給 name (通過 Set),則函數(shù)返回 Nothing。

下面的示例說明如何給一個(gè)名為 BinarySearch 的函數(shù)賦返回值。在這個(gè)示例中,將 False 賦給了該函數(shù)名,表示沒有找到某個(gè)值。

Function BinarySearch(. . .) As Boolean. . .   '值未找到,返回一個(gè) False 值。   If lower > upper Then      BinarySearch = False      Exit Function   End If. . .End Function

Function 過程中使用的變量分為兩類:一類是在過程內(nèi)顯式聲明的,另一類則不是。在過程內(nèi)顯式聲明的變量(使用 Dim 或等效方法)都是局部變量。對于那些沒有在過程中顯式聲明的變量,除非它們在該過程外更高級別的位置有顯示地聲明,否則也是局部的。

注意 過程可以使用沒有在過程內(nèi)顯式聲明的變量,但只要有任何在模塊級別中定義的名稱與之相同,就會(huì)產(chǎn)生名稱沖突。如果過程中使用的未聲明的變量與另一個(gè)過程,常數(shù),或變量的名稱相同,則會(huì)認(rèn)為過程使用的是模塊級的名稱。顯式聲明變量就可以避免這類沖突??梢允褂?Option Explicit 語句來強(qiáng)制顯式聲明變量。

注意 Visual Basic 可能會(huì)重新安排數(shù)學(xué)表達(dá)式以提高內(nèi)部效率。若 Function 過程會(huì)改變某個(gè)數(shù)學(xué)表達(dá)式中變量的值,則應(yīng)避免在此表達(dá)式中使用該函數(shù)。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多