• 沒有找到結果。

If (特殊狀況 2) Then Continue Do ,說明:回至迴圈起始處 Loop

5.11.3.3 條件為偽迴圈

執行迴圈主體程序前先比對條件,如果條件不成立則重覆迴圈主體程序,否 則跳出迴圈。程式語法如下述:

Do Until (比對條件) 迴圈主體程序

If (特殊狀況) Then Exit Do ,說明:跳出迴圈 Loop

5.11.3.4 後置條件為真迴圈

先處理迴圈主體程序然後才比對條件,如果條件不成立則則跳出迴圈,否則 重覆迴圈主體程序,迴圈程序至少執行一次。程式語法如下述:

Do

迴圈主體程序 Loop While (比對條件) 5.11.3.5 後置條件為偽迴圈

先處理迴圈主體程序然後才比對條件,如果條件不成立則則重覆迴圈主體程 序,否則跳出迴圈,迴圈程序至少執行一次。程式語法如下述:

Do

迴圈主體程序 Loop Until (比對條件) 5.11.4 副程式

若是一個程式檔案內有兩段以上之程式區塊使用相同的處理程序,可將這些 處理程序獨立出來,然後賦與一個唯一的示別名稱,此段程式稱之為副程式,原 主體程式可透過叫用方法(Call),呼叫副程式來處理所須程式邏輯。假如副程 式執行後不需要回傳結果者,此種副程式稱之為程序(Sub),需要回傳結果者 稱之為程序(Function)。有時一個程序檔案之敘述很長時,也可以將某些段落 獨立成副程式,使得程式更容易閱讀和維護。

假如有兩個以上之表單須使用相同的副程式時,可將這些副程式從表單程序 獨立出來,然後將它們置於模組程序內,此種副程式被稱為公用副程式。公用副 程式必須使用Public前導修飾詞,方可被其它表單程序叫用。以Private前 ↑H

導修飾詞之副程式,只能在定義該副程式之程式檔案內使用。副程式之語法請參 考下述說明。

5.11.4.1 程序 區域型副程序

Private Sub subProcedure(ByVal Par1 As String, ByRef Par2() As String) 副程式敘述

End Sub 公用型副程序

Public Sub subProcedure(ByVal Par1 As String, ByRef Par2() As String) 副程式敘述

End Sub 5.11.4.2 函數 區域型函數

Private Function subFunction(ByVal Par1 As String, ByRef Par2() As String) AS Integer

說明:Par()為陣列形變數 函數敘述

Return 結果 End Function 公用型函數

Public Function subFunction(ByVal Par1 As String, ByRef Par2() As String) AS Integer

說明:Par()為陣列形變數 函數敘述

Return 結果 End Function 5.11.4.3 引數

叫用副程式時,主程式可將相關變數之設定值傳入副程式,副程式則根據這 些設定值來處理對應程序,這些傳入副程之變術稱之為引數。引數之傳遞方式有 兩種,簡述如下:

傳值型(By Value):直接將設定值傳入副程式,一般變數之傳遞可使用此種方 式。 ↑H

傳傳參考型(By Reference):將設定變數或物件之記憶體位址傳入副程式,陣 列變數或物件變數須使用此種方式傳遞。

5.11.4.4 叫用

副程式之叫用可區分為下述四種型態;

¾ 傳入引數但不回傳結果

¾ 傳入引數也回傳結果

¾ 不傳入引數但回傳結果

¾ 不傳入引數也不回傳結果 5.11.4.5 錯誤攔截機制

執行專案時,若不希望因程式之錯誤而造成中斷現象,可在對應之副程式或 事件程序內加入錯誤攔截機制,語法如下述:

Try

程式主體區塊 Catch e As Exception

' 錯誤攔截後之處理程式碼 錯誤處理程式區塊

Finally

結束程序前強制處理程式區塊 End Try

錯誤攔截機制之語法說明如下:

¾ Try 程式區塊:在 Try 和 Catch 關鍵字間的程式區塊是程式主體。

¾ Catch 程式區塊:如果 Try 程式區塊的程式碼發生錯誤,在 Catch 到 Finally 關 鍵字間的程式區塊將會傳入參數 e 的 Exception 例外物件,可以在此區塊顯示 錯誤資訊,或是建立錯誤處理的補救程式碼。

¾ Finally 程式區塊:選擇性的程式區塊,不論錯誤是否產生,都會執行此區塊的 程式碼,通常是用來作為善後用途的程式碼。

相關文件