Download presentation
Presentation is loading. Please wait.
1
Visual Basic 程式設計基礎(二)
國立台灣師範大學 工業教育研究所 戴建耘教授 龍清榮主任 吳美華組長 主要參考書目: 電腦概論與程式設計(松崗) MS Visual Basic 6.0程式開發手冊
2
研習內容 選擇結構 重覆結構 繪圖與語音 陣列 副程式
3
選擇結構 VB常用選擇結構有下列四種: 1、單一選擇:If Then 敘述 2、雙向選擇:If Then Else 敘述
4、多向選擇:Select Case 敘述
4
單一選擇的 If Then 敘述: 語法: If <條件> Then 敘述區段 範例: { 程式 }
5
{ 輸入對話方塊 } { 執行結果 }
6
雙向選擇的 If Then Else 敘述 語法: If <條件> Then 敘述區段 A Else 敘述區段 B End If
7
範例: { 程式 }
8
{ 輸入對話方塊 } { 執行結果 }
9
巢狀選擇的 If Then Else 敘述 語法: If <條件 1> Then : If <條件 2> Then
敘述區段A Else 敘述區段B End If Eles If <條件 3> Then 敘述區段C 敘述區段D
10
範例: { 程式 }
11
{ 輸入對話方塊 } { 執行結果 }
12
多向選擇的 Select Case 敘述 語法: Select Case 運算式 Case 測試值 1 敘述區段 1 Case 測試值 2
敘述區段 1 Case 測試值 2 敘述區段 2 … Case 測試值 n 敘述區段 n Case Else 敘述區段 n+1 End Select
13
範例: { 程式 }
14
{ 輸入對話方塊 } { 執行結果 }
15
重覆結構 VB提供下列二種迴圈: 1、計數迴圈:For … Next 2、條件迴圈:Do … Loop
16
計數迴圈:For … Next 語法: For 計數變數 = 初值 To 終值 [Step 增值] 功能: [敘述區段]
[Exit For] Next 計數變數 功能: 在指定的次數內,重覆去執行某個 敘述區段。
17
範例:利用巢狀迴圈,產生九九乘法表。 { 程式 }
18
{ 執行結果 }
19
1 、Do While … Loop (前測式迴圈) 2 、Do Until … Loop (前測式迴圈)
條件迴圈:Do … Loop 1 、Do While … Loop (前測式迴圈) 語法:Do While <條件> 敘述區段 [Exit Do] Loop 功能:先檢查是否滿足條件,若滿足才進入迴圈。 2 、Do Until … Loop (前測式迴圈) 語法:Do Until <條件> 敘述區段 [Exit Do] Loop 功能:先判斷是否不滿足條件,若不滿足才進入迴圈。
20
3 、Do … Loop While (後測式迴圈) 4 、Do … Loop Until (後測式迴圈)
敘述區段 [Exit Do] Loop While <條件> 功能:先進入迴圈執行敘述區段後, 在判斷是否要再進入迴圈。 4 、Do … Loop Until (後測式迴圈) 語法:Do 敘述區段 [Exit Do] Loop Until <條件> 功能:先進入迴圈執行敘述區段後, 在判斷是否不再進入迴圈。
21
範例:計算 total=1+2+…+10,並顯示。 { 程式 }
使用 Do While … Loop (前測式迴圈)
22
使用 Do … Loop While (後測式迴圈)
{ 執行結果 }
23
繪圖與語音 繪圖方法 1、Pset 方法: 語法: [物件.] Pset (x , y) [,c] 功能: 在物件內所指定座標上,
以指定顏色繪製一點。
24
2、Line 方法: 語法: 直線: [物件.] Line[(x1,y1)]-[Step](x2,y2)
方框: [物件.] Line[(x1,y1)]-[Step](x2,y2),[c],B 方塊: [物件.] Line[(x1,y1)]-[Step](x2,y2),[c],BF 功能: 在指定物件上繪製直線、方框、方塊。
25
3、Circle 方法: 語法: 圓形: [物件.] Circle (x,y), r, [c]
圓弧: [物件.] Circle (x,y), r, [c], d1, d2 扇形: [物件.] Circle (x,y), r, [c], -d1, -d2 橢圓: [物件.] Circle (x,y), r, [c],,, a 橢圓弧: [物件.] Circle (x,y), r, [c],d1 ,d2 , a 功能: 在物件上繪製圓、弧、扇或橢圓。
26
顏色的設定 方法一:使用QBColor函數 QBColor (0 ~ 15) 方法二:使用RGB函數
方法三:直接指定顏色值 &HBBGGRR&
27
範例: { 程式 }
28
{ 執行結果 }
29
範例:設計具有顯示日期、時間和鬧鈴 功能的小鬧鐘程式。 Step1:建立如下圖表單 lblDateT txtDate lblTimeT
txtTime lblAlarmT tmrTime cmdEnd optOn optOff txtAlarm
30
Step2:設定各物件之屬性內容,如下所示:
31
Step3:編輯程式碼
32
Step4:執行程式
33
陣列 陣列的宣告 語法: Dim 陣列名稱 ( 索引1 [,索引2 […] ] ) [As資料型態] 功能:
宣告一個陣列為指定資料型態的一維 (或二維 … )陣列。
34
清單方塊 清單方塊的建立: 1、點選清單方塊工具 2、指標在適當位置,按住滑鼠左鍵拖曳 拉出適當大小,再放左鍵。
35
[物件名稱].RemoveItem 項目名稱[,索引值]
清單方塊常用的方法: 1、語法: [物件名稱].AddItem 項目名稱[,索引值] 功能:在清單方塊中加入一個項目。 2、語法: [物件名稱].RemoveItem 項目名稱[,索引值] 功能:在清單方塊中移除一個項目。
36
範例:設計具有顯示日期、時間和鬧鈴 功能的小鬧鐘程式。 Step1:建立如下圖表單 lblBirthT txtBirth cmdEnd
lstName txtTel lbltelT txtAddr lblAddrT
37
Step2:設定各物件之屬性內容,如下所示:
38
Step3:編輯程式碼
39
程式碼 續
40
Step4:執行程式 結果
41
副程式 副程式的特點 被呼叫才能執行, 本身無法單獨執行 在一個模組檔中, 不能同時擁有 兩個相同名稱的副程式
被呼叫才能執行, 本身無法單獨執行 在一個模組檔中, 不能同時擁有 兩個相同名稱的副程式 副程式中的變數, 除非特別宣告, 否則都視為區域變數
42
副程式的特點(續) 其各具特定功能, 而且 程式邏輯簡單明確 可讀性高,易 除錯 和 維護 模組化, 可集眾人之智, 個自發展再整合
43
Function…End function
副程式的種類 內建函數 內建函數 次常式 事件程序 Sub…End Sub 程序 一般程序 Function…End function 次常式 Go Sub…Return
44
內建函數 VB將一些常用的 數學公式 或 方法 寫成程式庫 使用時只要呼叫該 函數名稱 給予引 數初值,即傳回一個值
使用時只要呼叫該 函數名稱 給予引 數初值,即傳回一個值 慣用:以符號 n 來表示數值 s 來表示字串或字元
45
模組 Module 當使用功能表的 【檔案/開啟新專案】選項時, VB會產生一個專案檔(.VBP)
專案檔包含 所有 參用到 的檔案 路徑 及 檔名 等相關資訊
46
程序 當使用VB來設計程式時, 可以將較複雜的程式 分成 較小的邏輯單元, 以簡化程式設計 我們將這些單元稱為 「程序」
47
事件程序 VB 提供許多個 初始 並無程式碼 的 事件程序 供設計者在該 事件 內 編寫程式
執行流程 以 事件驅動 為導向
48
Sub 與 Function 程序 當事件程序中的程式很長時, 為了 可讀性 及 便於 偵錯 與 維護
當事件程序中的程式很長時, 為了 可讀性 及 便於 偵錯 與 維護 可將程序中 具有 獨立功能 的部分,個別編輯成 「Sub程序」 或是「Function程序」
49
Sub 程序 [Private/Public][Static] Sub 程序名稱 [(引數串列)] [程序區段] [Exit Sub]
End Sub
50
建立 Sub 一般程序 方法 I 方法 II 下個單元
51
方法 I 【工具 / 新增程序】 Home Next
52
1 5 2 3 4 Next Back Home
53
Back Home
54
方法 II 直接鍵入程式碼 Home
55
顯示程式碼 【檢視 / 瀏覽物件】或 鍵 F 2 4 1 2 或者… 3
56
1 2 3 4 進入編碼視窗 亦可檢視程式碼
57
Call 敘述的用法 語法1 : Call 程序名稱 [(引數串列)] 語法2 : 程序名稱[(引數串列)] 目的 : 呼叫 Sub 程序
注意 : 實引數 和 虛引數 的用法 Call 可以省略,但寫法不同
Similar presentations