第2章 第一個Visual Basic應用程式 2-2 建立主控台應用程式 2-3 建立Windows應用程式 2-4 Visual Basic程式架構 2-5 在Windows作業系統執行程式
2-1 如何開發Visual Basic應用程式 2-1-1 基本的程式開發周期 2-1-2 演算法
2-1-1 基本的程式開發周期-說明 程式設計(Programming)為將需要解決的問題轉 化成程式碼,程式碼不只能夠在電腦上正確執行, 且可證明程式執行之正確性、沒有錯誤,而且完全 符合問題分析出之需求。 當程式設計者進行程式設計時,通常我們會使用一 些標準作業程序和步驟來建立和開發程式,稱為 「程式開發周期」(Program Development Cycle), 簡單的說,這就是建立電腦程式的階段。
2-1-1 基本的程式開發周期-圖例
2-1-1 基本的程式開發周期-階段一 階段一:需求分析(Requirement Analysis) 程式設計需求分析乃為了解欲解決問題本身,經仔細分析需求後,以便確切獲得程式中需輸入的資料與其預期產生結果,如下圖所示:
2-1-1 基本的程式開發周期-階段二(1) 階段二:設計解決方法(Design Solution) 於了解程式設計需求後,就可開始找尋解決問題方法與策略,一般而言,有兩種方法可設計解決方法: 物件導向設計:使用物件導向程式設計術之解決方法,在建立包含資料與程序物件後,就可以完成設計,詳見附錄A。 結構化設計:使用由上而下設計方法(Top-down Design)可找出解決方法,將程式分解成階層架構「模組」(Module),每個模組為一段擁有獨立功能的程式碼,只有單一進入點和離開點,各模組間使用三種流程控制:循序結構、選擇結構、和重複結構來整合。
2-1-1 基本的程式開發周期-階段二(2) 階段二:設計解決方法(Design Solution) 對程式設計初學者而言,主要是使用結構化設計找出解決方法,事實上在此階段就是找出解決問題的步驟,如下圖所示:
2-1-1 基本的程式開發周期-階段三 階段三:驗證設計(Design Validation ) 在驗證設計階段是檢查解決方法是否正確,通常我們會使用測試資料(Test Data)驗證設計之解決方法是否正確,並且從中找出所有可能邏輯錯誤(Logical Errors)。 基本上邏輯錯誤就是一種流程設計上錯誤,可能造成不正確執行結果。
2-1-1 基本的程式開發周期-階段四 階段四:撰寫程式碼(Coding) 在此階段是將設計解決方法轉換成程式,也就是開始使用指定程式語言撰寫程式碼。 於實際撰寫程式時,可能發現另一種方法較好,因為設計歸設計,有時在實際撰寫程式時才會發現其優劣,如果是良好設計方法,就算改為其他方法也不會太困難。
2-1-1 基本的程式開發周期-階段五 階段五:測試解決方法(Test Solution) 測試解決方法階段乃證明程式執行結果是否符合需求之輸出資料,在此階段可再細分成數個此階段,如下所示: 證明執行正確:需要證明程式執行結果是正確的,程式符合所有輸入資料組合,程式規格也都符合演算法需求。 證明程式沒有錯誤:程式需要測試各種可能情況、條件和輸入資料,以測試程式執行無誤。如果有錯誤產生,就需要程式除錯來解決問題。 執行程式除錯:若程式無法輸出正確結果,除錯程序目的在於找出錯誤地方。不但需要找出錯誤,還需要找出更正錯誤的解決方法。
2-1-2 演算法-定義 程式開發周期的設計解決方法(Design Solution)階段如果使用結構化程式設計,其所寫出的解決問題步驟、策略或方法稱為「演算法」(Algorithms),其基本定義如下: 演算法為完成目標工作之一組指令,這組指令含有執行步驟 。除外演算法上必須滿足一些條件,如下所示: 輸入(Input):沒有或數個外界輸入資料。 輸出(Output):至少有一個輸出結果。 明確性:每一個指令步驟都十分明確,無模稜兩可。 有限性(Finiteness):這組指令一定會結束。 有效性(Effectiveness):每一個步驟都可行,可追蹤其結果。
2-1-2 演算法-表示方法 一般語言文字:直接使用文字描述來說明執行步驟。 虛擬碼(Pseudo Code):一種趨近程式語言的描述方法,它並沒有固定語法,其每一列約可轉換成一列程式碼,如下所示: /* 計算1加到10 */ Let counter = 1 Let total = 0 while counter <= 10 total = total + counter Add 1 to counter Output the total /* 顯示結果 */ 流程圖(Flow Chart):使用結構化圖表描述執行過程,以各種不同形狀圖形表示不同操作,使用箭頭線標示執行方向。
2-2 建立主控台應用程式 2-2-1 再談主控台應用程式 2-2-2 建立主控台應用程式的步驟 2-2-3 建立第一個主控台應用程式
2-2-1 再談主控台應用程式-說明 主控台應用程式(Console Applications)為早期BASICA、GWBASIC和QuickBasic在MS-DOS作業系統以文字模式執行的應用程式,主要是使用鍵盤輸入資料以執行應用程式,並且顯示單純文字內容的輸出結果。
2-2-1 再談主控台應用程式-圖例 Windows作業系統主控台應用程式是在「命令提示字元」視窗執行(Windows XP MCE版的標題列顯示的是Command Prompt),如下圖所示:
2-2-2 建立主控台應用程式的步驟 步驟一:建立Visual Basic應用程式第一步是建立Visual Basic專案,請選【主控台應用程式】範本。 步驟二:在主程式Main()程序撰寫程式碼。 步驟三:在VBE編譯與執行Visual Basic專案的應用程式,如果編譯錯誤,請重複上述步驟更改程式碼找出程式錯誤。
2-2-3 建立第一個主控台應用程式-說明 建立輸入讀者姓名和顯示輸入姓名的第一個主控台應用程式。
2-2-3 建立第一個主控台應用程式-步驟一:新增主控台應用程式專案 在起始頁按一下【建立】後的【專案(P)】超連接文字,或執行「檔案」→「新增專案」指令,可以看到「新增專案」對話方塊。 主控台應用程式
2-2-3 建立第一個主控台應用程式-步驟二:編輯程式碼檔案 如果在VBE沒有看到程式碼編輯器,請在右邊的「方案管理」視窗按二下【Module1.vb】模組檔案來顯示程式碼編輯器,就可以輸入程式碼,如下圖所示:
2-2-3 建立第一個主控台應用程式-步驟三:編譯和執行主控台應用程式 請執行「偵錯」→「開始偵錯」指令或按F5鍵,即可編譯和建置專案,在完成後如果沒有錯誤,可以看到執行結果的「命令提示字元」視窗。
2-3 建立Windows應用程式 2-3-1 再談Windows應用程式 2-3-2 事件驅動程式設計
2-3-1 再談Windows應用程式-說明 Windows應用程式是在Windows作業系統下執行的 圖形使用介面應用程式,這是使用視窗、功能表、 對話方塊、按鈕等圖形控制項組成的應用程式。 例如:Office軟體、記事本、小畫家或VBE本身都 是一種Windows應用程式。
2-3-1 再談Windows應用程式-圖例 視窗 對話方塊
2-3-2 事件驅動程式設計 Windows應用程式等GUI事件驅動程式設計是使用事件驅動邏輯(Even-driven Logic),其執行流程需視使用者操作而定,如同百貨公司需要等到客戶上門後,才會有銷售事件發生,換言之,客戶上門就觸發一個事件,應用程式依事件執行適當的處理。 例如:在啟動【記事本】後,程式停滯直到我們執行功能表指令後,才會顯示「字型」對話方塊,並且等到按下【確定】鈕才完成字型設定。
2-3-3 建立Windows應用程式的步驟 步驟一:建立Visual Basic應用程式第一步為建立Visual Basic專案,請選【Windows Form應用程式】範本。 步驟二:在建立專案後,預設新增From1.vb表單類別檔,請依照規劃使用介面,調整表單尺寸後,從「工具箱」視窗拖拉所需控制項到表單,即可建立表單使用介面。 步驟三:在表單新增控制項後,接著可在「屬性」視窗調整表單或控制項大小、字型、色彩和外觀等屬性值。 步驟四:請依照控制項觸發事件,建立所需事件處理程序。 步驟五:在VBE編譯與執行Visual Basic專案的應用程式,如果有編譯錯誤,請重複上述步驟更改程式碼來找出程式錯誤。
2-3-4 建立第一個Windows應用程式 -步驟一:新增Windows Form應用程式專案 在起始頁按一下【建立】後的【專案(P)】超連接文字,或執行「檔案」→「新增專案」指令,可以看到「新增專案」對話方塊。 Windows Form應用程式
2-3-4 建立第一個Windows應用程式 -步驟二:在表單新增控制項 VBE是一種「視覺化程式開發工具」(Visual Builder Tool,VBT),只需在「工具箱」視窗選取控制項,就可在表單新增圖形使用介面的元件,如下圖所示: Label控制項
2-3-4 建立第一個Windows應用程式 -步驟三:設定控制項屬性 在表單新增控制項後,就可以選取控制項,在「屬性」視窗設定控制項的相關屬性,如下圖所示: 設定屬性
2-3-4 建立第一個Windows應用程式 -步驟四:在控制項新增事件處理程序 在表單上按二下【Button1】按鈕控制項,可以建立預設的Click事件處理程序,並且自動切換到程式碼編輯器輸入事件處理程序的程式碼,如下圖所示:
2-3-4 建立第一個Windows應用程式 -步驟五:編譯與執行Windows應用程式 請執行「偵錯」→「開始偵錯」指令或按F5鍵,在編譯和建置專案完成後,如果沒有錯誤,可以看到執行結果的Windows應用程式視窗。
2-4 Visual Basic程式架構-說明 Visual Basic應用程式之程式碼儲存在附檔名.vb的檔案,主要可以分為兩種:模組(Modules)和類別(Classes)檔,Visual Basic語言程式碼就是置於這兩種檔案之中。 Visual Basic的主控台應用程式是一個擁有主程式Main()程序的模組;而Windows應用程式的表單則是一個Form類別的宣告。
2-4 Visual Basic程式架構- 模組(Module) Visual Basic模組延續舊版VB6之程式架構,大部分主控台應用程式的程式碼都是位於模組。在新增Visual Basic專案後,預設的檔案名稱為Module1.vb,其程式架構如下所示: Module Module1 Sub Main() …… End Sub End Module
2-4 Visual Basic程式架構-類別(Class) 類別是一個藍圖用來建立物件(Object),其為物件導向程式設計觀念,可將類別視為是Windows Form應用程式的標準程式架構。 類別程式碼是置於Class/End Class關鍵字之間,如下所示: Public Class Form1 Private Sub Button1_Click(…) Handles Button1.Click …… End Sub End Class
2-5 在Windows作業系統執行程式 2-5-1 執行主控台應用程式 2-5-2 執行Windows應用程式
2-5-1 執行主控台應用程式 在VBE建置和編譯第2-2-3節VB專案後,就可直接在Windows作業系統開啟「命令提示字元」視窗來執行編譯成的執行檔,如下圖所示:
2-5-2 執行Windows應用程式 VBE建置和編譯第2-3-4節的Visual Basic專案後,就可直接在Windows作業系統執行編譯成執行檔,檔名是專案名稱【視窗程式.exe】,如下圖所示: