第1章 程式語言與Visual Basic的基礎
第1章 程式語言與Visual Basic的基礎 1-1 程式語言的基礎 1-2 Visual Basic語言的基礎 1-3 建立Visual Basic程式開發環境 1-4 Visual Basic Express的使用 1-5 Visual Basic Express使用介面說明
1-1 程式語言的基礎 1-1-1 程式、軟體與應用程式 1-1-2 程式語言的種類 1-1-3 低階語言 1-1-4 高階語言 1-1-5 程式是如何執行
1-1-1 程式、軟體與應用程式-程式 「程式」(Programs)是使用指定程式語言所撰寫沒有混淆文字、數字和鍵盤符號組成的特殊符號,這些符號組合成指令和敘述,再進一步編寫成程式碼,程式碼可以告訴電腦解決指定問題的步驟。 簡單的說,程式就像是一個轉換器,當從電腦鍵盤或滑鼠取得輸入的資料後,執行程式就可以將資料轉換成有用的資訊,如下圖所示:
1-1-1 程式、軟體與應用程式-軟體與應用程式 「軟體」(Software)是一種電腦執行的應用程式或作業系統,通常軟體是一個或多個程式的泛稱,或是整套應用程式。 「應用程式」(Applications)是一種處理指定工作的電腦程式,例如:數學計算分析、文書處理、試算表和程式語言整合開發工具等。
1-1-1 程式、軟體與應用程式-主控台與視窗應用程式 視窗應用程式(Windows Applications)是使用「GUI」(Graphic User Interface)圖形介面來輸入與輸出資料,一種更人性化使用者介面的應用程式。 不同於早期DOS時代或UNIX/Linux系統的主控台應用程式(Console Applications),使用者是在「終端機」(Terminals)執行應用程式,其使用介面都是文字模式的鍵盤輸入,或單純文字內容的輸出結果,稱為「命令列模式」(Command-line Interface)。
1-1-2 程式語言的種類 程式語言隨著電腦科技的進步,已經延伸出龐大的族群。在程式語言的分類上,以發展世代來區分,如下表所示:
1-1-3 低階語言-說明 低階語言(Low Level Languages)是一種偏向電腦容易了解的程式語言,簡單的說,它是電腦看得懂的程式語言。所以執行效率高,但是使用者並不易學習。
1-1-3 低階語言-機器語言 機器語言(Machine Language) 程式使用0和1二進位表示的程式碼,電腦可以直接執行程式,執行效率最高,如下所示: 0111 0001 0000 1111 1001 1101 1011 0001
1-1-3 低階語言-組合語言 組合語言(Assembly Language) 組合語言使用簡單符號的指令集代表機器語言0和1表示的二進位程式碼,只需使用「組譯程式」(Assemblers)就可以轉換成機器語言。在電腦上執行,它是一種十分接近機器語言的程式語言,如下所示: MOV AX 01 MOV BX 02 ADD AX BX
1-1-4 高階語言-說明 高階語言(High Level Languages)是一種接近人類語言的程式語言,或稱為半英文(Half-english)的程式語言。因為電腦並不能馬上看的懂,所以需要進一步翻譯,在轉換成機器語言後,其轉換的程式碼通常比直接使用機器語言撰寫的冗長,所以效率較低,但是非常適合使用者學習。 目前常見的高階語言有:BASIC、C/C++、C#、Java、FORTRAN、COBOL和Pascal等,高階語言需要進行翻譯,翻譯方式有兩種:編譯程式和直譯程式。
1-1-4 高階語言-編譯程式 編譯程式(Compilers) C/C++等程式語言屬於編譯語言,編譯程式需要檢查完整個程式檔案的程式碼,在完全沒有錯誤的情況下,才會翻譯成機器語言的程式檔案,其主要功能有兩項,如下所示: 檢查程式錯誤。 將程式翻譯成機器語言的程式檔案。
1-1-4 高階語言-直譯程式 直譯程式(Interpreters) 早期BASIC語言(例如:BASICA、QuickBasic等)和目前網頁技術的「腳本」(Scripts)語言,例如:VBScript和JavaScript都屬於直譯語言。 直譯程式並不會輸出可執行檔案,而是直接一個指令一個動作,一列一列的執行程式碼,相對的,其執行效率低,但是非常適合在系統開發階段的程式除錯。
1-1-5 程式是如何執行-說明 程式在電腦實際執行的過程對於高階程式語言來說,例如:BASIC或PASCAL等並非十分重要。不過,對電腦執行程式有一定的認識,在設計程式時仍然有十分大的助益。 不論使用高階或低階程式語言,其建立的程式最後都會編譯成電腦看的懂的機器語言,這些指令是CPU支援的「指令集」(Instruction Set)。不同CPU支援不同的指令集,換句話說,雖然高階語言有很多種,但是CPU只懂一種語言,也就是其能執行的機器語言。
1-1-5 程式是如何執行-圖例
1-1-5 程式是如何執行-執行程式 CPU執行機器語言程式是依序將儲存在記憶體的機器語言指令「取出和執行」(Fetch-and-execute)。 簡單的說,CPU就是從記憶體取出指令,然後執行此指令,取出下一個指令,再執行它。CPU執行程式的方式,如下所示: 電腦的主記憶體儲存機器語言的程式碼和資料。 CPU從記憶體依序取出一個個機器語言指令,然後執行它,CPU並非真正了解機器語言在作什麼?這只是CPU的例行工作,依序執行機器語言指令。
1-1-5 程式是如何執行-中央處理器(CPU) 電腦CPU提供實際運算功能,個人電腦都是使用單晶片的「IC」(Integrated Circuit),其主要的功能是使用「ALU」(Arithmetic and Logic Unit)的邏輯電路進行運算,以便執行機器語言的指令。 在CPU擁有很多組「暫存器」(Registers),暫存器是位在CPU中的記憶體,可以暫時儲存資料或機器語言指令,例如:執行加法指令需要2個運算元,這兩個運算元資料就是儲存在暫存器。
1-1-5 程式是如何執行-記憶體(說明) 當我們執行程式時,作業系統可以將儲存在硬碟或軟碟的執行檔案載入電腦主記憶體(Main Memory),這就是CPU執行的機器語言指令,CPU從記憶體依序載入指令和執行。 事實上,程式碼本身和使用的資料都是儲存在RAM(Random Access Memory),每一個儲存單位有數字編號稱為「位址」(Address)。如同大樓信箱,門牌號碼是位址,信箱內容是程式碼或資料,儲存資料佔用的記憶體空間大小,需視使用的資料型別而定。
1-1-5 程式是如何執行-記憶體(存取) 電腦CPU中央處理器存取記憶體資料的主要步驟,如下所示: Step 1:送出讀寫的記憶體位址:當CPU讀取程式碼或資料時,需要送出欲取得的記憶體位址,例如:記憶體位址4。 Step 2:讀寫記憶體儲存的資料:CPU可以從指定位址讀取記憶體內容,例如,位址4的內容是01010101,換句話說,取得資料是01010101的二進位值,每一個0或1是一個「位元」(Bit),8個位元稱為「位元組」(Byte),這是電腦記憶體的最小儲存單位。
1-1-5 程式是如何執行-輸入/輸出裝置 電腦的輸入/輸出裝置(Input/Output Devices)是程式的窗口,可以讓使用者輸入資料和顯示程式的執行結果。 目前而言,電腦最常用的輸入裝置是鍵盤和滑鼠;輸出裝置是螢幕和列表機。
1-1-5 程式是如何執行-次儲存裝置 次儲存裝置(Secondary Storage Unit)是一種能夠長時間和提供高容量儲存資料的裝置。電腦程式與資料是在載入記憶體後,才依序讓CPU來執行,不過,在此之前這些程式與資料是儲存在次儲存裝置,例如:硬碟機。 當我們在Windows作業系統使用【記事本】編輯VB程式碼時,這些資料只是暫時儲存在電腦的主記憶體,因為主記憶體在關閉電源後,其儲存的資料就會消失,為了長時間儲存這些資料,我們需要將它儲存在電腦的次儲存裝置,也就是儲存硬碟中的程式碼檔案。
1-2 Visual Basic語言的基礎 1-2-1 BASIC程式語言 1-2-2 .NET Framework的基礎
1-2-1 BASIC程式語言-源由 BASIC是在1964年由John Kemeny和Thomas Kurtz在Dartmouth學院開發的程式語言,這是一種非常簡單且容易學習的程式語言,其目的是讓學生作為學習當時其他更強大程式語言FORTRAN和ALGOL的墊腳石。 BASIC是微軟公司的第一套產品,Bill Gates和Paul Allen從M.I.T.S取得BASIC語言的授權,在1970年BASIC程式語言已經支援Apple、Commodore和Atari等作業系統。隨著IBM PC個人電腦的推廣,微軟DOS作業系統內含的BASIC直譯程式更成為最普遍的BASIC直譯程式。
1-2-1 BASIC程式語言-VB2010 等到2005年底推出.NET Framework 2.0版和Visual Studio 2005,Visual Basic語言也更名為Visual Basic 2005(即VB 8.0版)。在2008年初推出.NET Framework 3.5版和Visual Studio 2008,Visual Basic語言也改版成Visual Basic 2008,即VB 9.0版,引進LINQ(Language Integrated Query)技術,正式進入宣告式程式設計模型(Declarative Programming Model)的時代。 在2010年推出Visual Basic 2010(即VB 10.0版),最新.NET Framework 4.0版新增動態語言(Dynamic Language)技術,可以在執行期動態建立物件。
1-2-2 .NET Framework的基礎-說明 . .NET Framework是微軟新世代的程式開發平台,目前最新版本是4.0版。它是由CLR(Common Language Runtime)和.NET Framework類別所組成。我們可以使用.NET Framework支援的程式語言,例如:Visual Basic、C++、C#和J#等來建立.NET應用程式。 .NET Framework程式檔案在使用.NET編譯程式編譯時,並不是直接編譯成CPU的機器語言,而是一種中間程式語言稱為「MSIL」(Microsoft Intermediate Language)。
1-2-2 .NET Framework的基礎-圖例 等到執行程式時,CLR使用「JIT」(Just In Time)編譯程式將MSIL轉換成機器語言來執行,其架構如下圖所示:
1-2-3 Visual Basic 2010簡介-說明 Visual Basic 2010是Visual Basic 2008的下一個版本,源於Bill Gates對於BASIC語言的特殊淵源,BASIC語言一直都是微軟主推的程式語言之一。事實上Visual Basic、VB.NET、VB6、VBScript和VBA都是使用相似的程式語法。 2005版新增無符號資料型別、Continue敘述和IsNot運算子,在物件導向部分支援運算子過載(Operator Overloading)和泛型程式設計(Generics Programming)。 在2008版新增LINQ(Language Integrated Query)、物件初始語法和擴充方法(Extension Methods)等功能。在Visual Basic 2010版新增隱含式字串連接、增強陣列初始語法、自動實作屬性和集合物件初始等全新語法。
1-2-3 Visual Basic 2010簡介-特點1 Visual Basic 2010是一種真正且功能強大的「物件導向程式語言」(Object-oriented Programming Language)。 Visual Basic 2010應用程式可以建立視窗應用程式,或ASP.NET的Web應用程式。 Visual Basic 2010能夠透過ADO.NET或使用.NET Framework新增的資料來源(Data Source)來存取資料庫的記錄資料,輕鬆建立Visual Basic資料庫應用程式。
1-2-3 Visual Basic 2010簡介-特點2 Visual Basic 2010可以直接使用.NET Framework函數庫的眾多類別物件,幫助開發者建立功能強大的應用程式。 Visual Basic 2010支援LINQ(Language Integrated Query)查詢語言和動態語言(Dynamic Language)技術。 Visual Basic 2010物件導向程式支援擴充方法(Extension Methods)來增強現成類別的功能、自動實作屬性(Auto-implemented Properties)和集合物件初始(Collection Initializes)等語法。
1-3 建立Visual Basic程式開發環境 1-3-1 Visual Studio 2010簡介 1-3-2 下載與安裝Visual Basic 2010 Express
1-3 建立Visual Basic程式開發環境 程式語言的「開發環境」(Development Environment)是一組工具程式用來建立、編譯和維護程式語言建立的應用程式。 目前的高階程式語言大都擁有整合開發環境,稱為「IDE」(Integrated Development Environment),在同一個應用程式就可以編輯、編譯和執行特定語言的應用程式。
1-3-1 Visual Studio 2010簡介-說明 Visual Basic 2010語言的開發環境是Visual Studio 2010,它是微軟推出的整合開發環境,能夠在同一套應用程式編輯、編譯、除錯和測試Visual Basic等.NET語言的應用程式。 Visual Studio 2010是一套支援.NET Framework的整合開發環境,可以使用Visual Basic 、C#、C++和J#等語言來建立Windows、ASP.NET、主控台、Web Services和雲端運算等各種不同的應用程式。
1-3-1 Visual Studio 2010簡介-圖例 在Visual Studio 2010整合開發環境建立的應用程式是在.NET Framework的CLR平台上執行,如下圖所示:
1-3-1 Visual Studio 2010簡介-功能 Visual Studio 2010提供的功能,筆者簡單說明如下所示: 多種程式語言的整合開發環境 強大的方案與專案管理 提供現成的專案範本 視覺化表單設計介面 IntelliSense智慧程式碼輸入 完整除錯功能
1-3-2 下載與安裝Visual Basic 2010 Express-下載 http://www.microsoft.com/express/Downloads/
1-3-2 下載與安裝Visual Basic 2010 Express-安裝說明 在Visual Basic 2010 Express中文版包含.NET Framework 4.0中文版、SQL Server 2008 Express版和Silverlight,支援Windows 7、Server 2008、Server 2003 R2;如果使用Windows Vista需要SP2以上版本,Windows XP需要SP3;Windows Server 2003需要SP2。
1-3-2 下載與安裝Visual Basic 2010 Express-安裝步驟
1-4 Visual Basic Express的使用 1-4-3 開啟與關閉專案
1-4-1 啟動Visual Basic Express和新增專案-啟動 請執行「開始/所有程式/Microsoft Visual Studio 2010 Express/Microsoft Visual Basic 2010 Express」指令,如為第一次啟動需要執行數分鐘的環境設定,請稍等一下,等到完成設定,可以看到起始頁。
1-4-1 啟動Visual Basic Express和新增專案-新增專案 在起始頁按一下【新增專案…】超連結,或執行「檔案/新增專案」指令,可以看到「新增專案」對話方塊。 選【Windows Form應用程式】範本,在【名稱】欄輸入專案名稱【Ch1-4-1】,按【確定】鈕
1-4-1 啟動Visual Basic Express和新增專案-基本介面說明
1-4-1 啟動Visual Basic Express和新增專案-關閉Visual Basic Express
1-4-2 註冊Visual Basic Express Visual Basic Express在安裝30天內需要線上註冊來取得免費金鑰,在輸入金鑰後,就可以完全免費使用VBE。在啟動VBE後,請執行「說明/註冊產品」指令,可以看到產品註冊的對話方塊。 在下方【註冊金鑰】欄位輸入金鑰後,按【立即註冊】鈕完成VBE的註冊
1-4-3 開啟與關閉專案-說明 對於書附光碟現成的Visual Basic專案來說,我們只需啟動VBE就可以直接開啟專案,如果已經開啟專案,也可以隨時開啟其他Visual Basic專案。 事實上,VBE在同一個方案能夠擁有多個專案,因為目前我們建立的方案都只擁有一個專案,讀者可以將方案視同專案來處理。
1-4-3 開啟與關閉專案-圖例
1-5 Visual Basic Express使用介面-起始頁(圖例) 在VBE起始頁包含數個窗格,可以新增或開啟專案和顯示最近曾開啟的專案清單、使用者入門、最新消費者和新功能說明,如右圖所示:
1-5 Visual Basic Express使用介面-起始頁(說明) 開始使用標籤頁:VBE學習的教學課程和新功能說明等。 最新消息標籤頁:當讀者電腦連線Internet時,可以訂閱微軟RSS摘要。
1-5 Visual Basic Express使用介面-功能表列 選單 說明 檔案 開啟、新增、儲存或關閉專案指令,或是開啟檔案,在目前在方案加入專案等相關指令 編輯 提供編輯所需的剪貼簿、搜尋和取代等相關指令 檢視 切換顯示起始頁、開發工具各種視窗或工具列等相關指令 專案 屬於專案管理的相關指令,可以在專案加入Windows Form、使用者控制項、類別和參考等項目 偵錯 提供建置方案、程式碼除錯功能的相關指令,一樣也可以執行專案 資料 提供指令加入資料來源,以便讓應用程式可以存取資料庫 格式 此功能表只在切換至表單設計檢視時顯示,提供對齊控制項、指定間距和順序等相關指令 工具 可以連接資料庫、管理程式碼片斷、巨集、自訂開發環境和選項設定等相關指令 視窗 提供視窗排列和切換顯示視窗的相關指令 Visual Studio 2010線上輔助說明文件和註冊的相關指令
1-5 Visual Basic Express使用介面-主工具列 在主視窗功能表的下方是主工具列,提供與功能表列相同功能的圖示按鈕,預設提供標準工具列,提供開啟、儲存檔案、剪貼簿、執行和切換顯示各程視窗等功能按鈕。
1-5 Visual Basic Express使用介面-工具箱視窗(開啟) VBE左邊的「工具箱」視窗提供表單設計視窗所需的控制項、元件和資料等。如果視窗最左邊沒有看到【工具箱】標籤,請執行「檢視/工具箱」指令顯示工具箱標籤,如右圖所示:
1-5 Visual Basic Express使用介面-工具箱視窗(區段說明) 所有Windows Form:顯示所有支援的控制項物件。 通用控制項:建立輸入與輸出使用者介面的相關控制項。 容器:擁有其他控制項的容器控制項,可以用來群組控制項。 功能表與工具列:建立視窗的功能表與工具列。 資料:ADO.NET的DataSet物件和建立資料來源的相關控制項。 元件:顯示加入設計工具的元件。除了.NET Framework元件外,也可以將自己或協力廠商的元件加入此標籤。 列印:列印相關功能的控制項。 對話方塊:建立對話方塊的相關控制項。 WPF互通性:建立WPF互通性專案的相關控制項。 Visual Basic Power Packs:Visual Basic外加功能的相關控制項和元件。 一般:儲存拖曳自專案的自訂控制項。
1-5 Visual Basic Express使用介面-方案總管視窗 VBE的「方案總管」視窗是應用程式專案的管理視窗,可以顯示目前方案中的專案清單,在專案項目下是相關的檔案清單,如下圖所示:
1-5 Visual Basic Express使用介面-屬性視窗 在「屬性」視窗可以檢視表單或控制項物件的相關屬性,在上方欄位顯示的是選取物件,下方顯示此物件的屬性清單,如右圖所示:
1-5 Visual Basic Express使用介面-表單設計視窗 VBE開發環境的最主要部分是表單設計和程式碼編輯視窗,以此例【Form1.vb[設計]】標籤是表單設計檢視的視窗,如右圖所示:
1-5 Visual Basic Express使用介面-程式碼編輯視窗 程式碼視窗的上方標籤並沒有【設計】字樣,例如:開啟表單Form1.vb的程式碼,請執行「檢視/程式碼」指令或按F7鍵,就可以看到程式碼編輯視窗,如下圖所示:
End