【正文】
函數(shù)過程與 Sub過程 第 7章 過程 通用過程 (Sub/Function)過程可以保存在兩種模塊中: 窗體模塊 (.frm)和 標準模塊 (.bas) (1) 在窗體模塊中創(chuàng)建通用過程: 可以在代碼窗口中直接鍵入來創(chuàng)建 Sub過程 選擇“工具”菜單中的“添加過程”命令 (2) 在標準模塊中創(chuàng)建通用過程: 選擇“工程”菜單中的“添加模塊”命令 保存為一個獨立的“ .bas” 文件 舉例: 把例 max(m, n)存放在模塊文件中 創(chuàng)建通用過程的方法 第 7章 s = max(a, b) …… Function max(m, n) As Single …… End Function 實參 形參 第 7章 值傳遞 :在形參前加“ ByVal”,形參得到的是實參的值,形參值的改變不會影響實參的值。 過程 設置兩個通用過程 Test1和 Test2,分別按值傳遞和按地址傳遞 Private Sub Form_Load() Dim x As Integer Show x = 5 Print 執(zhí)行 test1前, x=。 過程 傳遞方式示意圖 5 Form_Load( ) test1( ) x t 實參 形參 (a) 值傳遞 5 x s (b) 地址傳遞 實參和形參共享單元 0 Form_Load( ) test2( ) 5 10 第 7章 過程 把求兩個數(shù)中的大數(shù)編成 Sub子過程,過程名為 Max Private Sub Form_Load() Show Dim a As Single, b As Single, c As Single Dim s As Single, m As Single a = Val(InputBox(輸入第一個數(shù) )) b = Val(InputBox(輸入第二個數(shù) )) c = Val(InputBox(輸入第三個數(shù) )) Call max(a, b, s) Call max(s, c, m) Print 最大數(shù)是 :。 過程 Private Sub Form_Load() Show m = Val(InputBox(輸入 m的值 )) n = Val(InputBox(輸入 n的值 )) If m n Then MsgBox 輸入數(shù)據(jù)錯誤 , 0, 檢查錯誤 End End If Print 組合數(shù)是: 。 過程 過程的嵌套調(diào)用 a=Calb(n,m) b=Jc(n) 事件過程 Form_Load Function過程 Calb(n,m) Function過程 Jc(x) 結(jié)束 開始 第 7章 過程 變量的作用域 局部變量: 在 窗體模塊 (.frm)和 標準模塊 (.bas)的 過程內(nèi) 聲明的變量,只能在本過程中使用。 過程 1. 局部變量 在一個 過程內(nèi)部 用 Dim或 Static聲明的變量稱為局部變量。 過程 在窗體模塊的 “通用聲明” 段中聲明的變量稱為模塊級變量,可以在一個窗體的不同過程中使用。 全局變量可以被應用程序中任何一個窗體和模塊直接訪問。 使用 Dim關(guān)鍵字 在過程中聲明的局部變量屬于動態(tài)變量 2. 靜態(tài)變量 退出該過程時變量值被保留,即變量所占的內(nèi)存單元沒有釋放。每次調(diào)用過程,變量保持原來的值。 過程 Static Sub Subtest() Dim t As Integer t=2*t+1 Print t End Sub Private Sub Command1_Click() Call Subtest End Sub 運行后, 3次單擊命令按鈕,執(zhí)行結(jié)果為: 1 3 7 例 Static Sub語句示例 將 Static Sub改為 Private Sub, 運行后, 3次單擊命令按鈕,執(zhí)行結(jié)果為: 1 1 1 Private 第 7章 第 7章 過程 多窗體處理 在多窗體程序中,每個窗體可以有自己的界面和程序代碼,完成不同的操作 1. 添加窗體 通過“工程”菜單中的“添加窗體”命令來實現(xiàn) 2. 刪除窗體 選擇“工程”菜單中的“移除”命令 3. 保存窗體 選擇“文件”菜單中的“保存”或“另存為”命令 4. 設置啟動窗體 在“工程 /工程屬性”對話框中設置 多窗體與 Sub Main過程 第 7章 有關(guān)語句和方法 第 7章 過程 創(chuàng)建 3個窗體和 1個標準模塊 (1)主窗體 (Form1) 本窗體上建立了“ 輸入數(shù)據(jù) ” (Command11) 、“ 計算 ” (Command12)和“ 結(jié)束 ” (Command13)三個命令按鈕 設置為啟動窗體 例 多窗體應用示例 —— 計算兩數(shù)之和及積 啟動 窗體 主窗體 輸入兩個數(shù) 計算 定義全局變量 第 7章 隱藏主窗體 39。窗體上建立了 2個文本框 (Text21和 Text22)和1個“返回”命令按鈕 (Command21) Text21 Text22 第 7章 過程 (3)“計算”窗體 (Form3) Private Sub Command31_Click() ?“計算”窗體的“加法”按鈕 = X + Y End Sub Private Sub Command32_Click() ?“計算”窗體的“乘法”按鈕 = X * Y End Sub Private Sub Command33_Click() 39。 過程 (4)標準模塊 (Modulel) 由于在各窗體之間需要使用公共變量來傳送數(shù)據(jù),所以建立一個標準模塊 Modulel,對用到的 全局變量 X和 Y進行聲明 第 7章 過程 創(chuàng)建 2個窗體和 1個標準模塊 例 Sub Main 過程示例 第 7章 2. 模塊級變量聲明 用 Dim關(guān)鍵詞聲明的變量和常量,其有效范圍僅限于本模塊內(nèi)。 過程 例 將判斷一個數(shù)是否為素數(shù)編成一個函數(shù),然后通過調(diào)用該函數(shù)求 500~ 1000數(shù)中的所有素數(shù),把這些素數(shù)顯示在列表框中。 程序舉例 列表框List1 標簽 Label1 命令按鈕Command1 第 7章 amp。返回函數(shù)值 End Function 第 7章 黑色 = RGB(0, 0, 255) 39。n為奇數(shù)時清除 End If End Sub 每次減少 2空格 1個漢字占 2個字符位置 每次增加 1個漢字