370 likes | 435 Views
第 2 章 第一個Visual Basic應用程式. 2-1 如何開發 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 基本的程式開發周期 - 說明.
E N D
第2章 第一個Visual Basic應用程式 • 2-1 如何開發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 基本的程式開發周期-階段一 階段一:需求分析(Analyze Requirements) • 程式設計的需求分析是在了解問題本身,在仔細的分析需求後,以便確切獲得程式需要輸入的資料和其預期產生的結果,如下圖所示:
2-1-1 基本的程式開發周期-階段二(1) 階段二:設計解決方法(Design Solution) • 在了解程式設計的需求後,我們就可以開始找尋解決問題的方法和策略,一般來說,我們有兩種方法來設計解決方法,如下所示: • 物件導向設計(Object-oriented Design):使用物件導向程式設計的程式設計技術來設計解決方法,在建立包含資料和程序的物件後,就可以完成設計,詳見附錄A的說明。 • 結構化設計(Structured Design):使用由上而下的設計方法(Top-down Design)來找出解決方法,將程式分解成階層架構的「模組」(Module),每個模組是一段擁有獨立功能的程式碼,只有單一進入點和離開點,各模組間使用三種流程控制:循序結構、選擇結構和重複結構來整合。
2-1-1 基本的程式開發周期-階段二(2) 階段二:設計解決方法(Design Solution) • 對於初學程式設計的讀者來說,主要是使用結構化設計來找出解決方法,事實上,在此階段就是找出解決問題的步驟,如下圖所示:
2-1-1 基本的程式開發周期-階段三 階段三:驗證設計(Validate Design) • 在驗證設計階段是檢查解決方法是否正確,通常我們會使用測試資料(Test Data)來驗證設計的解決方法是否正確,並且從中找出所有可能的邏輯錯誤(Login Errors)。 • 基本上,邏輯錯誤就是一種流程設計上的錯誤,可能造成不正確的執行結果。
2-1-1 基本的程式開發周期-階段四 階段四:撰寫程式碼(Coding) • 在此階段是將設計的解決方法轉換成程式,也就是開始使用指定的程式語言來撰寫程式碼,以本書為例是使用Visual Basic 2008語言。在實際撰寫程式時,可能發現另一種方法比較好,因為設計歸設計,有時在實際撰寫程式時才會發現其優劣,如果是良好的設計方法,就算改為其他方法也不會太困難。
2-1-1 基本的程式開發周期-階段五 階段五:測試解決方法(Test Solution) • 測試解決方法階段是在證明程式執行的結果符合需求的輸出資料,在這個階段可以再細分成數個小階段,如下所示: • 證明執行正確:我們需要證明它的執行結果是正確的,程式符合所有輸入資料的組合,程式規格也都符合演算法的需求。 • 證明程式沒有錯誤:程式需要測試各種可能情況、條件和輸入資料,以測試程式執行無誤。如果有錯誤產生,就需要程式除錯來解決問題。 • 執行程式除錯:如果程式無法輸出正確結果,除錯是在找出錯誤的地方。我們不但需要找出錯誤,還需要找出更正錯誤的解決方法。
2-1-2 演算法-定義 • 在程式開發周期的設計解決方法(Design Solution)階段如果使用結構化程式設計,其所寫出的解決問題步驟、策略或方法稱為「演算法」(Algorithms),其基本定義如下: 演算法是完成目標工作的一組指令,這組指令的步驟是有 的。除此之外,演算法還必須滿足一些條件,如下所示: • 輸入(Input):沒有或數個外界的輸入資料。 • 輸出(Output):至少有一個輸出結果。 • 明確性(Definiteness):每一個指令步驟都十分明確,沒有模稜兩可。 • 有限性(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 建立第一個主控台應用程式-說明 • 因為本書的重點是Windows視窗應用程式,所以筆者只準備簡單說明如何使用VBE建立主控台應用程式。 • 例如:建立輸入讀者姓名和顯示輸入姓名的第一個主控台應用程式。
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-3 建立Windows應用程式的步驟 • 2-3-4 建立第一個Windows應用程式
2-3-1 再談Windows應用程式-說明 • Windows應用程式是在Windows作業系統下執行的圖形使用介面(Graphic User-interface,GUI)應用程式,這是使用視窗、功能表、對話方塊、按鈕等圖形控制項組成的應用程式。 • 例如:Office軟體、記事本、小畫家或VBE本身都是一種Windows應用程式。
2-3-1 再談Windows應用程式-圖例 視窗 對話方塊
2-3-2 事件驅動程式設計 • Windows應用程式等圖形使用介面應用程式的事件驅動程式設計是使用事件驅動邏輯(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】,如下圖所示: