120 likes | 280 Views
程式設計實習. 函式及副程式. 內建函式. 為 VB 將常用之一些程式功能寫成函式,以供使用者呼叫。 常用的內建函式有:各種數學函式 、字串處理、日期等;在 VB2003 之後各類函式亦被放入 Strings 、 Math 、 Conversion 、 DataAndTime 等類別中使用。. Strings 字串類別庫常用函式 ( 一 ). Strings 字串類別庫常用函式 ( 二 ). Strings 字串類別庫常用函式 ( 三 ). 範例一:身分證字號檢查. 解題步驟:. 一、建立身分證第1碼英文碼字串 。. 二、以字元搜尋並轉換代碼及計算 。.
E N D
程式設計實習 函式及副程式
內建函式 為VB將常用之一些程式功能寫成函式,以供使用者呼叫。 常用的內建函式有:各種數學函式、字串處理、日期等;在VB2003之後各類函式亦被放入Strings、Math、Conversion、DataAndTime等類別中使用。
範例一:身分證字號檢查 解題步驟: 一、建立身分證第1碼英文碼字串。 二、以字元搜尋並轉換代碼及計算。 三、以迴圈切割身分證字號第2碼至第9碼並乘上權值計算其累計值。 三、以驗證公式計算檢查碼並比對輸入條件之末碼是否相同。
範例二:字元個數計算 解題步驟: 一、建立26個空間之整數一維陣列。 二、以迴圈切割字串,並判斷是否介於A~Z間,再取其ASCII減去A之ASCII值依此為索引依據對陣列做累加。 三、將一維陣列的值列出。
自定副程式/函數 程式撰寫時,常會遇到某些段落的程式會重覆的出現在不同事件或不同程式段落中,若每次遇到都將程式再寫一次不但會令程式變得冗長,若程式中有某些部份有問題時在後續修改時會增加很多的困擾,而自定副程式(函數)就是把這些特定功能的程式獨立出來以方便維護。
自定副程式/函數格式 • 副程式建立語法- • [Public | Private] Sub 名稱 ([參數1],[參數2]...) • 程式區塊 • End Sub • 函數建立語法- • [Public | Private] Function 名稱 ([參數1],[參數2]...) As 資料型態 • 程式區塊 • 名稱=回傳值 (或Return 傳回值) • End Sub
函數或副程式的參數傳遞方式 • 傳值(ByVal)- 將『變數值』傳至函數或副程式運算,不影響原變數值。 • 傳址(ByRef)- 將『變數位址』傳至函數或副程式運算,運算後會改變原變數值。
傳值呼叫 • 傳值(ByVal)- 記憶體 為ByVal,故重新分配一個空位置給A 0x0007 0x0006 執行A+10 0 10 20 0x0005 變數A 結束返回 0x0004 將X值存入A 0x0003 將10存入X 0 10 變數X 0x0002 呼叫Add副程式並將X之值傳入 0x0001 於記憶體中分配一個空間給變數X
傳址呼叫 • 傳值(ByRef)- 記憶體 為ByRef,故變數A指向X的位址(A和X相同) 0x0007 0x0006 執行A+10 0x0005 結束返回 0x0004 0x0003 將10存入X 20 0 10 變數X,A 變數X 0x0002 呼叫Add副程式並將X之位址傳入 0x0001 於記憶體中分配一個空間給變數X