日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

VB程序設(shè)計過程(一)

 你喜歡那個 2012-05-13

8.1  Sub過程

8.1.1  Sub過程的建立

1.定義Sub過程

過程定義的語法格式為:

[Static][Private][Public]Sub過程名 ([形參表])

語句塊1

[Exit Sub]

[語句塊2]

End Sub

說明:

(1) Static:指定過程中的局部變量在內(nèi)存中的存儲方式。

(2) Private:表示Sub過程是私有的,只能被本模塊中的其他過程訪問,不能被其他模塊中的過程訪問。

(3) Public:表示Sub過程是公有過程,可以在程序的任何地方調(diào)用它。若省略,則默認(rèn)為Public過程。

(4) 過程名:命名規(guī)則與變量命名規(guī)則相同。無參數(shù)時,過程名后的括號不能省略。

(5) 形參表:含有在調(diào)用時傳送給該過程的簡單變量名或數(shù)組名,各參數(shù)名之間用逗號隔開。

(6)  Exit Sub語句表示立即退出過程,一般出現(xiàn)在選擇結(jié)構(gòu)中。

(7) End Sub標(biāo)志著Sub過程的結(jié)束。

(8) Sub過程不能嵌套定義。

【例8.1】計算n!

.建立Sub過程

通用過程可以在標(biāo)準(zhǔn)模塊過程中建立,也可以在窗體模塊中建立。舉例說明在標(biāo)準(zhǔn)模塊中建立通用過程,的兩種方法。

8.1.2  調(diào)用Sub過程

Sub過程的調(diào)用有兩種方法:使用Call語句;直接使用過程名。

1.Call語句調(diào)用Sub過程

格式:Call  過程名[(實際參數(shù))]

2.過程名作為一個語句來使用

與第一種方式相比,它有兩點不同:

(1) 去掉關(guān)鍵字Call

(2) 去掉“實際參數(shù)”的括號。

【例8.2】編寫一個計算矩形面積的Sub過程,然后調(diào)用該過程計算矩形面積。

8.1.3  調(diào)用過程與事件過程

舉例說明過程調(diào)用。

1.在事件過程中調(diào)用另一個事件過程

Public Sub Command1_Click()  'Form2中的Command1Click事件過程

Form1.Command1_Click  '調(diào)用Form1中的Command1Click事件過程

End Sub

2.在同一事件過程中調(diào)用兩個標(biāo)準(zhǔn)模塊中具有相同名字的通用過程

Public Sub Command1_Click()  'Form1中的Command1Click事件過程

Module1.Proce  '調(diào)用標(biāo)準(zhǔn)模塊Module1中的名為Proce的通用過程

Module2.Proce  '調(diào)用標(biāo)準(zhǔn)模塊Module2中的名為Proce的通用過程

End Sub

一般來說,通用過程(包括Sub過程、Function過程)之間、事件過程之間、通用過程與事件過程之間,都可以相互調(diào)用。當(dāng)在一個模塊中調(diào)用其他模塊中的過程時,被調(diào)用的過程必須是“公用的”(Public)。

8.2        Function過程

8.2.1  Function過程的定義

Function過程定義的格式為

[Static][Private][Public]Function函數(shù)名([形參表] [As類型]

        [語句塊]

     [函數(shù)名=表達(dá)式]

     [Exit Function]

         [語句塊]

End Function

說明:

(1) Function過程以Function開頭,以End Function結(jié)束,在兩者之間是描述過程操作的語句塊,即“過程體”或“函數(shù)體”。

(2) 函數(shù)名即函數(shù)過程的名稱,命名規(guī)則與變量相同。

(3) 表達(dá)式的值是函數(shù)返回的結(jié)果,通過賦值語句將其賦給函數(shù)名。

(4)不能在事件過程中定義通用過程(包括Sub過程和Function過程),只能在事件過程內(nèi)調(diào)用通用過程。

【例8.3】編寫一個求最大公約數(shù)的函數(shù)過程。

8.2.2  調(diào)用Function過程

以調(diào)用求最大公約數(shù)的函數(shù)為例說明可以像使用Visual Basic內(nèi)部函數(shù)一樣來調(diào)用Function過程。

8.3 參數(shù)傳送

8.3.1  參數(shù)傳送方式

舉例說明參數(shù)傳送方式。

1.傳值

【例8.4】編寫程序,試驗按值傳遞

Sub tryout(ByVal x As Integer,ByVal y As Integer)

     x=x+100

     y=y*6

     Print"x=";x."y=";y

End Sub

Sub Form_Click()

Dim a As Integer, b As Integer

   a=10:b=20

   tryout a,b

   Print "a=";a, "b=";b

End Sub

程序運行后,輸出結(jié)果如下:

x=110       y=120

a=10        b=20

2.傳地址

【例8.5】編寫程序,試驗引用方式傳送參數(shù)。

Sub tryout(x As Integer ,y As Integer)

    x=x+100

    y=y*6

    Print "x=";x, "y=";y

End Sub

Sub Form_Click()

     Dim a As Integer, b As Integer

     a=10:b=20

     tryout a,b

      Print "a=";a, "b=";b

End Sub

小結(jié):

Visual Basic中,常用的過程主要有兩類:一類由系統(tǒng)提供,包括事件過程和內(nèi)部函數(shù)過程;另一類是自定義過程,由程序設(shè)計者根據(jù)需要自行編制,主要包括通用過程和自定義函數(shù)過程。事件過程和通用過程合稱為子過程(Sub過程),自定義函數(shù)過程簡稱為函數(shù)過程(Function過程)。

當(dāng)在程序中需要多次用到某一公式或處理某一函數(shù)關(guān)系,而又沒有現(xiàn)成的內(nèi)部函數(shù)能夠使用時,可以用Function語句編寫自定義函數(shù)過程實現(xiàn)相應(yīng)的功能。一旦編寫完成后,在程序中就可以像使用內(nèi)部函數(shù)一樣使用Function過程。Function過程也是一個獨立的過程,但與Sub過程不同,Sub過程沒有返回值,只能作為獨立的基本語句被調(diào)用,不能出現(xiàn)在表達(dá)式中;而Function過程有返回值,既可出現(xiàn)在表達(dá)式中,也可以作為獨立的語句被調(diào)用。

參數(shù)是主調(diào)過程和被調(diào)過程之間傳送數(shù)據(jù)的重要手段。在調(diào)用一個過程時,必須把實際參數(shù)傳送給過程,完成形式參數(shù)與實際參數(shù)的結(jié)合,然后用實際參數(shù)執(zhí)行調(diào)用的過程。

本講重點介紹Sub過程和Function過程的結(jié)構(gòu)框架如何定義,以及如何調(diào)用一個已寫好的自定義過程,進(jìn)而介紹過程調(diào)用的參數(shù)傳遞機制。

作業(yè):

1Sub過程和Function過程有何區(qū)別?

2.怎樣創(chuàng)建Sub過程和Function過程?

3.怎樣調(diào)用Sub過程和Function過程?

4.什么是形參?什么是實參?它們之間有何區(qū)別?

5.什么是值傳遞?什么是地址傳遞?它們之間有何區(qū)別?

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多