版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Visual Basic程序設計與應用電子教案演示 退出 課程內容第 1 章第 2 章第 3 章第 4 章第 5 章第 6 章第 7 章第 8 章第 9 章第1章 Visual Basic 概述特點歷史淵源 安裝步驟集成開發(fā)環(huán)境工程管理程序編輯程序調試程序創(chuàng)建步驟早期BASIC 1964年,美國計算機科學家G. Kemeny和T. Kurtz在Dartmouth 學院創(chuàng)造了BASIC語言。這是一種適用于初學者的人機交互式語言,其名BASIC既是Beginners Allpurpose Symbolic Instruction Code(初學者通用的符號指令代碼)的簡寫。 Dartmouth B
2、ASIC是為校園的大學生們創(chuàng)造的,目的是使大學生能夠比較輕松地學習計算機編程。 1983 年,Dartmouth BASIC 被演變成為了True BASIC,成為了完全結構化的程序設計語言。 Quick BASIC 1975 年,Microsoft 公司的兩位創(chuàng)始人,Bill Gates 和 Paul Allen 為MITS公司生產的早期個人計算機Altair 8800開發(fā)了一個BASIC解釋器。 1985年,Microsoft公司推出了一種類似于True BASIC的完全結構化的BASIC語言 QuickBASIC 1.0 。 QuickBASIC 具有強大的集成開發(fā)環(huán)境,并且既包含對 B
3、ASIC 代碼的解釋功能,也包含對 BASIC 代碼的一定的編譯功能。因此,與 True BASIC 追求簡約的設計思路不同,QuickBASIC 在設計上更注重語言功能的完整和執(zhí)行效率的提高,它成為了那個時代運行速度最快的 BASIC 語言。 由于在BASIC上取得的空前成功,Microsoft公司成為了BASIC語言在市場發(fā)展上的領導者和BASIC語言標準的實際制定者。 Visual Basic 1991 年,Microsoft公司開發(fā)了Visual Basic 1.0,其集成了 QuickBASIC 的語法特性與解釋編譯功能,并提供了一個可視化的開發(fā)環(huán)境,允許程序員在一個所見即所得的圖形
4、界面中迅速完成開發(fā)任務。為了表明Visual Basic是一種基礎程序設計語言,Microsoft特完全大寫的“BASIC” 改為了大小寫混合的“Basic”。 1993 年,Microsoft 發(fā)布了 Visual Basic 3.0 ,使Visual Basic 具有了支持ODBC、OLE的特性。 1995年發(fā)布了Visual Basic 4.0,1996年發(fā)布了Visual Basic 5.0。 1998 年發(fā)布了 Visual Basic 6.0 。Visual Basic 6.0 是傳統(tǒng) Visual Basic向 Visual Basic.NET 轉變前的最后一個版本,也是傳統(tǒng) V
5、isual Basic 中功能最全、應用最廣的一個版本。 Visual Basic 的特點 可視化 :Visual的英文含義既是可視化,在可視化環(huán)境下創(chuàng)作前端界面也就如同擺放積木。 面向對象 :面向對象編程是建立在類的基礎上的,可通過類的封裝而使源程序更加便于維護。 部件技術 :部件技術建立在面向對象技術基礎之上。可將部件看作為類的包裝,每一個部件包含著許多相互關聯(lián)的類。 事件驅動 :事件驅動則是指程序的執(zhí)行路線可以基于用戶的操作步驟來確定的。 安裝Visual Basic 6.0 (1)啟動安裝程序。 (2)輸入用戶ID號 (3)輸入姓名、用戶單位 (4)選擇安裝路徑。 (5)選擇安裝方式,
6、有“典型安裝”和“自定義安裝”兩種安裝方式。 添加或刪除 Visual Basic 6.0 部件 在添加或刪除 Visual Basic 部件,需要進行以下操作: (1)重新啟動安裝程序。(2)在安裝程序對話框中選取“自定義”按鈕。(3)在“自定義”對話框的“選項”列表框中選定要安裝的部件(或撤消選定要刪除的部件)。集成開發(fā)環(huán)境 Visual Basic 6.0集成開發(fā)環(huán)境由菜單、工具欄、工具箱、窗體設計器、屬性窗口、工程管理器、代碼編輯器組成。 Visual Basic 6.0 菜單 菜單是在集成開發(fā)環(huán)境下發(fā)布命令的最基本手段。Visual Basic 頂級菜單有:文件、編輯、視圖、工程、格
7、式、調試、運行、工具、外接程序,但菜單命令是通過子菜單中的子菜單項發(fā)出的。文件菜單 文件菜單主要用于建立、打開、添加、移去、保存工程和文件,包括:新建工程 、打開工程 、添加工程 、移除工程 、保存工程 、工程另存為 、保存文件 、文件另存為 、打印 、打印設置 、生成工程 等子菜單項。編輯菜單 在對工程進行修改時,編輯菜單用于各種編輯操作 。包括:撤消、重復、剪切、復制、粘貼、粘貼鏈接、刪除、全選、查找、縮進、凸出、插入文件、屬性方法列表、快速信息、參數(shù)信息書簽等子菜單項。視圖菜單 視圖菜單用于顯示各種窗口及和窗口有關的操作 。包括:代碼窗口、對象窗口、定義、最后位置、對象瀏覽器、立即窗口、
8、本地窗口、監(jiān)視窗口、調用堆棧、工程資源管理器、屬性窗口、窗體布局窗口、屬性頁、表、縮放、顯示窗格、工具箱、調色板、工具欄等子菜單項。工程菜單 工程菜單用于為當前工程創(chuàng)建模塊、作對象引用或提供各種設計器 。包括:添加窗體、添加 MDI窗體、添加模塊、添加用戶控件、添加屬性頁、添加用戶文檔、添加設計器、添加文件、移除、引用、部件、工程屬性等子菜單項。格式菜單 格式菜單用于界面設計,能使界面中的控件規(guī)范排列 。包括:對齊、統(tǒng)一尺寸、按網(wǎng)格調整大小、水平間距、垂直間距、在窗體中居中對開、順序、鎖定控件等子菜單項。調試菜單 調試菜單用于調試、監(jiān)視程序 。包括:逐語句、逐過程、跳出、運行到光標處、添加監(jiān)視
9、、編輯監(jiān)視、快速監(jiān)視、切換斷點、清除所有斷點、設置下一條語句、顯示下一語句等子菜單項。運行菜單 查詢菜單中各條菜單命令用于數(shù)據(jù)庫表的查詢及相關操作 。所提供的各種查詢設計工具,使用戶能夠通過可視化工具創(chuàng)建SQL語句,實現(xiàn)對數(shù)據(jù)庫的查詢、修改。工具菜單 工具菜單包括:添加過程、過程屬性、菜單編輯器、選項、發(fā)布等子菜單項。外接程序菜單 外接程序菜單工程菜單用于為當前工程創(chuàng)建含:可視化數(shù)據(jù)管理器、外接程序管理器等子菜單項。Visual Basic 6.0 工具欄 工具欄的作用是可以通過其上面的圖標按鈕執(zhí)行菜單命令,由此加快操作速度。 Visual Basic能提供“編輯”、“標準”、“窗體編輯器”、
10、“調試”等幾個工具欄,用戶也可以按自己的需要“自定義”工具欄,可以通過“視圖工具欄”菜單項下的子菜單項選取它們 。 Visual Basic各種工具欄中最常用的是“標準工具欄” Visual Basic 6.0 工具箱 工具箱是Visual Basic用于為開發(fā)提供控件的面板,通過它可以往設計中的窗體設置各種控件。 除了Visual Basic 內置控件之外,用戶還可以通過菜單“工程部件”打開“部件”對話框,從中能添加控件、設計器或可插入對象到工具箱中,也可以引用已加載的控件工程。 工程管理 Visual Basic是以工程為單位創(chuàng)建程序的,其通過工程文件(.vbp)獲得工程信息,并通過“工程
11、資源管理器”、“工程屬性”窗口實現(xiàn)對程序工程的有效管理。 工程類型 1標準EXE:最常用的工程類型,用來創(chuàng)建Windows環(huán)境下的標準可執(zhí)行程序(.EXE文件)。2ActiveX DLL:用來創(chuàng)建能夠與應用程序運行在同一進程內的ActiveX DLL部件。3ActiveX EXE:用來創(chuàng)建在應用程序進程之外工作的ActiveX EXE部件。4ActiveX 控件:用來創(chuàng)建可視開發(fā)環(huán)境下的前端界面元素。工程資源程序工程由文件組成,主要文件類型有:工程文件 (.vbp)。標準模塊文件 (.bas)。窗體的文件 (.frm)。窗體的二進制數(shù)據(jù)文件 (.frx)。類模塊文件 (.cls)。包含 Act
12、iveX 控件的文件 (.ocx)。工程屬性 通過菜單命令“工程工程屬性”可以打開“工程屬性”對話框。在此可以進行有關工程的名稱、類型、啟動模塊、版本號、版本信息、程序圖標、編譯方式、編譯要求等諸多工程屬性的設置。 程序編輯在編輯程序時,經常用到的工具有:1、窗體設計器,其用于編輯用戶界面。2、代碼編輯器,其用于編輯源程序代碼。3、屬性窗口,其用于設置窗體或控件的屬性值。 程序調試在調試程序時,最常使用的調試方法有:1、在程序中設置斷點,進行中斷調試。2、通過“立即窗口”進行數(shù)據(jù)測試。3、使程序逐條語句,或逐過程執(zhí)行,進行單步調。程序創(chuàng)建步驟 當在Visual Basic 6.0中創(chuàng)建應用程序
13、時,一般需要經歷以下基本步驟: 1、分析程序問題。 2、建立程序工程。 3、設計用戶界面。 4、編寫并調試程序代碼。 5、保存工程資源。 6、對源程序進行編譯。程序創(chuàng)建步驟 程序創(chuàng)建舉例: 考慮創(chuàng)建一個窗體程序,其用于商品銷售時的累積計價。具體考慮是:。 1、添加“文本框控件”,用于商品的單價、數(shù)量的輸入。 2、添加“命令按鈕控件”,并在其Click事件中添加“計價程序”,用于商品計價 。 3、添加“標簽控件”,用于商品價值和商品總價的輸出。第2章 數(shù)據(jù)類型及操作常量變量基本數(shù)據(jù)類型數(shù)組枚舉類型運算符標識符命名規(guī)則自定義類型常量 常量即是用標識符來表示數(shù)值或字符串,由此可以提高源代碼的可讀性和
14、可維護性。 常量有兩種來源: 1、系統(tǒng)常量,其由Visual Basic或引用的對象提供。 2、用戶自定義常量,其需要用 Const 語句來聲明。 定義常量 用戶自定義常量在使用前需要定義,由此使該標識符能夠被程序識別。其語法是: Public/ Private Const 常量名As 類型 = 常量表達式 例如: Const PI = 3.14159265358979 Const MaxPlanets As Integer = 9 使用常量常量在被定義之后,就可以在代碼中作為數(shù)據(jù)使用。 例如:Const MaxPlanets As Integer = 9Const People As Int
15、eger =19Static SolarSystem (1 To MaxPlanets)If WorldPop People Then Exit Sub 變量 變量用來等待處理的臨時存儲數(shù)據(jù),可以把變量看作內存中存放未知值的所在處。 變量有名字和數(shù)據(jù)類型,在使用之前需要聲明。聲明變量 聲明變量就是事先將變量通知程序,由此使變量的使用合法。 語法:Dim/Private/Public/ Static 變量名 As 類型 例如: Dim I As Integer Private YourName As String, BillsPaid As Currency Public Test,Amount
16、, J As Integer 變量范圍 變量范圍是指變量能夠在多大的范圍內被訪問到。 可以根據(jù)變量范圍將變量分成以下三類: 1、過程級變量。 2、模塊級變量。 3、公用變量。 過程級變量 過程級變量也叫局部變量,其在過程內聲明,并且只有在聲明它們的過程內才能被識別。 過程級變量只能用 Dim 或 Static 關鍵字來聲明。 例如: Dim intTemp As Integer Static intPermanent As Integer 用 Dim 聲明的變量是動態(tài)變量,而用 Static 聲明的變量則是靜態(tài)變量。 模塊級變量 模塊級變量在模塊頂部的聲明段用 Private或Dim關鍵字聲明
17、,并且所在模塊的所有過程都可使用該變量。 例如: Private intTemp As Integer 公用變量 公用變量在模塊的聲明段使用 Public 關鍵字聲明,其可以被應用程序的所有過程。 例如: Public intTemp As Integer基本數(shù)據(jù)類型 所有變量都具有數(shù)據(jù)類型,以決定能夠存儲哪種數(shù)據(jù)。 除變量外,數(shù)據(jù)類型也用于其他場合。如在給對象屬性賦值時,這個值就有數(shù)據(jù)類型;函數(shù)的參數(shù)也有數(shù)據(jù)類型。事實上,在 Visual Basic 中,凡是涉及數(shù)據(jù)就與數(shù)據(jù)類型有關,包括:變量、常量、數(shù)組,以及函數(shù)、過程中的參數(shù),等等。 數(shù)值型數(shù)據(jù) Visual Basic 支持以下幾種數(shù)
18、值型數(shù)據(jù): Integer(整型)、Long(長整型)、Single(單精度浮點型)、Double(雙精度浮點型)、Currency(貨幣型),另外,Byte(字節(jié)型)也可用于數(shù)值計算。 所有數(shù)值變量都可相互賦值。在將浮點數(shù)賦予整數(shù)之前, Visual Basic將浮點數(shù)的小數(shù)部分四舍五入到整數(shù)。 String 數(shù)據(jù)類型 String型變量用于存儲字符串。 例如: Dim S1 As String, Dim S2 As String * 10 S1 = Database S2 = Database 上述變量中,S1是一個可變長度的String變量,隨著對其賦予新數(shù)據(jù),它的長度可增可減。而S2則
19、是具有固定長度String 型變量。Boolean 數(shù)據(jù)類型 Boolean是邏輯型變量,其值只能是True、 False。Boolean 的缺省值為 False。Date 數(shù)據(jù)類型 用于存儲Date 和 Time 值。 例如: Dim SomeDate As Date SomeDate = #1980-03-16# SomeDate = #3-6-93 13:20#Object 數(shù)據(jù)類型 Object 變量采用 32 位(4 個字節(jié))地址來存儲對象,該地址可用于引用應用程序中的對象。 例如: Dim objDb As Object Set objDb = OpenDatabase (c:Vb
20、5Biblio.mdb)Variant 數(shù)據(jù)類型 Variant 型是Visual Basic的缺省數(shù)據(jù)類型,能夠存儲所有類型的數(shù)據(jù)。 例如: Dim SomeValue SomeValue = 17 SomeValue = SomeValue - 15 SomeValue = U & SomeValue數(shù)組 數(shù)組使用相同名字引用一系列變量,并用數(shù)字(索引)來識別它們。 語法: Dim/Private/Public/ Static數(shù)組名(下界 To 上界) As 數(shù)據(jù)類型 一個數(shù)組中的所有元素具有相同的數(shù)據(jù)類型。 使用數(shù)組 例如: Dim Sums (101 To 120) As String
21、 Dim X(20) As Integer, Y(10,5 To 10) As Long Sums (110) = “ABCDEF” X(0)=100 Y(0, 8) = 1000枚舉類型 枚舉類型提供了方便的方法處理名稱與常數(shù)數(shù)值的相互關聯(lián)。 聲明枚舉類型的語法是: Public|Private Enum 類型名 End Enum枚舉類型Public Enum Days Sunday Monday Tuesday Wednesday Thursday Friday SaturdayEnd Enum 例如,可以為跟星期相關聯(lián)的一組整數(shù)常數(shù),聲明一個枚舉類型,然后在代碼中使用星期的名稱而不使用其
22、整數(shù)數(shù)值。自定義類型 自定義數(shù)據(jù)類型是由一些基本類型的數(shù)據(jù)元素構成的結合體。 聲明自定義類型的語法是: Private|Public Type自定義類型名 元素 As 類型 元素 As 類型 End Type自定義類型例如:Private Type StuRecord Name As String Birthday As Date Others As Variant End Type Dim myRecord As StuRecord myRecord.Name = 楊明 myRecord. Birthday = #1970-06-18# 標識符來命名在Visual Basic中,常量、變量、
23、數(shù)組、過程、函數(shù)、類等,都依靠標識符來命名;但命名必須遵循一定的規(guī)則。其具體規(guī)則有:(1)標識符由字母(AZ,az),數(shù)字(09)或下化線(_)組成。(2)長度不能超過255個字符。(3)自定義的標識符不能和Visual Basic 中的運算符、語句,以及系統(tǒng)已有的函數(shù)、過程名等關鍵字同名。運算符 程序中對數(shù)據(jù)的基本加工,是依靠運算符實現(xiàn)的。在Visual Basic中運算符的類型有:賦值運算符、算術運算符、比較運算符、連接運算符、邏輯運算符。賦值運算符 Visual Basic中的賦值運算符“=”用來給變量、數(shù)組或對象的屬性賦值,即把運算符右邊的內容賦給運算符左邊的變量。 語法格式:變量 =
24、 表達式算術運算符 用來進行算術運算,有:+(加)、-(減)、*(乘)、/(除)、(整除)、Mod (求模)、(乘方)等運算符。比較運算符 比較運算符包括:(小于) 、(大于)、 =(大于或等于)、(不等于)和 =(等于) ,用來反映兩個數(shù)值或字符串表達式之間的關系。關系成立,返回True(真);關系不成立,返回False(假);兩個表達式中若有Null,則返回Null。 連接運算符 & 、+ 運算符都能用于進行兩個字符串的連接,但 & 運算符強制兩個表達式按字符串連接,盡管被連接的表達式不是字符串也是如此。 而 + 運算符則較復雜,當兩個表達式都是字符串時按字符串連接,否則視具體情況會有不同
25、結果。 在進行字符串連接時一般使用 & 運算符。邏輯運算符 邏輯運算符包括:Not(非)、And(與)、Or(或)、Xor(異或)、Equ(邏輯等于)和Imp(邏輯蘊涵),用于表達兩個邏輯表達式之間的關系。 在進行邏輯運算時,只要參入運算的表達式中有一個為 Null,則將返回 Null。 運算符優(yōu)先順序 在表達式中,當運算符不止一種時,要先處理算術運算符,接著處理比較運算符,然后再處理邏輯運算符。 算術運算符優(yōu)先級由高至低是:指數(shù)運算 ()、負數(shù) ()、乘法和除法 (*、 /)、整數(shù)除法 ()、求模運算 (Mod)、加法和減法 (+、 )、字符串連接 (&)。 邏輯運算符優(yōu)先級由高至低是:No
26、t、And、Or、Xor、Eqv、Imp 。 所有比較運算符的優(yōu)先順序都相同 。自定義數(shù)據(jù)類型 在模塊的聲明部分可以使用Type語句建立自定義數(shù)據(jù)類型。 語法格式: Private|Public Type自定義類型名 元素 As 類型 End Type動態(tài)數(shù)組(1) 創(chuàng)建動態(tài)數(shù)組的步驟: 第一步是聲明動態(tài)數(shù)組,其和聲明固定大小的數(shù)組類似,但給數(shù)組附以一個空維數(shù)表,例如: Dim DynArray () 第二步是用ReDim 語句在程序執(zhí)行過程中給數(shù)組指定維數(shù)和分配實際的元素個數(shù),例如: ReDim DynArray (4 to 12)動態(tài)數(shù)組(2) 值得注意的是:ReDim 語句與 Dim 語
27、句、Static 語句不同,ReDim 語句是一個可執(zhí)行語句,通過在應用程序中執(zhí)行ReDim 語句,給維數(shù)和元素個數(shù)待定的數(shù)組指定維數(shù)和元素個數(shù)。 在程序中還可以使用變量設置動態(tài)數(shù)組的邊界。 例如: ReDim DynArray (X, Y)第3章 程序結構程序流程控制模塊概念程序過程常用內置函數(shù)面向對象編程程序異常處理模塊概念 模塊是構造程序的基本元素。模塊可大可小,它可以是所建程序系統(tǒng)中的一個子程序系統(tǒng),也可以是一個功能程序塊,或者是功能程序塊內的一個函數(shù)、過程。在Visual Basic中,程序中的模塊首先體現(xiàn)為程序文件,如:標準程序文件、類程序文件、窗體程序文件,等等,它們是構造程序的
28、基本模塊單位。接著是程序文件中的過程、函數(shù)、屬性、方法等,它們是單元模塊,是構造程序的最小模塊單位。程序過程 在 Visual Basic 中,過程是構建程序邏輯部件的最小單元成分。使用過程編程至少有兩大好處。 其一:可以將程序劃分成更小的邏輯單元,這有利于簡化程序。 其二:過程可以供多處調用,這有利于代碼重用。 。 在 Visual Basic 中使用的過程有: Sub 過程不返回值;稱做通用過程或子過程。 Function 過程返回值;稱做函數(shù)過程。 另外,窗體、控件等,還可以提供事件過程。通用過程 通用過程由用戶根據(jù)需要自主建立,其作用是可以把需要完成一定功能的代碼放在過程,供諸多功能操
29、作調用,由此提高代碼利用率,并使其更便于維護。 定義通用過程的語法是: Private|PublicStatic Sub 過程名 (形式參數(shù)列表) 語句塊 End Sub調用通用過程 調用過程的語法: Call 過程名(實際參數(shù)列表) 或: 過程名 實際參數(shù)列表 其中,實際參數(shù)列表,是需要往被調用過程傳遞的具體數(shù)據(jù);因此,其數(shù)據(jù)類型需要和被調用過程的形式參數(shù)保持一致。實際參數(shù)可以是常量、變量、數(shù)組,或復雜表達式,但無論是什么都必須有確定的值。 函數(shù)過程 通過Function 語句創(chuàng)建的函數(shù)過程可以返回一個值到調用過程處。 函數(shù)過程的語法是: Function 函數(shù)名 (形式參數(shù)列表) As 類
30、型 語句塊 End Function 函數(shù)過程需要返回的值的類型由As 子句設置。調用函數(shù)過程 把函數(shù)看作一個數(shù),可以放在賦值號右端。 例如: Tx1=MyFunc(5) 用做參數(shù)。 例如: Tx2=MyFunc(MyFunc(5) 事件過程 窗體、控件的某個事件的發(fā)生時,會自動調用它的該事件過程。因此,事件過程往往是由用戶事件觸發(fā)。 控件的事件過程名,由控件的實際名字、下劃線和事件名組合而成。 例如,一個名為 cmdPlay 的命令按鈕被單擊時所調用的事件過程是: cmdPlay_Click。 窗體也有事件,但其事件過程命名規(guī)則卻和一般控件有所不同。窗體事件名是:詞匯 “Form”、下劃線和
31、事件名的組合。例如,窗體單擊時所調用的事件過程是: Form_Click 。通用、函數(shù)過程和事件過程的關系過程參數(shù)傳遞方法 1. 按值傳遞參數(shù) 按值傳遞參數(shù)時,所傳遞的是實際參數(shù)的值。這時實際參數(shù)所在內存地址處所存儲的數(shù)值傳給了被調用過程的形式參數(shù);這時,實參、形參分別有不同的內存地址。如果在被調用過程中改變了這個參數(shù)值,則所作變動只會到形參,不會影響實參。 通過關鍵字ByVal可以聲明按值傳遞的參數(shù)。 過程參數(shù)傳遞方法 2. 按地址傳遞參數(shù) 按地址傳遞參數(shù)時,所傳遞的是實際參數(shù)的地址。這時的實參與形參具有相同的內存地址。因此,當按地址傳遞參數(shù)時,對形式參數(shù)所做的改變,也將隨之反映到實際參數(shù)上
32、來。 按地址傳遞參數(shù)在 Visual Basic 中是缺省的,并可以通過關鍵字ByRef明確聲明參數(shù)是按地址傳遞。程序流程控制 程序的基本運行方式是自頂向下地順序執(zhí)行各條語句,被稱做順序結構。對于簡單的問題,依靠順序結構就可以完成任務;但對于稍微復雜一點的問題,單純依靠順序結構也許就不夠了,而必須在程序中加入更多的程序流程控制。 程序流程的控制是通過一定的控制結構來實現(xiàn)的,包括:分支結構、循環(huán)結構,并可以進行控制結構嵌套。 另外,也可以使用Goto語句來控制程序流程。分支結構 分支結構的作用是使程序依照條件而走不同的支路。Visual Basic 支持的分支結構有: If.Then If.Th
33、en.Else Select Case 程序往往根據(jù)需要而選擇合適的分支結構。If.Then 語句 用 If.Then 結構可以有條件地執(zhí)行其結構內的一條或多條語句。 If 條件表達式 Then 一條語句 或: If 條件表達式 Then 多條語句 End If 可以使用 If.Then.Else語句建立多個分支流程,并根據(jù)條件選擇其中一個分支。語法結構: If 條件1 Then 語句塊1 ElseIf 條件2 Then 語句塊2 . Else 語句塊n End If If.Then.Else 語句 Select Case 語句 Select Case 是用于實現(xiàn)多重選擇,其作用與 If.Th
34、en.Else 語句類似,但主要用于只有一個條件,并且條件值為離散值的分支選擇。 語法結構是: Select Case 測試條件 Case 表達式1 語句塊1 Case表達式2 語句塊2 Case Else 語句塊n End Select 循環(huán)結構 循環(huán)的作用是允許某個程序段被重復執(zhí)行。Visual Basic 支持的循環(huán)結構有: Do.Loop For.Next For Each.Next 程序往往根據(jù)需要而選擇合適的循環(huán)結構。Do.Loop 循環(huán) Do.Loop 語句是通過計算條件值以決定是否繼續(xù)執(zhí)行,而產生循環(huán)效果。 Do.Loop 語句有幾種演變形式。 形式一: Do While 條件
35、表達式 語句塊 Loop 形式二: Do Until 條件表達式 語句塊 LoopDo.Loop 循環(huán) 形式三: Do 語句塊 Loop While 條件表達式 形式四: Do 語句塊 Loop Until 條件表達式 For.Next 循環(huán) 在知道要執(zhí)行多少次時,則可以使用 For.Next 循環(huán)。與 Do 循環(huán)不同, For 循環(huán)使用一個叫做計數(shù)器的變量,每重復一次循環(huán)之后,計數(shù)器變量的值就會增加或者減少。For 循環(huán)的語法如下: For 計數(shù)器 = 初始值 To 終止值 Step 增量 語句塊 Next 計數(shù)器 其中,參數(shù):計數(shù)器、初始值、終止值和增量都必須是數(shù)值型的變量。 For Ea
36、ch.Next循環(huán) For Each.Next 循環(huán)與 For.Next 循環(huán)類似,但它是以對象集合中的每一個元素作為重復依據(jù)的,而不是按次數(shù)重復。如果不知道一個集合有多少元素, For Each.Next 循環(huán)非常有用。 語法格式: For Each 元素 In 集合 語句塊 Next 元素 控制結構嵌套 控制結構嵌套就是把一個控制結構放入到另一個控制結構之內,例如:在 For.Next 循環(huán)塊中放入 If.Then. 塊。 在 Visual Basic 中,控制結構的嵌套層數(shù)沒有限制。Goto語句 GoTo是無條件轉向語句,能夠無條件地轉移到過程內指定的行。語法格式是:GoTo line
37、其中,參數(shù)line為行標簽或行號。 由于GoTo語句是非結構化流程控制的遺留物,容易破壞程序結構,因此要求盡量少用。出錯處理語句 1、On Error語句 格式1:On Error GoTo 行標號 格式2:On Error Resume Next 2、Resume語句 Resume 結束錯誤處理并重新執(zhí)行產生錯誤的語句。 Resume Next 結束錯誤處理并重新執(zhí)行產生錯誤的語句的下一條語句。 Resume 行標號 結束錯誤處理并在行標號指定的位置處恢復執(zhí)行。 顯示錯誤信息 可通過Err對象的屬性返回當前運行錯誤信息,由此進行錯誤類型判斷。Err對象的屬性有:Number 當前運行錯誤的錯
38、誤號。Description 當前運行錯誤的文字描述。Source 生成當前運行錯誤的對象或應用程序的名稱。設計出錯處理程序 可按照以下步驟建立出錯處理程序:(1)在過程中設置On Error 語句,其用于捕獲運行錯誤和指定錯誤處理程序。(2)在過程中設置錯誤處理程序行標簽,其用來標記錯誤處理程序的開始位置。錯誤處理程序一般建立在每個程序過程的末端。(3)編寫出錯處理程序,可通過分支結構實現(xiàn)對多種錯誤類型的處理。(4)有必要在錯誤處理程序內插入Resume 語句,以便在完成出 錯處理之后能通過Resume 語句返回。常用內置函數(shù) 除了建立函數(shù)過程外,Visual Basic還提供了豐富的內置函
39、數(shù)可用于程序設計,包括:數(shù)學函數(shù) 、字符串函數(shù) 、判斷函數(shù)、轉換函數(shù)等方面的函數(shù)。數(shù)學函數(shù)數(shù)學函數(shù)主要用來完成數(shù)學運算,常用的有 :1. Sin(x)返回X的正弦值,X的單位為弧度。2. Cos(x)返回X的余弦值,X的單位為弧度。 3. Tan(x)返回X的正切值,X的單位為弧度。4. Atan(x)返回X的反正切值,返回值單位為弧度。 5. Log(x)返回X的自然對數(shù)。 6. Exp(x)返回以e為底的X的指數(shù)值。 數(shù)學函數(shù)7. Sqr(x)返回參數(shù)X的平方根值。 8. Abs(x)返回X的絕對值。 9. Hex(x)以字符串形式返回X的十六進制值。10. Oct(x)以字符串形式返回X
40、的八進制值。 11. Rnd(x)產生一個介于01之間的單精度隨機數(shù)。 12. Int(x)去掉小數(shù)部分,返回整數(shù)。 13. Fix(x)去掉小數(shù)部分,返回整數(shù)。 字符串函數(shù)常用的字符串函數(shù)有: 1. InStr(起始位置,字符串1,字符串2,比較類型) 字符串2在字符串1中第一次出現(xiàn)的位置。 2. InStrRev(字符串1, 字符串2起始位置,比較類型 與InStr()函數(shù)相似,只是從字符串1的后面開始向前查找。3. LTrim(字符串) 去掉字符串左邊的空白部分。 4. Rtrim(字符串) 去掉字符串右邊的空白部分。 5. Trim(字符串) 去掉字符串的左右空格 。 6. Left(
41、字符串,個數(shù)) 取出字符串左邊指定個數(shù)的字符 。 字符串函數(shù)7. Right(字符串,個數(shù)) 取出字符串右邊指定個數(shù)的字符。8. Mid(字符串,起始位置,個數(shù)) 取字符串由起始位置開始的指定個數(shù)的字符。 9. Len(字符串或字符變量) 計算字符長度 。10. Ucase(字符串) 將字符串的小寫字母轉換為大寫字母。11. Lcase(字符串) 將字符串的大寫字母轉換為小寫字母。 12. Space(個數(shù)) 返回指定個數(shù)的空字符串。 13. String(個數(shù),字符)返回包含重復字符的字符串 。判斷函數(shù)1. IsArray(變量名)判斷變量是否為數(shù)組。 2. IsDate(表達式)判斷表達式
42、是否為日期。 3. IsEmpty(變量)判斷變量是否已被初始化。 4. IsNumeric(表達式)判斷表達式是否為數(shù)字型。 5. Iff(表達式,真部分,假部分)計算真假兩部分的值,再計算表達式的值。若表達式為True,返回真部分的值;否則, 返回假部分的值。 轉換函數(shù)轉換函數(shù)用來實現(xiàn)不同類型數(shù)據(jù)之間的轉換。 1. Str(數(shù)值表達式)把數(shù)值轉換為字符串。 2. Val(字符串)把字符串轉換為數(shù)字數(shù)值,忽略字符串中的非數(shù)字字符。 類與對象 在面向對象程序設計中,抽象的方法是通過“類”來體現(xiàn)的?!邦悺彼从车氖且粋€群體事物的共同數(shù)據(jù)特征與功能特征,例如,人、男人、女人、汽車、房子,等等,即
43、可以被當作為“類”來看待,它們都有自己的一些共同的數(shù)據(jù)特征與功能特征。 對象是“類的實例”,是類的具體化的結果,它對應于個體,例如,某個人、某所房子、某部汽車。但是,對象需要通過類來定義,以確定它的屬性、方法、事件等。 控件是Visual Basic 中最常用的“類”或“對象”。其中,位于“工具箱”上的控件是控件類,它們是抽象的。但當把“工具箱”上圖標所代表的控件類拖入到用戶設計界面時,這個抽象的控件類就成為了一個具體的控件對象。 屬性、方法與事件 屬性體現(xiàn)為對象的數(shù)據(jù)成員。對象的諸多特征需要通過其屬性體現(xiàn)。對象的方法是對象的行為動作。例如:Command1.SetFocus,就是使命令按鈕C
44、ommand1獲得焦點。若方法是公有的,則能夠被外部語句調用,它是對象提供給外部的功能接口。對象還可以具有事件,它是對象對于在它身上所發(fā)生的事情的響應。當對象的某些方面有所變動時就將觸發(fā)這些方面的事件。例如:當鼠標被單擊,或鍵盤受到敲擊時,就觸發(fā)了有焦點對象的Click、MouseDown、MouseUp、KeyDown、KeyUp、KeyPress等有關事件。使用對象 對象可以通過對象變量來引用,或通過對象變量創(chuàng)建一個新的對象實例。 (1)聲明對象變量Dim | ReDim | Static | Private | Public 對象變量As New class(2)把對象賦予對象變量Set
45、 對象變量 = New 對象(3)釋放對象 Set obj= Nothing創(chuàng)建自定義類 Visual Basic中的自定義類是通過類模塊文件建立的,其基本成分是屬性、方法與事件。(1)定義屬性通過Property Get過程與Property Let過程能夠實現(xiàn)對屬性的定義。(2)定義方法通過類模塊中的通用過程或函數(shù)過程能夠定義類的方法。(3)定義事件類中事件的定義需要分兩步完成,首先需要聲明事件,然后再在代碼的其它位置激發(fā)事件。創(chuàng)建自定義類 Visual Basic中的自定義類是通過類模塊文件建立的,其基本成分是屬性、方法與事件。(1)定義屬性通過Property Get過程與Proper
46、ty Let過程能夠實現(xiàn)對屬性的定義。(2)定義方法通過類模塊中的通用過程或函數(shù)過程能夠定義類的方法。(3)定義事件類中事件的定義需要分兩步完成,首先需要聲明事件,然后再在代碼的其它位置激發(fā)事件。使用API函數(shù)編程 API函數(shù)是指Microsoft Windows 操作系統(tǒng)所提供的動態(tài)鏈接庫(DLL)中的函數(shù)。當要用到Visual Basic 核心語言和控件未包含的功能時,往往需要調用動態(tài)鏈接庫中的函數(shù)。在使用API函數(shù)之前必須聲明,并需要在聲明中指定其位置和函數(shù)的參數(shù)格式。可以使用 Declare 語句,在模塊聲明部分對API函數(shù)進行聲明。可以使用 API瀏覽器查看保存在文本文件中的API聲
47、明語句、常數(shù)、類型。找到自己需要的API函數(shù)之后,可以將代碼復制到Visual Basic 應用程序中,或直接插入到當前Visual Basic工程的當前模塊中去。第4章 可視化編程 窗體控件事件驅動窗體 窗體是 Visual Basic 應用程序的基本構造模塊,是運行應用程序時,用戶進行交互操作的窗口或對話框。其固有成分是:圖標、標題欄、控制菜單、控制按鈕和工作區(qū)(容器)。 窗體屬性(1) 窗體的個性是通過其屬性體現(xiàn)的,其可以在設計時通過“屬性”窗口設置,也可以在運行時由代碼來實現(xiàn)。窗體的常用屬性是: 1. Name 窗體的名稱 。 2. Appearance 3D 效果 。 3. Bord
48、erStyle設置窗體邊框樣式。 4. Caption 窗體標題 。 5. ControlBox 設置窗體“控制菜單”。 6. Enabled 對用戶事件是否能作出反應 。窗體屬性(2) 7. Height(高)、Width(寬)窗體大小 。 8. Left(左)、Top(頂)窗體位置。 9. HelpContextID 幫助文件的上下文關聯(lián)編號 。 10. Icon 設置窗體圖標。 11. MDIChild 設置窗體是否被作為 MDI 子窗體 。 12. Moveable 設置是否能移動一個窗體。 13. StartupPosition 設置窗體啟動位置 。 14. Visible 設置窗體
49、是被顯示還是被隱藏 。窗體事件 事件的作用在于能夠對用戶的行為作出響應。窗體的常用事件有: 1. Load事件 發(fā)生在窗體被裝載時。 2. Activate 事件 當一個窗體變成活動窗體時 。 3. Deactivate 事件 當改變當前窗體時 。 4. Unload事件 當卸載窗體時 。 5. Resize 事件 當調整窗體的大小時。窗體的方法 窗體的方法也就是窗體所具有的行動方式。窗體上常用的方法有: 1. Show方法 用以顯示窗體。 2. Hide方法 用于隱藏窗體,但不能使其卸載。 3. Move方法 用以移動窗體到一定的坐標位置。 4. Refresh方法 強制全部重繪窗體及上面的
50、控件。 控件 控件是建立Visual Basic應用程序的基本元素。應該講,可視化設計就是通過控件實現(xiàn)的。能夠用于Visual Basic的控件數(shù)量眾多,一般將其分為兩個方面:內部固有控件、ActiveX 控件。用戶可以通過“工具箱”獲取各種控件。內部控件 內部控件是包含在Visual Basic系統(tǒng)內,可以直接使用的控件;因此具有相對較好的運行性能。 常用的內部控件有:命令按鈕 、文本框、標簽、框架 、列表框、組合框、復選框 、選項按鈕 、圖片框 、定時器、數(shù)據(jù)控件 等。CommandButton(命令按鈕) 當用戶需要交互式地控制應用程序的時候,最簡便的方法就是給用戶提供一個“命令按鈕”。
51、 命令按鈕的作用是:在用戶單擊它時,將會激發(fā)它的Click 事件。因此,將代碼寫入 命令按鈕的Click 事件過程,通過用戶單擊就可以執(zhí)行相關操作。 命令按鈕的常用屬性有: Cancel屬性 用于設置按鈕為取消按鈕。 Caption屬性 用于設置在命令按鈕上顯示的文本。 Style屬性 設置命令按鈕的外觀。 TextBox (文本框) TextBox(文本框)控件一般是用來接收或顯示輸入輸出信息,可用于編輯文本。 經常使用的文本框屬性有: Text屬性 用于設置顯示的文本內容。 MaxLength屬性 用于設置文本框中輸入字符串的長度限制。 MultiLine屬性 用于設置文本框是否以多行方式
52、顯示文本。 PasswordChar屬性 用于設置是否顯示用戶鍵入的字符。 ScrollBars屬性 用于設置文本框是否有垂直或水平滾動條。 Label(標簽) Label (標簽)控件是專門用來顯示文本的,因此用戶不能對標簽內的文本進行編輯。 一般被用作標題名。通常用標簽來標注本身不具有 Caption 屬性的控件。例如,可用 Label 控件為文本框、列表框、組合框等控件添加描述性的標簽。 標簽常用的屬性有: Caption 屬性 缺省屬性,設置標簽中顯示的文本內容。 AutoSize屬性 設置控件是否能自動調整以顯示所有的內容。 WordWrap屬性 該屬性設置控件是否擴大以顯示標題文字
53、。 Frame(框架) Frame(框架)控件是一個容器。框架的作用是能夠把其他的控件組織在一起形成控件組。這樣,當框架移動、隱藏時,其內的控件組也相應移動、隱藏。 框架的常用屬性有: Caption屬性 設置框架標題,使用戶了解框架的用途。 Enabled屬性 設置框架是否有效。 Visible屬性 設置框架是否可見。ListBox(列表框)(1) ListBox(列表框)控件用于顯示項目列表。用戶可以從列表框中的一系列選項中選擇一個或多個選項。 List屬性 設置列表框中包含的項。 Columns屬性 設置是水平滾動還是垂直滾動。 MultiSelect屬性設置是否能夠做多個選擇。 Lis
54、tIndex屬性 當前所選擇元素的下標。 ListCount屬性 列表中全部元素的個數(shù)。 Sorted 屬性 設置按字母順序排列項目。 ListBox(列表框)(2) 列表框經常用到的操作有: 1. 添加項目:列表框.AddItem item, index 例如:List1.AddItem “王平” 2. 刪除項目:列表框.RemoveItem index 例如:List1. RemoveItem 0 3. 獲得列表項目內容 :列表框.List(index) 例如:Text1.Text = List1.List(2) 4. 用 ListIndex 屬性判斷項目位置 。 5. 用 ListCou
55、nt 屬性返回項目數(shù) 。ComboBox(組合框) ComboBox(組合框)控件將文本框和列表框的功能結合在一起。有了這個控件,用戶可通過在組合框中輸入文本來選定項目,也可從列表中選定項目。 在使用方式上,組合框具有和列表框相似的特征。 組合框的特點是可由Style屬性設置三種組合樣式。 CheckBox(復選框) CheckBox(復選框)控件通常用于提供 Yes/No 或 True/False 的邏輯選擇。 復選框通過 Value 屬性指示其所處的狀態(tài)。 無論何時,當用戶單擊復選框時都將觸發(fā)其Click 事件。 OptionButton(選項按鈕) 選項按鈕被用來做從多個可選項中選擇一項
56、的操作。 選項按鈕和復選框控件看起來相似。因此,可以把復選框中的操作方法用到選項按鈕上來。它們之間的區(qū)別是:選項按鈕一般用于單項選擇,而復選框則可以用于多項選擇。 PictureBox(圖片框) 圖片框是用來顯示圖形的,但同時它又可以作為其它控件的容器。在做容器使用時,圖片框和Frame 控件類似。 圖片框經常用到的屬性是: Picture屬性 用于設置要加載的圖片。 AutoSize屬性 設置圖片框是否按圖片大小自動調整。 Timer(定時器) 定時器是一個響應時間的控件。它們獨立于用戶,編程后可用來在一定的時間間隔中周期性地執(zhí)行某項操作。 定時器有兩個關鍵屬性: Enabled屬性 當該屬
57、性為True時,定時器處于工作狀態(tài)。而當 Enabled 被設置為 False 時,它就會暫停操作而處于待命狀態(tài)。因此,定時器的 Enabled 屬性并不同于其它對象的 Enabled 屬性。 Interval屬性 定時器周期性事件之間的時間間隔(毫秒數(shù))。Data(數(shù)據(jù))控件 Data控件用于在程序中進行數(shù)據(jù)庫連接,并可以把數(shù)據(jù)庫中的信息通過窗體上的數(shù)據(jù)識別控件顯示、編輯和更新。 Data控件是依靠屬性來獲取對數(shù)據(jù)的連接的,在進行連接時其關鍵屬性有: Connect屬性 設置有待連接的數(shù)據(jù)庫類型。 DatabaseName屬性 設置連接的數(shù)據(jù)庫文件或目錄名稱。 RecordSource屬性
58、設置需要訪問的數(shù)據(jù)庫表的名稱。 ActiveX 控件 ActiveX 控件是外部控件,因此其存在形式不同于和Visual Basic融合在一起的內部控件。它們是以擴展名為 .ocx 的文件形式存在于Visual Basic系統(tǒng)之外,只在需要時才將其添加到工具箱中。 ActiveX 控件是對 Visual Basic 內部控件集合的擴充。例如:ADO Data控件,它是Data控件的功能擴充,可使Visual Basic具有更強的數(shù)據(jù)訪問能力。應該講,Visual Basic的諸多強大功能正是依靠ActiveX 控件獲得的。 經常使用的ActiveX 控件有:ADO Data 、數(shù)據(jù)組合 、數(shù)據(jù)
59、列表 、DataGrid 、公共對話框 、 RichTextBox 等。ADO Data 在使用ADO Data 控件之前需要在“部件”對話框中,選擇“Microsoft ADO Data Control”選項,將其引入到工具箱。 如同Data 控件,ADO Data 控件也是通過屬性實現(xiàn)了對數(shù)據(jù)源的連接。其用于連接的關鍵屬性是: ConnectionString屬性 設置數(shù)據(jù)源連接方式。 RecordSource屬性 設置記錄源類型、組成。 DataCombo 、 Data List 控件 為了使用DataCombo 和 Data List 控件,需要在“部件”對話框中,選擇“Microso
60、ft DataList Controls”選項。 DataCombo 和 DataList 控件與標準列表框、組合框控件極為相似,其不同在于DataCombo 、 DataList 控件具有更強的數(shù)據(jù)綁定能力。 DataCombo 、DataList 控件能實現(xiàn)兩方面的數(shù)據(jù)綁定。其一方面,可以通過DataSource、DataField屬性綁定到其將產生影響的目標數(shù)據(jù)的某個字段;另一方面,還可以通過RowSource、ListField屬性綁定到其列表所需數(shù)據(jù)的某個字段。 DataGrid 要用DataGrid 控件,需要在“部件”對話框中,選擇“Microsoft DataGrid Cont
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年新能源自卸車項目申請報告模式
- 建筑公司年終工作總結怎么寫
- 基于Workbench的汽車輪轂強度分析與疲勞壽命預測
- 大學生三下鄉(xiāng)支教社會實踐心得體會
- 拔叉夾具鑄造課程設計
- 幼兒園班級安全工作總結6篇
- 2024年度抗病毒藥物全球授權代理銷售合同3篇
- 2024年智能制造投資合作意向書模板3篇
- (2篇)在2025屆高考200天動員會上的講話
- 數(shù)字媒體技術應用專業(yè)國家技能人才培養(yǎng)工學一體化課程標準
- 浙江大學實驗報告(流體力學)
- 中式婚禮PPT幻燈片課件
- 初中生作文批改評語
- 淮海工學院數(shù)據(jù)庫原理與技術復習題及答案
- 建龍資料備案正版表格
- 解碼萬達商管運作架構:組織結構圖、各部管理職責
- 走進無字書圖書館(課堂PPT)
- 網(wǎng)絡安全運維培訓測試題
- 民政部主管社團管理辦法
- 內蒙古自治區(qū)重大建設項目檔案驗收實施細則
- 四方合作協(xié)議合同書(共4頁)
評論
0/150
提交評論