《VB程序設(shè)計語句》PPT課件.ppt_第1頁
《VB程序設(shè)計語句》PPT課件.ppt_第2頁
《VB程序設(shè)計語句》PPT課件.ppt_第3頁
《VB程序設(shè)計語句》PPT課件.ppt_第4頁
《VB程序設(shè)計語句》PPT課件.ppt_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第5章 VB程序設(shè)計語句,5.1 賦值語句 賦值語句是任何程序設(shè)計語言中最基本的語句。 格式:LET 變量名=表達(dá)式 功能:它的作用是把右邊表達(dá)式的值賦給左邊的變量。 說明: (1)LET表示賦值,通??梢允÷?。 (2)表達(dá)式的類型應(yīng)與變量的類型一致,即同時為數(shù)值型或同時為字符型。當(dāng)是數(shù)值型且有不同精度時,強制轉(zhuǎn)換成左邊的精度。,5.1 賦值語句,例如:A%=6.3 A為整型變量 A中的結(jié)果為6 在VB中,賦值語句通常是給變量賦值和設(shè)置對象屬性值。 1.給變量賦值 例如: Dim A As Integer Dim B As String*10 A=100 B=我是中國人 可以將一個表達(dá)式的值賦

2、給一個變量,所以下面的賦值語句是合法的: Dim S As Integer Dim P As Single S=600+1000 P=3.14*S+200*500,5.1 賦值語句,2.為對象設(shè)置屬性值 在程序中可以用賦值語句為對象的屬性設(shè)置屬性值。 格式:對象.屬性=屬性值 例如:為命令按鈕Command1的Caption屬性設(shè)置值。 Command1.Caption=顯示文本 為文本框Text1的FontName及FontSize屬性設(shè)置值: Text1.FontName=“隸書” Text1.FontSize=32,5.2 條件語句,VB提供了多種形式的條件語句來實現(xiàn)選擇結(jié)構(gòu)。對條件進行

3、判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。,5.2.1 分支結(jié)構(gòu),1.單分支結(jié)構(gòu)(IfThen語句)格式: (1) If條件Then 語句塊 End If (2) If條件Then語句 功能: (1)如果條件為真,執(zhí)行Then后面的語句塊,如果條件為假,不執(zhí)行Then后面的語句塊,而執(zhí)行End If后的語句。如圖5.1所示。 (2)如果條件為真,執(zhí)行Then后面的語句,如果條件為假,不執(zhí)行Then后面的語句。,5.2.1 分支結(jié)構(gòu),2.雙分支結(jié)構(gòu)(IfThenElse語句)格式: If條件Then 語句塊1 Else 語句塊2 End If 功能:如果條件為真,執(zhí)行Then后面的語句塊1,如果條

4、件為假,執(zhí)行Else后面的語句塊2。 【例5.1】計算分段函數(shù)。用雙分支結(jié)構(gòu)實現(xiàn): y=sinx+(x2+1) x0 y=cos-x3+3x x=0 If x0 Then y=sin(x)+(x*x+1) Else y=cos(x)-x3+3*x End If,5.2.1 分支結(jié)構(gòu),3.IIf函數(shù) IIf函數(shù)可用來執(zhí)行簡單的條件判斷操作,它是“IfThenElse”結(jié)構(gòu)的簡寫版本。 格式:result=IIf(條件,True部分,F(xiàn)alse部分) 功能:當(dāng)條件為真時,IIf函數(shù)返回“True部分”,而當(dāng)條件為假時,IIf函數(shù)返回“False部分”。 說明:result函數(shù)的返回值,True部分

5、、False部分及結(jié)果變量的類型要一致。,IIf函數(shù),例如: If x10 Then r=1 Else r=2 End If 而用IIf函數(shù)來代替,可以使程序大大簡化。 r=IIf(x10,1,2) 【例5.2】某大學(xué)實行按學(xué)分收費,如果不超過12學(xué)分,應(yīng)繳納學(xué)費為4000元,如果超過12學(xué)分,每超過1學(xué)分,加收500元學(xué)費。輸入學(xué)分U,輸出學(xué)分U和應(yīng)繳納的學(xué)費T。 【例5.3】設(shè)計一個對輸入整數(shù)求和的程序,輸入0時程序結(jié)束運行。,5.2.1 分支結(jié)構(gòu),4.多分支結(jié)構(gòu)(IfThenElseIf語句) 格式: If條件1Then 語句塊1 ElseIf條件2Then 語句塊2 Else 語句塊n

6、+1 End If 功能:這種結(jié)構(gòu)稱為多分支結(jié)構(gòu)。先測試條件1,如果條件1為真,執(zhí)行Then后面的語句塊1;如果條件1為假繼續(xù)條件2,如果條件2為真,執(zhí)行后面語句塊2;。如此測試下去。如果所有條件都為假,則執(zhí)行Else后面的語句塊n+1。 【例5.4】在文本框中,輸入學(xué)生成績,判斷其等級,在窗體中輸出。,5.2.2 情況語句,情況語句(Select Case )的一般格式: Select Case測試表達(dá)式 Case表達(dá)式列表1 語句塊1 Case表達(dá)式列表2 語句塊2 Case表達(dá)式列表n 語句塊n Case Else 語句塊n+1 End Select 【例5.5】用戶在文本框Text1中

7、分別輸入:Dot,Line,Box,Circle,在窗體上分別畫一個點、一條線、一個矩形、或一個圓等圖形,然后在End Select語句出口。,5.3 循環(huán)語句,5.3.1 For循環(huán) 格式: For循環(huán)變量=初值To終值Step 步長 循環(huán)體 Exit For Next循環(huán)變量 功能: 當(dāng)循環(huán)變量的值在初值到終值范圍內(nèi)時,執(zhí)行一次循環(huán)體中的語句塊,并使初值增加一個步長。當(dāng)循環(huán)變量的值不在初值到終值范圍內(nèi)時,就退出循環(huán),執(zhí)行Next后面的語句。For循環(huán)語句執(zhí)行的流程圖如圖5.5所示。,5.3.1 For循環(huán),【例5.6】計算S=1+2+3+.+10的和。 計算機執(zhí)行一個For 循環(huán)的過程是:

8、 (1)執(zhí)行For 語句,把初值1賦給循環(huán)變量P即P=1,把終值10和步長1保存起來。 (2)按順序執(zhí)行循環(huán)體中的語句S=S+1,即S=1; (3)執(zhí)行Next語句,把循環(huán)變量P增加一個步長1,P=P+1,即P=2,P不大于10,繼續(xù)執(zhí)行循環(huán)體S=S+P; (4)接著執(zhí)行Next語句,如果P不大于10,就繼續(xù)執(zhí)行循環(huán)體,如果P大于10,就不再執(zhí)行循環(huán)體,轉(zhuǎn)向到Next語句后面的語句去執(zhí)行。,5.3.2 Do循環(huán),Do循環(huán)語句用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。此種語句有兩種語法形式。 格式1: Do While|Until條件 語句塊 Exit Do 語句塊 Loop 格式2: Do 語句塊 Ex

9、it Do 語句塊 Loop While|Until條件 功能:當(dāng)指定的關(guān)鍵字While用于指明條件為真(True)時,執(zhí)行循環(huán)體。,5.3.2 Do循環(huán),說明: (1)格式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;格式2為先執(zhí)行后判斷,至少執(zhí)行一次循環(huán)體。兩種格式的While的流程圖分別如圖5.6(a)和5.6(b)所示。 (2)關(guān)鍵字Until用于指明條件為假(False)時,執(zhí)行循環(huán)體。 (3)Exit Do:當(dāng)執(zhí)行該語句時,退出循環(huán),執(zhí)行Loop的下一句。Exit Do一般放在IfThenEnd If語句中。,5.3.2 Do循環(huán),下面是最簡單的形式,While子句的作用是當(dāng)給定的條件為真

10、時繼續(xù)執(zhí)行循環(huán)體,當(dāng)條件為假時終止循環(huán)。 Do While條件 循環(huán)體 Loop 【例5.7】用Do While語句編寫計算S=1+2+3+.+10的和的程序。,5.3.3 多重循環(huán),在循環(huán)體內(nèi)又包含了一個完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。循環(huán)嵌套對For循環(huán)語句和DoLoop語句均適用。 【例5.8】打印九九表。程序運行結(jié)果如圖5.7所示。,5.3.4 GoTo語句,格式: GoTo 標(biāo)號、行號 功能:該語句的作用是無條件地轉(zhuǎn)移到標(biāo)號或行號指定的那行語句。 【例5.9】求100以內(nèi)的素數(shù)。 判斷某數(shù)m是否為素數(shù)的方法很多,最簡單的方法是從素數(shù)的定義來求解,其算法思想是:對于m從i=2,3,m-

11、1判別m能否被i整除,只要有一個數(shù)能整除,m不是素數(shù),否則m是素數(shù)。,5.3.5 End語句,格式:End 功能:結(jié)束程序的運行。它可放在任何一個事件過程中。,5.3.6 應(yīng)用舉例,【例5.10】求 S=1+3+5+99之和。 【例5.11】求 S=1*2*3*10之積。 【例5.12】二重循環(huán)的運行結(jié)果。 【例5.13】運行下列程序。 【例5.14】編寫在窗口上顯示如圖5.8圖案的程序。 【例5.15】設(shè)計一個計算1+2+3+.+.之和直到累加結(jié)果超過30000的程序。 【例5.16】用Do While循環(huán),求 S=1+2+3+.+100之和。 【例5.17】用Do While循環(huán),求 S=

12、5*4*3*2*1之積。 【例5.18】產(chǎn)生若干個隨機數(shù),直到有一個隨機數(shù)大于0.9為止的程序。 【例5.19】產(chǎn)生50個兩位隨機整數(shù)的程序。 【例5.20】產(chǎn)生12個30100隨機整數(shù)的程序。 【例5.21】輸出150之間,能被3整除的數(shù),并累加這些數(shù)的和。,5.4 數(shù) 組,5.4.1 數(shù)組的概念 S(0,0) S(0,1) S(0,2) S(0,3) S(0,4) S(1,0) S(1,1) S(1,2) S(1,3) S(1,4) S(2,0) S(2,1) S(2,2) S(2,3) S(2,4) S(6,0) S(6,1) S(6,2) S(6,3) S(6,4) 在VB中如果沒有特

13、別的說明,數(shù)組元素的下標(biāo)是從0開始的,即第一元素的下標(biāo)為0。 數(shù)組分靜態(tài)數(shù)和動態(tài)數(shù)組。在定義數(shù)組時已確定了數(shù)組的大小,稱為靜態(tài)數(shù)組。在定義數(shù)組時未給出數(shù)組的大小,省略了括號中的下標(biāo),稱動態(tài)數(shù)組。,5.4.2 靜態(tài)數(shù)組的定義,在VB中,可以用4個語句來定義數(shù)組。4個語句格式相同,但適應(yīng)范圍不一樣。 Dim 用在窗體模塊或標(biāo)準(zhǔn)模塊中,定義窗體或標(biāo)準(zhǔn)模塊數(shù)組,也可在過程中用。 ReDim 用在過程中。 Static 用在過程中。 Public 用在標(biāo)準(zhǔn)模塊中,定義全局?jǐn)?shù)組。 格式: Dim數(shù)組名(下標(biāo))As 類型 Dim數(shù)組名(下界 TO上界),下界 To上界As 類型,5.4.2 靜態(tài)數(shù)組的定義,

14、功能:定義一個數(shù)組各維的大小,并分配相應(yīng)的存儲空間。 說明: (1)格式中的數(shù)組名與簡單變量的命名規(guī)則相同。 (2)下標(biāo)是數(shù)組的維數(shù),可以用來定義多維數(shù)組,在一般情況下,若缺省上界,則數(shù)組元素下標(biāo)的下界為0;當(dāng)使用下界 To 上界時,下標(biāo)的范圍可以為-32 76832767。一維數(shù)組的大小為:(上界-下界+1)。 下界都必須小于上界。如果希望下標(biāo)從1開始,可以通過Option Base語句來實現(xiàn)。 格式: Option Base N 功能:指定數(shù)組下標(biāo)的缺省下界為1。 說明:如果不使用該語句,程序默認(rèn)數(shù)組的下標(biāo)下界為0。Option Base語句在程序中只能使用一次;使用時必須把它放在數(shù)組定義

15、之前才起作用。,5.4.2 靜態(tài)數(shù)組的定義,(3)As 數(shù)據(jù)類型項,用來說明數(shù)組的類型,類型可以是: 整型 Integer 長整型 Long 單精度 Single 雙精度 Double 字符串型 String 用戶定義型 (4)DIM語句中的下標(biāo)可以是常數(shù),變量或表達(dá)式。下標(biāo)全為常數(shù)稱為靜態(tài)數(shù)組,即數(shù)組大小在編譯時是確定的。下標(biāo)中有變量則稱為動態(tài)數(shù)組,數(shù)組的大小是可變的,只有在程序運行時,變量有確定的值后,數(shù)組的大小才確定。 (5)數(shù)組必須先定義,后使用。 (6)當(dāng)用Dim語句定義數(shù)組時,該語句把數(shù)值數(shù)組中的全部數(shù)組元素都初始化為0,而把字符串?dāng)?shù)組中的全部元素都初始化為空字符串。,5.4.2

16、靜態(tài)數(shù)組的定義,例如: Dim A(4) As String 定義了類型為字符型的一維數(shù)組A,共有5個元素:A(0)、A(1)、A(2)、A(3)、A(4)。 Dim B(1,3 To 5) As Integer 定義了一個整型的二維數(shù)組,共有6個元素:B(0,3)、B(0,4)、B(0,5)、B(1,3)、B(1,4)和B(1,5)。 Dim S(5 To 5, 2 To 10 ) As String*20 定義S是一個定長字符串組成的二維數(shù)組,下標(biāo)范圍是55,210。每個數(shù)組元素的字符串長度是20。 Dim X(10) As Integer 定義了數(shù)組X,有11個元素 X(10)=100

17、對X(10)這個數(shù)組元素賦值為100,5.4.3 數(shù)組下標(biāo)界的測試函數(shù),有時需要知道數(shù)組的上界值和下界值,這可以通過LBound和UBound函數(shù)來測試。 格式: LBound(數(shù)組名,維) 格式: UBound(數(shù)組名,維) 功能: LBound函數(shù)返回一個數(shù)組中指定維的下界。UBound函數(shù)返回一個數(shù)組中指定維的上界。 【例5.22】 測試三維數(shù)組的每維的下界和上界的大小。,5.4.4 動態(tài)數(shù)組的定義,格式:ReDim 數(shù)組名(下標(biāo))As類型 功能:改變動態(tài)數(shù)組的大小和存儲空間。 說明: 例如: Dim A(20,20,20) ReDim A(10,10,10) 重新定義動態(tài)數(shù)組A的空間

18、ReDim A(5,5,5) 再重新定義動態(tài)數(shù)組A的空間 此程序是采用動態(tài)數(shù)組,能根據(jù)應(yīng)用的情況確定數(shù)組的大小,因此編寫的程序有更強的實用性和通用性。,5.4.5 數(shù)組的清除和重新定義,在一個程序中,同一數(shù)組只能用Dim語句定義一次。但有時可能需要清除數(shù)組的內(nèi)容或?qū)?shù)組重新定義,這可以用Erase語句來實現(xiàn)。 格式:Erase數(shù)組名,數(shù)組名 功能:用于重新初始化靜態(tài)數(shù)組的元素,或者釋放動態(tài)數(shù)組的存儲空間。 例如: Dim T(10) As Integer Erase T 【例5.23】 用Erase語句初始化數(shù)組。,5.4.5 數(shù)組的清除和重新定義,程序是定義了一個靜態(tài)數(shù)組T,用For循環(huán)語句

19、為每個數(shù)組的元素賦值,然后執(zhí)行Erase語句,將各數(shù)組元素的值清除。程序的運行結(jié)果如下: 1 2 3 4 5 0 0 0 0 0,5.4.6 數(shù)組的基本操作,數(shù)組的基本操作包括輸入、輸出及復(fù)制,這些操作都是對數(shù)組元素進行的。 1.給數(shù)組元素賦初值 (1)利用For循環(huán)語句 Dim A(5) As Integer For I=1 To 5 A(I)=0 數(shù)組的每個元素值為0 Next (2)利用Array函數(shù) 在VB中可以使用Array函數(shù)為數(shù)組元素賦值,即把一個數(shù)據(jù)集賦值給某個數(shù)組。,利用Array函數(shù),格式:數(shù)組變量名=Array(數(shù)組元素值) 功能:將數(shù)組元素值賦給數(shù)組各元素的值,各值之間

20、用逗號分隔。 說明:數(shù)組變量名是預(yù)先定義的數(shù)組名(定義時沒有指定維數(shù)和上下界,并且類型必須為變量體類型Variant),在數(shù)組變量名之后沒有括號。 【例5.24】 用Array函數(shù)給數(shù)組賦值。 說明: (1)利用Array函數(shù)對數(shù)組各元素賦值,定義數(shù)組時圓括號可以省略,其類型只能是Variant。 (2)數(shù)組的下界為零,上界由Array函數(shù)括號內(nèi)的參數(shù)個數(shù)決定,也可通過函數(shù)UBound獲得。,5.4.6 數(shù)組的基本操作,2.數(shù)組的輸入 數(shù)組的輸入可以用For循環(huán)語句及文本框控件輸入,也可以通過InputBox函數(shù)輸入。 (1)InputBox函數(shù)給數(shù)組賦值 【例5.25】 用InputBox函

21、數(shù)給數(shù)組賦值。 (2)用賦值語句給數(shù)組賦值 3.數(shù)組元素的輸出 多維數(shù)組元素的輸出和輸入都可以通過多重循環(huán)來實現(xiàn)。由于VB中的數(shù)組是按行存儲的,因此把控制數(shù)組第一維的循環(huán)變量放在最外層循環(huán)中。 【例5.26】 二維數(shù)組的輸入與輸出。,5.4.6 數(shù)組的基本操作,4.數(shù)組元素的復(fù)制 【例5.27】把N數(shù)組中的數(shù)據(jù)復(fù)制到M數(shù)組中,程序如下:,5.4.7 數(shù)組應(yīng)用舉例,【例5.28】用數(shù)組輸入5個整數(shù),按逆序排列。 【例5.29】用數(shù)組輸入5個整數(shù),找出最大的數(shù)。 【例5.30】求數(shù)組中最大元素值和所在的下標(biāo)及各元素之和。 【例5.31】輸入一個字符串,統(tǒng)計各字母出現(xiàn)的次數(shù),字母不區(qū)分大小寫。程序的

22、運行結(jié)分析: (1)統(tǒng)計26個字母出現(xiàn)的個數(shù),要定義一個具有26個元素的數(shù)組,每個元素的下標(biāo)表示對應(yīng)的字母,元素的值表示對應(yīng)字母出現(xiàn)的次數(shù)。 (2)從輸入的字符串中逐一取出字符,轉(zhuǎn)換成大寫字符(使得大小寫不區(qū)分),進行判斷。 【例5.32】用選擇法將數(shù)組排序。對于已知存放在數(shù)組中的n個數(shù),用選擇法按遞增順序排. 【例5.33】用冒泡排序法將數(shù)組排序。對于已知存放在數(shù)組中的n個數(shù),用冒泡法遞增順序排序。,5.5 控件數(shù)組,前面我們介紹了數(shù)值數(shù)組和字符數(shù)組。在VB中,還提供了控件數(shù)組,它為處理一組功能相近的控件提供有力的方法。,5.5.1 控件數(shù)組的概念,控件數(shù)組是由一組相同類型的控件組成。他們共

23、用一個控件名,具有相同的屬性,但通常有不同的屬性值。當(dāng)建立控件數(shù)組時,系統(tǒng)給每個元素賦一個惟一的索引號(Index),即下標(biāo),下標(biāo)值由Index屬性指定。通過屬性窗口的Index屬性,可以知道該控件的下標(biāo)是多少,第1個元素下標(biāo)是0,第2個元素下標(biāo)是1,以此類推。其所有的元素的Name屬性必須相同??丶?shù)組共享同樣的事件過程。例如,控件數(shù)組Command有3個命令按鈕,不論單擊哪個命令按鈕,都會調(diào)用同一個事件過程。,5.5.1 控件數(shù)組的概念,為了區(qū)分控件數(shù)組中的各個元素,VB會把下標(biāo)值傳送給一個過程。例如,單擊上述控件數(shù)組中的任意一個命令按鈕時,調(diào)用的事件過程如下: Private Sub C

24、ommand_Click(Index As Integer) End Sub,5.5.2 控件數(shù)組的建立,控件數(shù)組是針對控件建立的,因此與普通數(shù)組的定義方法不一樣。可以通過以下三種方法來建立控件數(shù)組。 1.在設(shè)計時建立控件數(shù)組方法一: (1)在窗體上畫出作為數(shù)組元素的各個控件。 (2)單擊要包含到數(shù)組中的某個控件,將其激活。 (3)在屬性窗口中,選擇Name屬性,并輸入控件的名稱。當(dāng)對第二個控件輸入與第一個控件相同的名稱后,VB將顯示一個對話框,如圖5.11所示,詢問是否確實要建立控件數(shù)組。單擊“是”按鈕,將建立控件數(shù)組,單擊“否”按鈕,則放棄建立操作。,5.5.1 控件數(shù)組的概念,方法二:

25、(1)在窗體上畫出一個控件,將其激活。 (2)執(zhí)行“編輯”菜單中的“復(fù)制”命令(或者按Ctrl+C命令),將該控件放入剪貼板中。 (3)執(zhí)行“編輯”菜單中的“粘貼”命令(或者按Ctrl+V命令),將顯示一個對話框,詢問是否建立控件數(shù)組,如圖5.11所示。 (4)單擊對話框中的“是”按鈕,窗體的左上角將出現(xiàn)一個控件,它就是控件數(shù)組的第二個元素。 (5)重復(fù)執(zhí)行“編輯”菜單中的“粘貼”命令(或者按Ctrl+V命令),可以建立控件數(shù)組的其他元素。 刪除控件數(shù)組,只要改變一個控件的Name屬性,并把Index屬性置為空(不是0),就把該控件從控件數(shù)組中刪除。,5.5.1 控件數(shù)組的概念,【例5.34】

26、建立3個命令按鈕的控件數(shù)組,當(dāng)單擊某個命令按鈕時,分別執(zhí)行不同的操作。建立控件數(shù)組的操作步驟如下: (1)在窗體上建立一個命令按鈕,并把其Name屬性設(shè)置為cmdTest,然后用“編輯”菜單中的“復(fù)制”命令和“粘貼”命令復(fù)制兩個命令按鈕。 (2)把第一、第二、第三個命令按鈕的Caption屬性分別設(shè)置為“命令按鈕1”、“命令按鈕2”、“命令按鈕3”。,5.5.1 控件數(shù)組的概念,2.在運行時添加控件數(shù)組 【例5.35】在窗體上建立一個命令按鈕、兩個單選按鈕和一個圖片框。每單擊一次命令按鈕,增加一個新的單選按鈕。如果單擊某個單選按鈕,則在圖片框中畫出具有不同填充圖案的圓。 本例需要4個控件,屬性

27、的設(shè)置如表5.1所示。,5.6 過 程,VB的通用過程包括兩大類:它們是Sub過程(即子程序)和Function過程(即函數(shù))。,5.6.1 過程的定義,自定義子過程有兩種方法:在“工具”菜單中定義和在代碼窗口中定義。 1.在“工具”菜單中定義2.在代碼窗口中定義 自定義子過程的格式如下: Public|PrivateStaticSub子過程名(形參表列) 語句塊 Exit Sub 語句塊 End Sub 功能:定義一個Sub過程。,5.6.1 過程的定義,說明: (1)Public:表示Sub過程是“公用”過程,可在整個程序范圍被調(diào)用(但需要指明該子程序所在的對象名,如果在窗體 Form1中

28、定義了一個程序Sub1,在窗體From2中調(diào)用它,應(yīng)該用:Call Form1.Sub1。 (2)Private:表示Sub過程是“私用”過程,只能被本窗體中的其他過程訪問,不能被其他模塊的過程訪問。 (3)Static:表示該過程中的局部變量是靜態(tài)變量,在過程被調(diào)用后其值仍然保留;如果省略“Static”,則局部變量就默認(rèn)為“自動”的,即在每次調(diào)用過程時,局部變量被初始化為0或空字符串。Static對在過程之外的變量沒有影響,即使這些變量在過程中使用。 (4)形參表列:是含在調(diào)用時傳給該過程的簡單變量名或數(shù)組名,各名字之間用逗號隔開。,5.6.1 過程的定義,“形參表列”指明了調(diào)用時傳送給過

29、程的參數(shù)的類型和個數(shù),每個參數(shù)的形式: ByVal(變量名()As 類型,) 參數(shù)也稱形參或啞元,在定義時沒有值。ByVal表示該過程被調(diào)用時,參數(shù)是值傳遞,否則引用傳遞。定義子過程或子函數(shù)時,都可以無參數(shù),但函數(shù)過程無參數(shù)時,函數(shù)過程名后的括號不能省略。這是函數(shù)過程與子過程的區(qū)別。 (5)過程名:是長度不超過255個字符的變量名。其命名規(guī)則與變量命名規(guī)則相同。不要與VB中的關(guān)鍵字重名,也不要與Windows API函數(shù)重名,也不能與同一級別的變量同名。在同一個模塊中,同一個名稱,不能既用作Sub過程名,又用作Function過程名。 (6)Exit Sub:表示退出子過程。 (7)Stati

30、c:表示靜態(tài),Public:表示全局,Private:表示局部。 【例5.36】編寫一個計算加減乘除的Sub過程。,5.6.2 過程的調(diào)用,在VB中可以用兩種方法調(diào)用Sub過程。 (1) 使用Call語句調(diào)用Sub過程。 格式: Call 過程名(實參表列) 功能:調(diào)用過程。 說明:實參的個數(shù)、數(shù)據(jù)類型都要與被調(diào)用過程的參數(shù)一一對應(yīng)。 例如下面是調(diào)用Compute過程的語句: a1=10.5 b1=10.5 Call Compute(a1,b1) 如果過程不帶參數(shù),Call語句中過程后的一對括號可以省去,例如有一過程Sum不帶參數(shù),調(diào)用語句只是一行: Call Sum 這是合法的。,5.6.2

31、 過程的調(diào)用,(2) 直接使用過程名調(diào)用Sub過程,而不必有Call。 格式: 過程名實參實參 功能:調(diào)用過程。 說明:不用括號把實參括起來。例如,也可以這樣調(diào)用上面的過程: Compute a1,b1 不帶參數(shù)的過程可以直接寫過程名即可,假如Compute過程沒有參數(shù),以下調(diào)用是符合VB語法的: Compute 【例5.37】編寫一個過程調(diào)用上面的過程Compute程序。,5.6.3 退出過程,在過程中可以對給出的條件測試,并根據(jù)測試的結(jié)果確定是否退出過程,如果要退出過程,則使用Exit Sub語句。 一進入過程,首先測試變量b的值是否等于0,如果b的值為0,立即退出Compute過程。避免

32、在執(zhí)行過程中出現(xiàn)錯誤(被零除)。,5.6.4 Sub Main過程,如果一應(yīng)用程序只包含一個窗體,則程序從執(zhí)行窗體Form的Load過程開始。如果有多個窗體,則從設(shè)計階段建立的第一個窗體開始執(zhí)行。有時,希望在運行窗體程序之前先執(zhí)行一些操作,此時,可以將這些操作寫在Sub Main過程中。 Sub Main是在模塊中定義的,如果一個程序中包含有多個模塊,只能允許有一個Sub Main過程。Sub Main過程中可以包含若干語句。但它與其他語言中的主程序不同,程序啟動時不會自動執(zhí)行。人們可以指定程序從哪一個窗體或是Sub Main開始執(zhí)行。方法如下:,方法為:,(1)選擇VB主窗口中的“工程”菜單中的“屬性”命令,打開“工程屬性”對話框,單擊“通用”選項,如圖5.17所示。 (2)單擊對話框中的“啟動對象”框右端的箭頭,顯示出當(dāng)前工程中各窗體的名字和Sub Main,可以定義啟動工程時先啟動的窗體或Sub Main。如果選擇了Sub Main

溫馨提示

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

評論

0/150

提交評論