《Visual Basic程序設計》以Visual Basic為語言背景,以程序設計為主線,按照教育部高等院校計算機基礎教學指導分委員會“關于進一步加強高校計算機基礎教學的幾點意見”文件精神第二個知識領域和第二個層次要求組織編寫的。在第一版的基礎上,針對課程特點,在知識體系、內容編排、實例選取上做了較大改進,便于教與學。主要內容包括:Visual Basic集成開發環境,Visual Basic語言基礎,順序結構、選擇結構、循環結構,數組及其應用,過程,數據文件及其應用,用戶界面設計與圖形操作,數據庫技術,Windows API等。
《Visual Basic程序設計》結構清晰,循序漸進,內容豐富,語言流暢,圖文并茂,實例準確,突出應用,易讀易懂,便于學習。
前言
第1章 Visual Basic程序設計概述
1.1 Visual Basic集成開發環境
1.1.1 主窗口
1.1.2 工具箱窗口
1.1.3 窗體設計窗口
1.1.4 工程管理器窗口
1.1.5 屬性窗口
1.1.6 其他窗口
1.2 Visual Basic 的特點
1.3 Visual Basic中的面向對象基本概念
1.3.1 對象與容器對象
1.3.2 對象的屬性、事件和方法
1.4 窗體對象及其屬性、事件和方法
1.4.1 窗體的結構與屬性
1.4.2 窗體的事件
1.4.3 窗體的方法
1.5 基本控件
1.5.1 控件的畫法、操作與命名
1.5.2 標簽和文本框
1.5.3 命令按鈕
1.5.4 焦點與Tab順序
1.5.5 顏色代碼設置
1.6 創建Visual Basic應用程序的基本步驟
1.7 Visual Basic工程的組成與管理
1.7.1 Visual Basic工程的組成
1.7.2 Visual Basic工程管理
1.7.3 Visual Basic幫助系統
習題
上機實驗
第2章 Visual Basic語言基礎
2.1 標準數據類型
2.2 常量與變量
2.2.1 常量
2.2.2 變量
2.3 內部函數
2.3.1 數學函數
2.3.2 字符串函數
2.3.3 日期時間函數
2.3.4 類型轉換函數
2.3.5 Shell函數
2.4 運算符與表達式
2.4.1 算術運算符及算術表達式
2.4.2 字符串連接運算符
2.4.3 日期型表達式
習題
上機實驗
第3章 順序結構程序設計
3.1 基本語句
3.1.1 賦值語句
3.1.2 注釋、結束與暫停語句
3.2 文本數據的輸入輸出
3.2.1 Print方法
3.2.2 與Print方法有關的函數
3.2.3 InputBox函數
3.2.4 MsgBox函數
3.3 圖形數據輸入輸出控件
3.3.1 圖片框
3.3.2 圖形文件的裝入
習題
上機實驗
第4章 選擇結構程序設計
4.1 條件表達式
4.1.1 關系運算符與關系表達式
4.1.2 邏輯運算符與邏輯表達式
4.1.3 運算符的優先順序
4.2 條件語句
4.2.1 單行結構條件語句
4.2.2 塊結構條件語句
4.2.3 條件函數IIf
4.2.4 條件語句的嵌套
4.2.5 多分支控制結構
4.3 選擇性控件
4.3.1 滾動條
4.3.2 計時器
4.3.3 框架
4.3.4 單選按鈕
4.3.5 復選框
4.4 應用舉例
習題
上機實驗
第5章 循環結構程序設計
5.1 循環語句
5.1.1 ForNext循環語句
5.1.2 DoLoop語句
5.1.3 WhileWend語句
5.1.4 循環的嵌套
5.2 與循環結構相關的控件
5.2.1 列表框
5.2.2 組合框
5.3 應用舉例
5.4 程序調試與錯誤處理
5.4.1 Visual Basic程序中的錯誤類型
5.4.2 程序工作模式
5.4.3 Visual Basic中的調試工具
5.4.4 錯誤處理
習題
上機實驗
第6章 數組
6.1 一維數組
6.1.1 一維數組的概念
6.1.2 一維數組的定義
6.1.3 一維數組的使用
6.1.4 LBound和UBound函數與一維數組
6.1.5 For EachNext語句
6.1.6 一維數組程序舉例
6.2 二維數組
6.2.1 二維數組的定義
6.2.2 二維數組的使用
6.2.3 LBound和UBound函數與二維數組
6.2.4 二維數組程序舉例
6.3 動態數組
6.3.1 動態數組的創建和使用
6.3.2 數組的清除
6.4 控件數組
6.4.1 基本概念
6.4.2 控件數組的建立與使用
6.4.3 動態管理控件數組中的元素
6.5 應用舉例
習題
上機實驗
第7章 過程
7.1 Sub過程
7.1.1 引例
7.1.2 Sub過程的定義
7.1.3 Sub過程的調用
7.2 Function過程
7.2.1 Function過程的定義
7.2.2 Function過程的調用
7.2.3 Function過程與Sub過程的比較
7.3 參數傳遞
7.3.1 形式參數與實際參數
7.3.2 按值傳遞與按地址傳遞
7.3.3 數組作為參數傳遞
7.3.4 可選參數和可變參數
7.4 嵌套和遞歸
7.4.1 過程嵌套調用
7.4.2 過程遞歸調用
7.5 變量與過程的作用域
7.5.1 變量的作用域
7.5.2 變量的生存期
7.5.3 過程的作用域
7.6 多窗體與Sub Main過程
7.6.1 多窗體處理
7.6.2 Sub Main過程
7.7 應用舉例
習題
上機實驗
第8章 數據文件
8.1 文件概述
8.2 文件操作語句與函數
8.2.1 文件指針及相關函數
8.2.2 文件長度及相關函數
8.3 順序文件
8.3.1 順序文件的打開操作
8.3.2 順序文件的關閉操作
8.3.3 順序文件的寫操作
8.3.4 順序文件的讀操作
8.4 隨機文件
8.4.1 記錄數據類型
8.4.2 隨機文件的打開與關閉操作
8.4.3 隨機文件的寫操作
8.4.4 隨機文件的讀操作
8.4.5 隨機文件中記錄的增加與刪除
8.5 文件系統控件
8.5.1 驅動器列表框和目錄列表框
8.5.2 文件列表框
8.5.3 文件系統控件的常用事件
8.5.4 文件系統控件應用舉例
8.6 文件及目錄操作
8.7 枚舉類型
習題
上機實驗
第9章 用戶界面設計與圖形操作
9.1 鍵盤和鼠標事件
9.1.1 鍵盤事件
9.1.2 鼠標事件
9.1.3 拖放操作
9.2 菜單設計
9.2.1 下拉式菜單
9.2.2 彈出式菜單
9.2.3 應用舉例
9.3 對話框設計
9.3.1 通用對話框
9.3.2 文件對話框
9.3.3 其他對話框
9.3.4 應用舉例
9.4 工具欄和狀態欄
9.4.1 手工制作工具欄
9.4.2 Toolbar控件與ImageList控件
9.4.3 狀態欄
9.5 剪貼板的應用
9.6 進度指示器
9.7 圖形操作
9.7.1 坐標系統
9.7.2 繪圖屬性
9.7.3 圖形控件
9.7.4 圖形方法
習題
上機實驗
第10章 Visual Basic數據庫應用
10.1 數據庫概述
10.1.1 數據庫的基本概念
10.1.2 結構化查詢語言SQL
10.2 DATA控件
10.2.1 常用屬性、方法和事件
10.2.2 用控件顯示數據
10.3 ADO數據對象訪問技術
10.3.1 ADO對象模型
10.3.2 使用ADO 控件
10.3.3 高級數據約束控件
10.3.4 數據窗體向導
10.4 制作報表
10.4.1 數據環境設計器
10.4.2 報表設計器
10.4.3 數據報表
習題
上機實驗
第11章 Windows API
11.1 Visual Basic與動態鏈接庫
11.1.1 動態鏈接庫
11.1.2 在Visual Basic中使用動態鏈接庫
11.2 API文本瀏覽器
11.2.1 啟動API瀏覽器
11.2.2 添加API函數聲明
11.2.3 把聲明、常量或類型復制到Visual Basic代碼中
11.3 API調用舉例
習題
上機實驗
參考文獻
附錄
附錄A 常用ASCII碼對照表
附錄B 全國計算機等級考試二級Visual Basic考試簡介
《Visual Basic程序設計(第二版)/普通高等教育“十二五”規劃教材》:
第1章 Visual Basic程序設計概述
內容提要 Visual Basic是一種面向對象的程序設計語言,其最主要的特點是可視化界面設計和事件驅動的編程機制。首先介紹Visual Basic的集成開發環境、Visual Basic程序設計特點,Visual Basic中對象、容器對象、屬性、事件、方法等基本概念,然后學習窗體、標簽、文本框、命令按鈕等控件,以及顏色代碼設置。結合實例,給出創建Visual Basic應用程序的一般步驟,介紹Visual Basic工程的組成、管理和幫助系統。
本章重點 熟練掌握Visual Basic集成開發環境;掌握窗體、標簽、文本框、命令按鈕等控件的使用;熟練掌握應用程序設計的基本步驟;掌握工程管理。
1.1 Visual Basic集成開發環境
啟動Visual Basic后,系統默認彈出一個“新建工程”對話框,如圖1-1所示。該對話框中列出了Visual Basic能夠建立的應用程序類型,包括“新建”“現存”“最新”3個選項卡,分別用來新建工程、顯示現有的或最近使用過的Visual Basic應用程序文件名列表。默認選擇“標準EXE”文件類型,單擊“打開”按鈕,進入Visual Basic集成開發環境。
圖1-1 Visual Basic“新建工程”對話框
Visual Basic 集成開發環境(Integrated Development Environment,IDE)是供用戶進行設計、編輯、調試、運行和測試應用程序的高度集成環境。該環境由主窗口和一系列專用工具和窗口組成。在“主窗口”內還可以根據需要打開不同的子窗口,如代碼窗口、對象瀏覽器窗口。利用“窗口”可以減少應用程序的開發難度,提高程序設計的效率。
1.1.1 主窗口
主窗口也稱設計窗口,位于集成環境的頂部,由標題欄、菜單欄和工具欄等組成,如圖1-2所示。
圖1-2 Visual Basic 6.0集成開發環境
1.標題欄
標題欄主要用于顯示應用程序的名稱及其工作狀態。啟動Visual Basic后,標題欄顯示的信息為:“工程1-Microsoft Visual Basic[設計]”,方括號中的“設計”表明當前的工作狀態是“設計階段”,隨著工作狀態的不同,方括號中的文字將作相應的變化,也可能是“運行”或“中斷”,分別代表運行階段或中斷階段。這3個階段通常也稱為3種工作模式,即設計(Design)模式、運行(Run)模式和中斷(Break)模式。
2.菜單欄
菜單欄位于標題欄下方,包括13個下拉菜單,即“文件”(File)、“編輯”(Edit)、“視圖”(View)、“工程”(Project)、“格式”(Format)、“調試”(Debug)、“運行”(Run)、“查詢”(Query)、“圖表”(Diagram)、“工具”(Tools)、“外界程序”(Add_in)、“窗口”(Windows)和“幫助”(Help)主菜單,每個主菜單項又包含若干個菜單命令,多數菜單命令也可以通過快捷鍵來執行。
3.工具欄
Visual Basic提供了4種工具欄,即“標準”“編輯”“窗體編輯器”和“調試”,用戶還可以根據需要自定義工具欄。一般情況下,集成環境中只顯示“標準”工具欄,如圖1-3所示。其他工具欄可通過選擇“視圖”→“工具欄”命令顯示或關閉。每種工具欄都有固定和浮動兩種形式。雙擊工具欄左端的兩條灰色豎線,可以將固定工具欄變為浮動工具欄;雙擊浮動工具欄的標題條,可將浮動工具欄變為固定工具欄。
圖1-3 常用工具欄
標準工具欄的右側分別顯示了窗體的當前位置和大小,其單位是twip(緹)。twip是一個與屏幕分辨率無關的計量單位,1英寸等于1400twip,這種計量單位可以使得在不同屏幕上保持正確的相對位置和比例關系。在這兩欄中,左側的數字表示窗體左上角的坐標位置(圖1-3中為0,0),右側的數字則表示窗體的大小,即長×寬(圖1-3中為4800×3600)。
1.1.2 工具箱窗口
工具箱(Tool Box)窗口包括建立應用程序所需的各種工具圖標,這些工具圖標被稱為控件。每個控件由工具箱中的一個工具圖標來表示。工具箱中的控件分為以下3類。
(1)標準控件。也稱內部控件,由1個指針和20個圖形按鈕組成,如圖1-4所示。默認狀態下工具箱中顯示的控件都是標準控件,由Visual Basic的EXE文件提供,不能進行刪除和添加操作。
(2)ActiveX控件。ActiveX控件是可以重復使用的編程代碼和數據,是由ActiveX技術創建的一個或多個對象所組成的、以.ocx為擴展名的獨立文件。添加方法是單擊“工程”→“部件”命令,或在工具箱的空白處單擊鼠標右鍵,在快捷菜單中選擇“部件”命令,打開“部件”對話框,然后在“控件”選項卡中的列表中選擇控件進行添加。Active X控件的具體使用參見9.3節。
(3)可插入對象。可插入對象是Windows應用程序的對象,如Microsoft Word文檔、AutoCAD Drawing等。在“部件”對話框中選擇“可插入對象”選項卡,然后在列表中選擇相應控件添加。將可插入對象添加到工具箱后,可像使用標準控件一樣使用。
Visual Basic啟動后,默認情況下只有標準控件。這些標準控件中除了指針(Pointer)控件用來實現利用鼠標選定、縮放、移動、復制控件等操作外,其他控件功能如下。
(1)圖片框(PictureBox):用于裝載、顯示圖片。
(2)標簽(Label):顯示文本信息,但不能輸入文本。
(3)文本框(Text):輸入或顯示文本。
(4)框架(Frame):組合相關控件,將控件分成可標識的控件組。
(5)命令按鈕(Command):接收事件,單擊可向應用程序發布指令。
(6)復選框(CheckBox):多重選擇。
(7)單選按鈕(OptionButton):選擇一個選項。
(8)組合框(ComboBox):同時具有文本框和列表框的功能。
(9)列表框(ListBox):顯示可供用戶選擇(一個或多個)的表項。
(10)水平滾動條(HscrollBar):允許顯示內容在水平方向上滾動或顯示當前位置。
(11)垂直滾動條(VscrollBar):允許顯示內容在垂直方向上滾動或顯示當前位置。
(12)計時器(Timer):按照指定時間間隔處理某項任務。
(13)驅動器列表框(DriveListBox):顯示有效驅動器并允許選擇。
(14)文件夾列表框(DirListBox):顯示文件夾和路徑并允許選擇。
(15)文件列表框(FileListBox):顯示文件夾下的文件并允許選擇。
(16)形狀(Shape):向窗體、框架、圖片框添加矩形、橢圓等。
(17)直線(Line):向窗體、框架、圖片框添加一條直線。
(18)圖像框(Image):顯示圖像,可通過設置其屬性使之自動適應圖像的尺寸。
(19)數據控件(Data):提供對存儲在數據庫中數據的訪問。
(20)OLE容器(OLE)。
工具箱中控件的畫法與Office軟件中形狀的畫法相似,具體方法參見1.5.1。
1.1.3 窗體設計窗口
窗體(Form)設計窗口也稱窗體窗口或對象窗口,是應用程序最終面向用戶的窗口,各種圖形、圖像、數據都可以通過窗體顯示出來。一個應用程序可以有多個窗體,每一個窗體必須有一個唯一的名稱,該名稱在窗體工作區的標題欄中可以看到。窗體工作區中布滿了供對齊使用的小點,要清除小點或改變小點之間的距離,可選擇“工具”→“選項”命令,在“選項”對話框的“通用”選項卡中調整。
1.1.4 工程管理器窗口
工程管理器(Project Explorer)窗口如圖1-5所示,以樹形結構列出當前應用程序(當前工程或工程組)所需的所有文件清單,并對其進行管理。在工程資源管理器窗口頂部有3個工具按鈕。
(1)“切換代碼”按鈕:切換到代碼窗口,將相應文件的代碼顯示出來,以便編輯。
(2)“切換對象”按鈕:切換到窗體設計器窗口,以便顯示和編輯正在設計的窗體。
(3)“切換文件夾”按鈕:切換文件夾的顯示方式(顯示/取消顯示)。
1.1.5 屬性窗口
屬性(Properties)窗口主要用來設置窗體和控件的屬性。Visual Basic中,窗體和控件稱為對象,每個對象都由一組屬性如名稱、標題、顏色、字體、大小、位置等來描述其特性,屬性窗口只有在設計階段才能激活。如圖1-6所示,除窗口標題外,屬性窗口由對象列表框、屬性排列方式、屬性列表框和對當前屬性解釋的屬性解釋框4部分組成。其中,對象列表框用于列舉當前窗體所包含的對象列表;屬性排列方式分為兩種,即“按字母序”(圖1-6(a))和“按分類序”(圖1-6(b)),分別通過單擊相應的選項卡來實現,默認情況下屬性按字母順序排列,可以通過窗口右部的垂直滾動條找到對象的任意屬性;屬性列表框列出當前選定對象的屬性設置值。左面為對象的屬性名稱,右面為某一屬性的值,屬性值后面有“ ”或“下拉箭頭”按鈕的,表示該屬性值有預定值可供選擇。
(a)按字母順序排序 (b)按分類排序
圖1-6 屬性窗口
1.1.6 其他窗口
(1)窗體布局窗口。窗體布局(Form Layout)窗口主要用來指定應用程序運行時窗體的初始位置。用鼠標拖動該窗口中的小圖標,可調整窗體在運行時的位置。
(2)代碼窗口。代碼(Code)窗口是專門用來編輯程序代碼的窗口,如圖1-7所示。可以通過以下3種方法打開代碼窗口:
①在“工程資源管理器”窗口中單擊“查看代碼”按鈕。
②選擇“視圖”→“代碼窗口”命令。
③雙擊窗體或窗體中的控件。
代碼窗口主要包括:
①對象列表框:顯示所選對象名稱。
②過程列表框:列出所有與“對象”對應的對象事件過程名稱。
③代碼框:用于輸入程序代碼。
④過程查看按鈕:顯示所選的一個過程。
⑤全模塊查看按鈕:顯示模塊中的全部過程代碼。
(3)立即窗口。在Visual Basic 6.0集成開發環境中,用戶可以在立即窗口(Immediate)中使用Print方法或直接在程序中用Debug.Print方法輸出表達式的值。
除了上述窗口外,在Visual Basic集成環境中還有監視窗口等,請讀者自行查看。
1.2 Visual Basic 的特點
Visual Basic是在BASIC語言基礎上研制而成的,作為程序設計語言,它具有以下特點:
(1)具有面向對象的可視化設計平臺。Visual Basic應用面向對象的程序設計方法,把程序和數據封裝起來,視為一個對象,每個對象都是可視的。開發人員不必為界面設計編寫大量的代碼,只需要按照設計要求布局,用系統提供的工具,直接在屏幕上“畫”出窗口、菜單、按鈕等各種圖形對象,并設置這些圖形對象的屬性,從而提高程序設計的效率。
(2)結構化程序設計語言。Visual Basic是一種結構化的程序設計語言,具有豐富的數據類型和結構化程序設計結構,其代碼結構清晰、簡潔易懂。同時具有強大的數值和字符串處理功能、豐富的圖形指令,支持順序文件訪問和隨機文件訪問,以及完善的運行出錯處理機制等。
(3)面向對象的程序設計。Visual Basic是一種面向對象的程序設計語言(OOP),擁有OOP所具有的對象的封裝性、繼承性等特征。在Visual Basic中對象主要分為3類:窗體對象,在窗體上定義的各種控件,提供編程環境的系統對象(如Printer、App、Err等)。
(4)事件驅動的編程機制。傳統程序設計是面向過程的,程序總是按事先設計好的流程執行。而在圖形用戶界面的應用程序中,是由用戶的動作及事件掌握程序的流向。事件驅動是圖形界面的主要編程方式,Visual Basic通過響應事件來執行對象的操作。一個對象可能會產生多個事件,每個事件都通過一段程序來響應,這樣的應用程序代碼較短,且易于編寫和維護。
……