【正文】
的參數(shù)變量列表 。 (3) Static: 使用 Static時表示將過程中的所有局部變 量說明為靜態(tài)變量 。 使用 Public時表示所有模塊的所 有其他過程都可以調(diào)用該 Function過程 。V i s u a l B A S I C 程序設(shè)計 1 第 9章 過 程 本章要點 : ? Function過程 ? Sub過程 ? 過程的嵌套 ? 參數(shù)的傳遞 ? 代碼模塊 ? 變量的作用域與生存期 第九章 過 程 2 過程的引入 : 使同類的操作不重復(fù) (操作方法相同、參數(shù)不同 ) 過程 : 完成一段獨立功能,可供其他過程使用 (調(diào)用 )。 過程又稱為子程序 調(diào)用過程 : 調(diào)用其他過程的過程 調(diào)用過程 : 調(diào)用 Sprg1 調(diào)用 Sprg1 調(diào)用 Sprg2 子過程 : Sprg1 子過程 : Sprg2 第九章 過 程 3 過程分類 : Sub過程 Function過程 *內(nèi)部過程 (方法 ) 事件過程 自定義過程 內(nèi)部函數(shù) 自定義函數(shù) 第九章 過 程 4 Function過程 Function過程的定義 1. Function過程的格式 [Public|Private][Static] Function 函數(shù)過程名 ([形參表 ]) [As 類型 ] [語句組 ] [函數(shù)過程名 = 表達式 ] [Exit Function] [語句組 ] [函數(shù)過程名 = 表達式 ] End Function 第九章 過 程 5 2. 說明 (1) Public: 缺省值 。 (2) Private: 使用 Private時表示只有本模塊中的其他 過程才可以調(diào)用該 Function過程 。 (4) 函數(shù)過程名 : Function過程的名稱 , 遵循變量 的命名規(guī)則 。 多個變量之間用逗號隔開 。 ByRef: 缺省值 。 變量名 : 遵循變量命名規(guī)則的任何變量名 或數(shù)組名 。 (7) Exit Function語句 : 從 Function過程中退出。 (9) Function過程的定義不能嵌套。 ? 在代碼窗口 : 工具 → 添加過程。 Function Fact(N As Integer) As Long Dim I As Integer, F As Long F = 1 39。 給函數(shù)過程名賦值 End Function 第九章 過 程 8 Function過程的調(diào)用 直接在表達式中調(diào)用。如果是數(shù)組,在數(shù)組名之后必須跟一對空括號。 第九章 過 程 10 39。 給函數(shù)過程名賦值 End Function 39。 的階乘數(shù)為 : = Trim(Str(Fact(X))) End Sub 第九章 過 程 11 Function過程舉例 【例 94】利用 Function過程計算階乘,求組合數(shù)。運行時,在文本框 Text1和Text2中輸入 n和 m值,或通過文本框旁的滾動條調(diào)整 n和 m的值,單擊“ =”按鈕計算組合數(shù),結(jié)果顯示于文本框 Text3中。 定義求階乘的函數(shù) Fact Function Fact(N As Integer) As Double Dim F As Double, i As Integer F = 1 For i = 1 To N F = F * i Next i Fact = F End Function 第九章 過 程 14 39。 示該值,并清除已有的計算結(jié)果 Private Sub VScroll1_Change() = = End Sub 39。 并清除已有的計算結(jié)果 Private Sub VScroll2_Change() = 39。 “=”按鈕的 Click事件過程 Private Sub Command1_Click() Dim m As Integer, n As Integer, c As Double m = Val(): n = Val() 39。 定義求最大公約數(shù)的函數(shù)過程 hcf Function hcf(m As Integer, n As Integer) As Integer Dim r As Integer r = m Mod n Do While r 0 m = n n = r r = m Mod n Loop hcf = n End Function 【例 95】編寫 Function過程求最大公約數(shù),并通過命令按鈕的單擊事件過程調(diào)用該函數(shù)過程。 在 Command1的單擊事件過程中調(diào)用自定義函數(shù) Private Sub Command1_Click() Dim m As Integer, n As Integer m = Val(): n = Val() = Str(hcf(m, n)) End Sub 39。 在 Text2獲得焦點時選中其中的文本 Private Sub Text2_GotFocus() = 0 = Len() End Sub 第九章 過 程 19 Sub過程 Sub過程的定義 1. Sub過程的格式 [Private|Public][Static] Sub 過程名 [(形參表 )] [語句組 ] [Exit Sub] [語句組 ] End Sub 2. 說明 (1) Exit Sub用于退出 Sub過程。 第九章 過 程 20 (3) Sub過程通過 形參表 中的參數(shù)返回值。 【例 97】編寫計算 n!的 Sub過程。 Sub Fact(N As Integer, F As Long) Dim I As Integer F = 1 For I = 1 To N F = F * I Next I End Sub 第九章 過 程 21 【 例 98】編寫 Sub過程,打印以下圖形。 * *** ***** ******* ********* Sub a()