Visual-Basic-程序設(shè)計(jì)基礎(chǔ)全套電子課件完整版ppt整本書(shū)電子教案最全教學(xué)教程整套課件_第1頁(yè)
Visual-Basic-程序設(shè)計(jì)基礎(chǔ)全套電子課件完整版ppt整本書(shū)電子教案最全教學(xué)教程整套課件_第2頁(yè)
Visual-Basic-程序設(shè)計(jì)基礎(chǔ)全套電子課件完整版ppt整本書(shū)電子教案最全教學(xué)教程整套課件_第3頁(yè)
Visual-Basic-程序設(shè)計(jì)基礎(chǔ)全套電子課件完整版ppt整本書(shū)電子教案最全教學(xué)教程整套課件_第4頁(yè)
Visual-Basic-程序設(shè)計(jì)基礎(chǔ)全套電子課件完整版ppt整本書(shū)電子教案最全教學(xué)教程整套課件_第5頁(yè)
已閱讀5頁(yè),還剩398頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Visual Basic 程序設(shè)計(jì)基礎(chǔ)目 錄 第1章 Viaual Basic 概述 第2章 第一個(gè)Visual Basic 程序 第3章 Visual Basic 語(yǔ)言基礎(chǔ) 第4章 程序控制結(jié)構(gòu) 第5章 過(guò)程 第6章 面向?qū)ο蟪绦蛟O(shè)計(jì) 第7章 窗體的設(shè)計(jì) 第8章 控件的使用 第9章 菜單的設(shè)計(jì) 第10章 文件處理 第11章 數(shù)據(jù)庫(kù)應(yīng)用 第12章 程序調(diào)試與文件打包內(nèi)容簡(jiǎn)介 Visual Basic是優(yōu)秀的計(jì)算機(jī)應(yīng)用程序開(kāi)發(fā)軟件,提供了開(kāi)發(fā)Windows應(yīng)用程序最迅速、最簡(jiǎn)捷的方法,是國(guó)際通用的比較簡(jiǎn)單易懂的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。 本書(shū)主要介紹了Visual Basic的基礎(chǔ)知識(shí)、編寫(xiě)應(yīng)用程序的

2、一般步驟和方法、Visual Basic語(yǔ)言基礎(chǔ)、程序流程控制、過(guò)程、面向?qū)ο蟪绦蛟O(shè)計(jì)、窗體、控件、菜單的設(shè)計(jì)與應(yīng)用、文件管理、數(shù)據(jù)庫(kù)開(kāi)發(fā)、程序調(diào)試和發(fā)布應(yīng)用程序等12章內(nèi)容。最后給出了一個(gè)VB應(yīng)用程序的綜合開(kāi)發(fā)實(shí)例。教學(xué)計(jì)劃 參考學(xué)時(shí) 72學(xué)時(shí),1/3學(xué)時(shí)為上機(jī)操作。 教學(xué)過(guò)程 第一層次20學(xué)時(shí)左右,學(xué)習(xí)掌握Visual Basic的基礎(chǔ)知識(shí)、編寫(xiě)應(yīng)用程序的一般步驟和方法、Visual Basic語(yǔ)言基礎(chǔ)、程序流程控制和過(guò)程等內(nèi)容。 第二層次32學(xué)時(shí)左右,掌握面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)、窗體、控件、菜單的設(shè)計(jì)與應(yīng)用等內(nèi)容。 第三層次20學(xué)時(shí)左右,學(xué)習(xí)文件管理、數(shù)據(jù)庫(kù)開(kāi)發(fā)、程序調(diào)試和發(fā)布應(yīng)用程序等高

3、級(jí)功能。 第1章 Visual Basic 概述1.1 簡(jiǎn)述 Visual Basic1.2 Visual Basic 6.0 的安裝、啟動(dòng)與退出1.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境1.4 獲取幫助1.1 簡(jiǎn)述 Visual Basic “Visual”指的是可視化開(kāi)發(fā)圖形用戶界面 (GUI) 的方法。在設(shè)計(jì)過(guò)程中,用戶不需編寫(xiě)大量代碼,只要把各種對(duì)象添加到交互界面上即可,設(shè)計(jì)時(shí)看到的界面就是程序運(yùn)行時(shí)的外觀。 BASIC語(yǔ)言是一種國(guó)際通用的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。 Visual Basic有學(xué)習(xí)版、專業(yè)版和企業(yè)版三種版本,分別滿足不同的開(kāi)發(fā)需要。本書(shū)以學(xué)習(xí)版的Visual B

4、asic .0 簡(jiǎn)體中文版為開(kāi)發(fā)環(huán)境。 61.2 Visual Basic 6.0的安裝、啟動(dòng)與退出 VB的安裝 運(yùn)行環(huán)境 CPU:486DX/66 MHz 或更高的處理器。 內(nèi)存:24MB以上,Windows NT下要求32MB以上。 磁盤(pán)空間:典型安裝 48MB,完全安裝 80MB。 顯示器:VGA 或分辨率更高的監(jiān)視器。 安裝 VB:從 CD 盤(pán)上安裝。 VB的啟動(dòng)與退出 啟動(dòng)VB:選擇“開(kāi)始|程序Micrsoft Visual Basic 6.0 中文版Micrsoft Visual Basic 6.0 中文版”命令。 退出VB:選擇“文件|退出”命令。71.3 Visual Basi

5、c 6.0 的集成開(kāi)發(fā)環(huán)境 啟動(dòng)VB后,出現(xiàn) “新建工程”對(duì)話框。 在“新建”選項(xiàng)卡中,選中“標(biāo)準(zhǔn)EXE”項(xiàng),再單擊“打開(kāi)”按鈕,即進(jìn)入VB集成開(kāi)發(fā)環(huán)境。 建立新的工程打開(kāi)最近使用過(guò)的工程打開(kāi)已有的工程81.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境對(duì)象窗口工具欄菜單欄工具箱工程資源 管理器屬性窗口立即窗口窗體布局窗口VB的集成開(kāi)發(fā)環(huán)境91.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境 工具箱 利用工具箱中的工具可以設(shè)計(jì)用戶界面。 選項(xiàng)按鈕OLE對(duì)象文本框列表框驅(qū)動(dòng)器列表框文件列表框線條數(shù)據(jù)水平滾動(dòng)條 標(biāo) 簽框 架復(fù)選框組合框定時(shí)器目錄列表框形 狀選擇對(duì)象101.3 Visu

6、al Basic 6.0 的集成開(kāi)發(fā)環(huán)境 工程資源管理器 在該窗口中可以管理一個(gè)應(yīng)用程序程中使用的所有文件,如工程文件(Vbp)、窗體文件(Frm)、標(biāo)準(zhǔn)模塊文件(Bas)等。 工程文件 是與該工程有關(guān)的所有文件和對(duì)象的集合,這些文件和對(duì)象自動(dòng)鏈接到工程文件上。 工程文件窗體文件標(biāo)準(zhǔn)模塊文件工程資源管理器111.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境 對(duì)象窗口 也稱窗體設(shè)計(jì)器,用來(lái)設(shè)計(jì)應(yīng)用程序的界面。在該窗口中設(shè)計(jì)的窗體就是應(yīng)用程序運(yùn)行時(shí)所顯示的界面。 對(duì)象窗口窗體的設(shè)計(jì)界面窗體的運(yùn)行界面121.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境 屬性窗口 用來(lái)設(shè)置對(duì)象的各項(xiàng)屬

7、性。 對(duì)象框:顯示當(dāng)前被選定對(duì)象的名稱。 屬性列表框 左列顯示屬性項(xiàng)。 右列顯示屬性值。 說(shuō)明:顯示當(dāng)前屬性的簡(jiǎn)要說(shuō)明。對(duì)象框?qū)傩粤斜砜蛘f(shuō)明131.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境 代碼窗口 用來(lái)編寫(xiě)各種通用過(guò)程和事件過(guò)程的代碼。 打開(kāi)代碼窗口的方法有: 雙擊窗體的任意位置或窗體上的任意控件。 右擊窗體,從快捷菜單中選擇“查看代碼”命令。 選擇“視圖|代碼窗口”命令。過(guò)程列表框代碼編輯區(qū)對(duì)象列表框141.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境 窗體布局窗口 用來(lái)設(shè)置應(yīng)用程序中各窗體運(yùn)行時(shí)出現(xiàn)在屏幕上的位置。窗口中有一個(gè)代表屏幕的圖像,拖動(dòng)其中的窗體圖標(biāo),可以調(diào)

8、整窗體在屏幕上的顯示位置。 窗體圖標(biāo)151.3 Visual Basic 6.0 的集成開(kāi)發(fā)環(huán)境 附加窗口 調(diào)試程序時(shí)利用立即窗口、本地窗口和監(jiān)視窗口等附加窗口,可以在程序中斷狀態(tài)下查詢表達(dá)式的值和命令執(zhí)行的結(jié)果。 161.4 獲取幫助 執(zhí)行“幫助”菜單中的“內(nèi)容”、“索引”、“搜索”命令,可啟動(dòng) “MSDN Library Visual Studio 6.0”幫助程序,獲取幫助信息。訪問(wèn)幫助信息的方法 171.4 獲取幫助VB 的幫助界面18第2章 第一個(gè)Visual Basic 6.0 程序 2.1 工程管理 2.1.1 工程的創(chuàng)建、打開(kāi)和保存 2.1.2 文件的添加、保存和移除 2.1.

9、3 設(shè)置工程屬性2.2 程序設(shè)計(jì) 2.2.1 創(chuàng)建用戶界面 2.2.2 設(shè)置屬性 2.2.3 編寫(xiě)代碼2.1 工程管理 工程是用來(lái)建造應(yīng)用程序的文件的集合。 用VB創(chuàng)建應(yīng)用程序,首先要建立工程。 202.1.1 工程的創(chuàng)建、打開(kāi)和保存 創(chuàng)建工程 有兩種方法: 啟動(dòng)VB時(shí),在“新建工程”對(duì)話框中,選擇“新建”選項(xiàng)卡下的“標(biāo)準(zhǔn)EXE”項(xiàng)。 啟動(dòng)VB后,選擇“文件|新建工程”命令,打開(kāi)“新建工程”對(duì)話框,選擇“標(biāo)準(zhǔn)EXE”項(xiàng)。 建立工程后,工程資源管理器中會(huì)顯示新建的工程,并在工程中自動(dòng)創(chuàng)建一個(gè)名為“Form1”的窗體。 212.1.1 工程的創(chuàng)建、打開(kāi)和保存 保存工程 選擇“文件|保存工程”命令。

10、 先保存窗體文件(.frm),再保存工程文件(.vbp)。 222.1.1 工程的創(chuàng)建、打開(kāi)和保存執(zhí)行保存操作后,工程資源管理器中的顯示結(jié)果:工程文件名窗體文件名工程名稱窗體名稱232.1.1 工程的創(chuàng)建、打開(kāi)和保存 打開(kāi)工程 選擇“文件|打開(kāi)工程”命令。242.1.2 文件的添加、保存和移除 添加文件 選擇“工程”菜單中的“添加”命令。例如,要添加一個(gè)窗體,可以選擇“工程|添加窗體”命令。添加的新窗體12252.1.2 文件的添加、保存和移除 保存文件 在工程資源管理器中選定要保存的文件,執(zhí)行“文件|保存 ” 命令。修改文件后,要用新的文件名或新的路徑重新保存,執(zhí)行“文件|另存為”命令。 將

11、Form2窗體保存為“Login.frm”262.1.2 文件的添加、保存和移除 移除文件 在工程資源管理器中選定要移除的文件,執(zhí)行“工程|移除 ”命令。 例如,選擇“文件|移除Login.frm”命令可以從當(dāng)前工程中移除該窗體文件。 移除文件只是將該文件從工程中移走,而不是將它從磁盤(pán)中刪除,被移除的文件仍存在于磁盤(pán)上,需要的時(shí)候還可以將它添加到工程中。272.1.3 設(shè)置工程屬性 選擇“工程|工程1屬性”命令,打開(kāi)“工程屬性”對(duì)話框。 在“通用”選項(xiàng)卡中,可以更改工程名稱、設(shè)置啟動(dòng)對(duì)象等。 例如,將默認(rèn)的工程名稱“工程1”改為“教學(xué)管理系統(tǒng)”。新的工程名稱工程文件名282.1.3 設(shè)置工程屬

12、性 工程名稱是該工程在程序代碼中的標(biāo)識(shí),不能以非字母字符開(kāi)頭,且不能包含點(diǎn)(.)和空格,長(zhǎng)度不超過(guò)37個(gè)字符。 “啟動(dòng)對(duì)象”用于選擇程序運(yùn)行的起始點(diǎn),可以是工程中的一個(gè)窗體(默認(rèn)為Form1窗體),或者是Sub Main主程序(編寫(xiě)無(wú)窗體的應(yīng)用程序時(shí),應(yīng)將啟動(dòng)對(duì)象設(shè)置為“Sub Main”過(guò)程)。292.2 程序設(shè)計(jì) 在VB中設(shè)計(jì)程序的一般步驟創(chuàng)建用戶界面設(shè)置對(duì)象屬性編 寫(xiě) 代 碼保 存 程 序運(yùn) 行 程 序302.2.1 創(chuàng)建用戶界面 創(chuàng)建用戶界面就是將構(gòu)成界面的各種控件對(duì)象,如文本框、列表框、命令按鈕等添加到窗體上。 添加控件 在工具箱中選擇要添加的控件按鈕。 在窗體上用鼠標(biāo)拖出控件的大小

13、。 拖出控件大小在窗體上添加的命令按鈕312.2.1 創(chuàng)建用戶界面【例2.1】 在“教學(xué)管理系統(tǒng)”工程的“Form1”窗體上添加標(biāo)簽控件、定時(shí)器控件和命令按鈕控件,設(shè)計(jì)一個(gè)歡迎界面。 定時(shí)器是不可見(jiàn)控件,運(yùn)行時(shí)不會(huì)顯示出來(lái)。 標(biāo)簽控件命令按鈕定時(shí)器控件322.2.1 創(chuàng)建用戶界面 調(diào)整控件大小 在窗體中單擊控件選定它,控件四周出現(xiàn)8個(gè)黑色小方塊。 拖動(dòng)邊角上的方塊可以按比例改變控件大小。 拖動(dòng)四邊上的方塊可以在水平或垂直方向上改變控件大小。 按住Shift鍵同時(shí)按下鍵盤(pán)上的方向鍵可以將控件每次縮放一個(gè)網(wǎng)格單元的大?。ㄈ绻P(guān)閉網(wǎng)格,則每次縮放一個(gè)像素大?。?在“屬性”窗口中設(shè)置控件的Width

14、(寬度)和Height(高度)屬性值,可以精確地調(diào)整控件大小。332.2.1 創(chuàng)建用戶界面 移動(dòng)控件 方法有: 用鼠標(biāo)將窗體上的控件拖動(dòng)到新位置。 選定控件后,按住 Ctrl 鍵同時(shí)按下鍵盤(pán)上的方向鍵,可以將控 件每次移動(dòng)一個(gè)網(wǎng)格單元的位置。 在“屬性”窗口中設(shè)置控件的Top(頂部)和Left(左側(cè))屬性值,可以 精確地調(diào)整控件在窗體上的位置。 復(fù)制控件 選中要復(fù)制的控件,執(zhí)行“編輯”菜單中的“復(fù)制”和“粘貼”命令,系統(tǒng)會(huì)彈出一個(gè)消息框,詢問(wèn)是否“創(chuàng)建一個(gè)控件數(shù)組”,選擇“是”,則在窗體上創(chuàng)建一個(gè)控件數(shù)組;選擇“否”,則在窗體上得到該控件的副本,副本的所有屬性與原控件相同。 342.2.1 創(chuàng)

15、建用戶界面 刪除控件 選中要?jiǎng)h除的控件,按 Delelte鍵。 控件的布局 步驟是: 按住Shift鍵再用鼠標(biāo)依次單擊各對(duì)象,同時(shí)選定多個(gè)控件。 執(zhí)行“格式”菜單中的“對(duì)齊”、“順序”等布局命令。 Command2 置后Command2 置前執(zhí)行“順序|置前”命令執(zhí)行“順序|置后”命令352.2.1 創(chuàng)建用戶界面 鎖定控件 執(zhí)行“格式|鎖定控件”命令,可以鎖定當(dāng)前窗體中的所有控件, 防止被移動(dòng)或被改變大小。 控件被鎖定后就不能用鼠標(biāo)操作來(lái)移動(dòng)位置或改變大小,但仍可在“屬性”窗口中改變控件的Top、Left、Width、Height 屬性。 解除鎖定 再次執(zhí)行“格式|鎖定控件”命令,可以解除對(duì)控

16、件的鎖定(此時(shí),鎖定控件項(xiàng)左邊的鎖頭標(biāo)記從凹陷狀態(tài)恢復(fù)為正常狀態(tài))。 362.2.2 設(shè)置屬性 在“屬性”窗口中可以為窗體及其界面元素設(shè)置屬性。 在窗體設(shè)計(jì)器中選中需要設(shè)置屬性的對(duì)象。 在“屬性”窗口的屬性列表框中選擇要修改的屬性,若屬性項(xiàng)右側(cè)顯示插入點(diǎn)光標(biāo),則可以直接輸入屬性值;若屬性項(xiàng)帶按鈕,則單擊此按鈕會(huì)彈出一個(gè)對(duì)話框,可以用來(lái)設(shè)置相應(yīng)的屬性值;若屬性項(xiàng)帶按鈕,則可以雙擊該屬性值遍歷所有選項(xiàng),或者單擊此按鈕,在出現(xiàn)的一個(gè)下拉列表中選擇相應(yīng)的屬性值。 372.2.2 設(shè)置屬性【例 2.2】 為例2.1中創(chuàng)建的Form1窗體中的對(duì)象設(shè)置屬性。選中窗體對(duì)象,在屬性列表框中單擊“Caption”

17、屬性項(xiàng),將默認(rèn)的“Form1”改為“歡迎界面” 。 選中標(biāo)簽控件,將“Height”屬性值改為525,將“Width”屬性值改為4200。選中命令按鈕控件,將“Caption”屬性值改為“確定”。選中定時(shí)器控件,將“Interval”屬性值改為600。 設(shè)計(jì)階段為窗體及各控件設(shè)置的屬性,有些可以直接反映在窗體設(shè)計(jì)器中。 382.2.2 設(shè)置屬性設(shè)置窗體的Caption屬性窗體對(duì)象標(biāo)簽對(duì)象設(shè)置標(biāo)簽的屬性392.2.2 設(shè)置屬性設(shè)置命令按鈕的屬性命令按鈕對(duì)象設(shè)置定時(shí)器的屬性定時(shí)器對(duì)象402.2.3 編寫(xiě)代碼 編寫(xiě)事件代碼 方法是: 雙擊窗體或窗體中需要編寫(xiě)響應(yīng)代碼的控件,打開(kāi)代碼窗口。 在“過(guò)程”

18、列表框中,選擇一個(gè)響應(yīng)事件,如Load、Click等。然后在 Sub 和 End Sub 語(yǔ)句之間輸入代碼。 例如,為命令按鈕編寫(xiě)Click事件代碼。系統(tǒng)設(shè)定 的代碼注釋信息一行一條語(yǔ)句,按回車鍵換行412.2.3 編寫(xiě)代碼【例2.3】 為例2.1中的命令按鈕和定時(shí)器控件編寫(xiě)事件代碼。 運(yùn)行結(jié)果422.2.3 編寫(xiě)代碼【例2.4】 在“教學(xué)管理系統(tǒng)”工程的“Form2”窗體上添加標(biāo)簽控件、文本框控件和命令按鈕控件,設(shè)計(jì)一個(gè)登錄界面。 設(shè)置屬性后的窗體界面在窗體上添加控件標(biāo)簽文本框命令按鈕432.2.3 編寫(xiě)代碼運(yùn)行時(shí)的窗體界面44第3章 Visual Basic 語(yǔ)言基礎(chǔ)3.1 數(shù)據(jù)類型 3.

19、1.1 數(shù)值型數(shù)據(jù) 3.1.2 字符型數(shù)據(jù) 3.1.3 布爾型數(shù)據(jù) 3.1.4 日期型數(shù)據(jù) 3.1.5 變體型數(shù)據(jù) 3.1.6 對(duì)象型數(shù)據(jù) 3.1.7 自定義類型45第3章 Visual Basic 語(yǔ)言基礎(chǔ) 3.2變量 3.3 常量 3.4 數(shù)組 3.4.1 靜態(tài)數(shù)組 3.4.2 動(dòng)態(tài)數(shù)組 3.4.3清空數(shù)組 3.4.4訪問(wèn)整個(gè)數(shù)組 3.4.5 多維數(shù)組46第3章 Visual Basic 語(yǔ)言基礎(chǔ)3.5 運(yùn)算符 3.5.1 賦值運(yùn)算符 3.5.2 算術(shù)運(yùn)算符 3.5.3 連接運(yùn)算符 3.5.4 日期運(yùn)算符 3.5.5 比較運(yùn)算符 3.5.6 邏輯運(yùn)算符 3.5.7 位運(yùn)算符47第3章 Vi

20、sual Basic 語(yǔ)言基礎(chǔ)3.6 函數(shù) 3.6.1 輸入輸出函數(shù) 3.6.2 數(shù)學(xué)函數(shù) 3.6.3 字符處理函數(shù) 3.6.4 日期函數(shù) 3.6.5 格式化函數(shù) 3.6.6 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 3.6.7 測(cè)試函數(shù)3.7 語(yǔ)句 483.1 數(shù)據(jù)類型 數(shù)據(jù)類型決定了數(shù)據(jù)的存儲(chǔ)和運(yùn)算方式。VB的數(shù)據(jù)類型493.1.1 數(shù)值型數(shù)據(jù) 整型(Integer) 整型數(shù)據(jù)用來(lái)表示不帶小數(shù)點(diǎn)的數(shù)值。 如:10、+256、0、-68 整型數(shù)也可以用十六進(jìn)制數(shù)表示,以&H開(kāi)頭,數(shù)據(jù)位數(shù)不超過(guò)4位,范圍為 &HO &HFFFF,如:&H64表示十進(jìn)制數(shù)100,&HA6表示十進(jìn)制數(shù)166。 長(zhǎng)整型(Long) 與整型

21、類似,但取值范圍比整型數(shù)大。 整型或長(zhǎng)整型數(shù)據(jù)的運(yùn)算速度較快,而且比其它數(shù)據(jù)類型占據(jù)的內(nèi)存要少。 字節(jié)型(Byte) 可用來(lái)表示無(wú)符號(hào)的整數(shù),不能表示負(fù)數(shù)。除一元減法外,所有可對(duì)整數(shù)進(jìn)行操作的運(yùn)算符均可操作 Byte 數(shù)據(jù)類型。 Byte 數(shù)據(jù)類型在存儲(chǔ)二進(jìn)制數(shù)據(jù)時(shí)很有用。503.1.1 數(shù)值型數(shù)據(jù) 單精度浮點(diǎn)型(Single) 浮點(diǎn)型數(shù)據(jù)用來(lái)表示一個(gè)實(shí)數(shù),小數(shù)點(diǎn)可以放在數(shù)字的任何位置。 單精度數(shù)的最大有效位數(shù)為7,超過(guò)7位時(shí),四舍五入。如: -4.5、12.3、+12.34、0.0069、-31.24683 雙精度浮點(diǎn)型(Double) 雙精度數(shù)比單精度數(shù)的取值范圍大,最大有效位數(shù)為15 。

22、如: -123456789012345、0.98765432101234、1234567890.12345 貨幣型(Currency) 貨幣型數(shù)據(jù)可表示15位整數(shù)和4位小數(shù),是一個(gè)定點(diǎn)數(shù)據(jù)類型(小數(shù)點(diǎn)位置固定),適用于貨幣計(jì)算。其精度高于單精度和雙精度浮點(diǎn)數(shù)。513.1.2 字符型數(shù)據(jù) 字符型數(shù)據(jù)(String) 是用雙引號(hào)(”)括起來(lái)的一串字符,包括漢字、字母、數(shù)字、符號(hào)等,如: Visual Basic、教學(xué)管理系統(tǒng)V1.0、123456789“ 字符串的類型 變長(zhǎng)字符串 是指字符串的長(zhǎng)度可以改變。當(dāng)給一個(gè)變長(zhǎng)字符串變量賦予不同的值時(shí),其長(zhǎng)度可增可減。 定長(zhǎng)字符串 是指在程序執(zhí)行過(guò)程中,長(zhǎng)

23、度始終保持不變的字符串。例如,定義一個(gè)長(zhǎng)度為20個(gè)字符的字符串變量: Dim strTemp As String *20 如果賦予字符串的字符少于20個(gè),則不足部分用空格填充;如果超過(guò)20個(gè),則多出的字符被截去。 523.1.2 字符型數(shù)據(jù)【例3.2】 字符型數(shù)據(jù)的使用。選擇“文件|新建工程”命令,新建一個(gè)“標(biāo)準(zhǔn)EXE”類型的工程文件。然后執(zhí)行“工程|添加模塊”命令,在當(dāng)前工程中添加一個(gè)名為“Module1(Module1)”的模塊。在工程資源管理器中右擊“工程1”項(xiàng),從快捷菜單中選擇“工程1屬性”命令,打開(kāi)“工程屬性”對(duì)話框,選擇“通用”選項(xiàng)卡,從“啟動(dòng)對(duì)象”下拉列表框中選擇“Sub Mai

24、n”選項(xiàng)。當(dāng)編寫(xiě)無(wú)窗體的應(yīng)用程序時(shí),必須將啟動(dòng)對(duì)象設(shè)置為“Sub Main”過(guò)程,作為程序運(yùn)行的起始點(diǎn)。 在代碼窗口中輸入代碼。結(jié)果在立即窗口中輸出。533.1.2 字符型數(shù)據(jù)運(yùn)行結(jié)果543.1.2 字符型數(shù)據(jù) 說(shuō)明: VB是用雙引號(hào)來(lái)標(biāo)識(shí)字符串的,當(dāng)遇到第一個(gè)“時(shí),系統(tǒng)就認(rèn)為是字符串的開(kāi)始,當(dāng)遇到下一個(gè)”時(shí),就認(rèn)為是字符串的結(jié)束。 當(dāng)字符串本身要包含“時(shí),可以輸入兩個(gè)連續(xù)的”“,這時(shí)VB就會(huì)判定它是一個(gè)單純的雙引號(hào),而不會(huì)將它作為字符串的開(kāi)始或結(jié)束標(biāo)志。 例如,要顯示字符串This is my first VB program, 可以在立即窗口中輸入以下語(yǔ)句: ? This is my fi

25、rst VB program553.1.3 布爾型數(shù)據(jù) 布爾型數(shù)據(jù)(Boolean) 只有兩個(gè)值:真(True)和假(False),通常用來(lái)表示邏輯判斷的結(jié)果,也稱之為邏輯型數(shù)據(jù)。 任何只有兩種狀態(tài)的數(shù)據(jù),如真/假、是/否、開(kāi)/關(guān)等,都可以用Boolean型表示。 說(shuō)明: 當(dāng)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為Boolean型時(shí),0會(huì)轉(zhuǎn)換為False,其他非0值轉(zhuǎn)換為True。 當(dāng)把Boolean值轉(zhuǎn)換為數(shù)值型時(shí),F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換為-1。 563.1.4 日期型數(shù)據(jù) 日期型數(shù)據(jù)(Date) 用來(lái)表示日期和時(shí)間。Date型數(shù)據(jù)要用兩個(gè)“#”號(hào)作為定界符,例如: 2003年1月12日表示為: #1/

26、12/2003# 2003年1月12日下午1時(shí)20分45秒表示為: #1/12/2003 1:20:45 pm# 如果輸入的日期或時(shí)間是非法的,系統(tǒng)將顯示出錯(cuò)信息。573.1.5 變體型數(shù)據(jù) 變體型數(shù)據(jù)(Variant) 能夠表示任何數(shù)據(jù)類型。 把常量賦予Variant型數(shù)據(jù)時(shí),VB按以下規(guī)則判定其類型: 用雙引號(hào)括起來(lái)的數(shù)據(jù)是字符型 用#號(hào)括起來(lái)的數(shù)據(jù)是日期型 值為True或False的數(shù)據(jù)是布爾型 對(duì)于數(shù)值型數(shù)據(jù),如果不含小數(shù)位,且大小不超出整型數(shù)范圍就被看作是整型;如果數(shù)值大于整型數(shù)范圍但不超過(guò)長(zhǎng)整型數(shù)范圍,就被看作是長(zhǎng)整型;除此以外,其它的數(shù)值型數(shù)據(jù)都被看作雙精度浮點(diǎn)型。583.1.6

27、 對(duì)象型數(shù)據(jù) 對(duì)象型數(shù)據(jù)(Object) 用來(lái)存儲(chǔ)應(yīng)用程序中的某個(gè)對(duì)象,用4個(gè)字節(jié)來(lái)表示該對(duì)象在內(nèi)存中的地址引用。 一個(gè)被聲明為 Object 的變量可以引用應(yīng)用程序所識(shí)別的任何對(duì)象。例如: Dim objDb As Object Set objDb = OpenDatabase (c:Vb6Biblio.mdb) 上述兩條語(yǔ)句首先聲明一個(gè)名為objDb的對(duì)象型變量,然后引用了應(yīng)用程序中的一個(gè)數(shù)據(jù)庫(kù)對(duì)象。 593.1.7 自定義類型 自定義類型 用Type語(yǔ)句創(chuàng)建,可以包含多個(gè)不同類型的數(shù)據(jù)元素、數(shù)組或一個(gè)已定義過(guò)的自定義類型。 例如,自定義一個(gè)名為Student的數(shù)據(jù)類型: Type Stu

28、dent Dim Number As Long 聲明Number為長(zhǎng)整型變量 Dim Name As String 聲明Name為字符型變量 Dim Birthday As Date 聲明Birthday為日期型變量 Dim Sex As Boolean 聲明Sex為布爾變量 End Type 603.2 變量 變量 是指在數(shù)據(jù)處理過(guò)程中其值可以改變的量。 每個(gè)變量都有一個(gè)名字(變量名)和一種數(shù)據(jù)類型,(確定該變量能夠存儲(chǔ)哪種數(shù)據(jù))。 變量的命名 變量必須以字母開(kāi)頭,由漢字、字母、數(shù)字或下劃線組成,不能包含空格、!、#、$、%、&、.等字符,且長(zhǎng)度不超過(guò)256個(gè)字符。 不能使用VB中的關(guān)鍵字、

29、對(duì)象名稱或?qū)傩悦Q。613.2 變量 變量的聲明 格式: Dim As 數(shù)據(jù)類型, As 數(shù)據(jù)類型 功能:聲明變量并分配存儲(chǔ)空間。 使用AS類型子句可以指定變量的數(shù)據(jù)類型,如果沒(méi)有指定數(shù)據(jù)類型,默認(rèn)為Variant型。 聲明一個(gè)變量后,該變量的初始值默認(rèn)為:數(shù)值型數(shù)據(jù)為0,字符型數(shù)據(jù)為空字符串(),日期時(shí)間型數(shù)據(jù)為0:00:00,邏輯型數(shù)據(jù)為False。623.2 變量例如,下列語(yǔ)句分別聲明了String 、Date和 Single類型的變量: Dim strName As String Dim datBirthday As Date Dim fltScore As Single 在 Dim

30、語(yǔ)句中聲明多個(gè)變量時(shí),如果沒(méi)有用As子句指定類型,就被認(rèn)為是Variant類型。例如: Dim strName As String, datBirthday As Date 該語(yǔ)句分別聲明了一個(gè)字符型變量和一個(gè)日期型變量。 Dim strName, strAddress As String 該語(yǔ)句將strAddress聲明為字符型變量,strName默認(rèn)為Variant型變量。633.2 變量 變量的隱式聲明 先用Dim語(yǔ)句聲明一個(gè)變量,然后再使用該變量的方式稱作顯式聲明。 不事先聲明某個(gè)變量而直接在程序中使用的方式稱作隱式聲明。在執(zhí)行程序時(shí),VB會(huì)根據(jù)該變量名自動(dòng)創(chuàng)建一個(gè)Variant型變量

31、。 643.2 變量 強(qiáng)制聲明變量 方法是: 在程序開(kāi)頭加上一條語(yǔ)句:Option Explicit。 選擇“工具|選項(xiàng)”命令,選中“要求變量聲明”選項(xiàng)。VB將會(huì)在任何一個(gè)新建立的模塊中自動(dòng)插入Option Explicit語(yǔ)句。 653.2 變量 類型聲明字符 在變量名的后面加一個(gè)類型聲明字符,也可以指定變量的數(shù)據(jù)類型。 常用類型聲明字符 663.2 變量 在Dim語(yǔ)句中可以使用類型聲明符號(hào)來(lái)代替“As”子句。 例如:Dim iTemp% 等同于 Dim iTemp As Integer 當(dāng)一個(gè)變量未經(jīng)聲明第一次使用時(shí),若后面加上了類型聲明字符,就會(huì)被自動(dòng)聲明為該類型聲明字符所代表的數(shù)據(jù)類型

32、。 例如: a% = 55 隱式聲明變量a并指定其數(shù)據(jù)類型為整型 給Variant型變量賦值時(shí),可以使用類型聲明字符指定類型。 例如:Dim varTemp As Variant varTemp = 10& 指定varTemp中存儲(chǔ)的數(shù)據(jù)為長(zhǎng)整型673.3 常量 常量 指在程序運(yùn)行過(guò)程中其值始終保持不變的量。 類型 系統(tǒng)常量 是系統(tǒng)內(nèi)部預(yù)定義的常量,以小寫(xiě)的vb字母開(kāi)頭,如:vbRed(代表紅色數(shù)值)。在程序中可以直接使用系統(tǒng)常量。 用戶定義的常量 使用Const語(yǔ)句自定義的常量。 格式:Const As 數(shù)據(jù)類型 = 功能:聲明用于代替文字量的常數(shù)。例如,自定義一個(gè)雙精度浮點(diǎn)型常量Pi: C

33、onst Pi = 3.1415926 用Const語(yǔ)句定義常量后,就可以在程序的其他位置使用這個(gè)常量,但不能再用任何代碼去改變?cè)摮A康闹怠?683.4 數(shù)組 數(shù)組是內(nèi)存中連續(xù)的一片存儲(chǔ)區(qū)域,由一組稱為數(shù)組元素的變量組成。每個(gè)數(shù)組元素通過(guò)數(shù)組名和相應(yīng)的索引編號(hào)被引用。 通常情況下,一個(gè)數(shù)組中的所有元素具有相同的數(shù)據(jù)類型,數(shù)組的數(shù)據(jù)類型可以聲明為任何一種基本數(shù)據(jù)類型(包括用戶自定義類型和對(duì)象類型);當(dāng)數(shù)據(jù)類型為Variant時(shí),各個(gè)元素能夠包含不同種類的數(shù)據(jù)。 第1個(gè)元素 第2個(gè)元素 第3個(gè)元素 第4個(gè)元素 第5個(gè)元素 第6個(gè)元素內(nèi)存中的數(shù)組元素 數(shù)組示意圖693.4.1 靜態(tài)數(shù)組 靜態(tài)數(shù)組 是

34、指在程序運(yùn)行過(guò)程中大小固定不變的數(shù)組。 聲明靜態(tài)數(shù)組 格式1: Dim (索引值上界) As 數(shù)據(jù)類型 格式2: Dim (最小索引值 To 最大索引值) As 數(shù)據(jù)類型 功能:聲明數(shù)組并分配存儲(chǔ)空間。 引用數(shù)組元素 數(shù)組經(jīng)過(guò)聲明后,就可以象普通變量一樣引用數(shù)組中的任何一個(gè)元素。 格式:數(shù)組名(索引號(hào)) 703.4.1 靜態(tài)數(shù)組例如: Dim a(5)As Integer Dim a(0 to 5) As Integer 這兩條語(yǔ)句都表示定義一個(gè)數(shù)組a,包含a(0)、a(1)、a(2)、a(3)、a(4)、a(5) 6個(gè)元素,且每個(gè)元素的類型都是整型。 Dim a(-1 to 4) As In

35、teger 該語(yǔ)句表示數(shù)組a中包含a(-1)、a(0)、a(1)、a(2)、a(3)、a(4) 6個(gè)元素。 a(1) = 10 給數(shù)組元素a(1)賦值為10 a(2) = 20 給數(shù)組元素a(2)賦值為20713.4.2 動(dòng)態(tài)數(shù)組 動(dòng)態(tài)數(shù)組 是指程序運(yùn)行時(shí)大小可以改變的數(shù)組。 靜態(tài)數(shù)組的大?。磾?shù)組元素的個(gè)數(shù))是在聲明該數(shù)組時(shí)指定的,在程序運(yùn)行過(guò)程中其大小就固定不變。 若事先不知道數(shù)組大小的情況下,可以使用動(dòng)態(tài)數(shù)組。 聲明動(dòng)態(tài)數(shù)組 格式:Dim () As 數(shù)據(jù)類型 功能:聲明動(dòng)態(tài)數(shù)組,但不分配存儲(chǔ)空間。 分配動(dòng)態(tài)數(shù)組的空間 格式:ReDim Preserve (索引值) As 數(shù)據(jù)類型 功能

36、:定義或重定義動(dòng)態(tài)數(shù)組的大小。723.4.2 動(dòng)態(tài)數(shù)組例如: 聲明動(dòng)態(tài)數(shù)組fltScore,其數(shù)組元素的類型為Single Dim fltScore() As Single 給動(dòng)態(tài)數(shù)組分配10個(gè)元素 ReDim fltScore(10) 獲取動(dòng)態(tài)數(shù)組的元素個(gè)數(shù) UBound(數(shù)組名) 取得索引上界 LBound(數(shù)組名) 取得索引下界733.4.3 清空數(shù)組 清空數(shù)組 即釋放數(shù)組占用的存儲(chǔ)空間。 清空動(dòng)態(tài)數(shù)組 格式:Erase 功能:釋放動(dòng)態(tài)數(shù)組的存儲(chǔ)空間或重新初始化靜態(tài)數(shù)組的元素。 說(shuō)明 對(duì)動(dòng)態(tài)數(shù)組執(zhí)行Erase語(yǔ)句后,將釋放它所占用的內(nèi)存,所以在下次引用該動(dòng)態(tài)數(shù)組之前,還必須用 ReDim

37、 語(yǔ)句重新定義大小。 對(duì)于靜態(tài)數(shù)組,執(zhí)行Erase語(yǔ)句后,會(huì)清除數(shù)組中的所有數(shù)據(jù),但是不會(huì)改變數(shù)組的大小,即不會(huì)釋放靜態(tài)數(shù)組所占用的內(nèi)存。743.4.4 訪問(wèn)整個(gè)數(shù)組 將一個(gè)數(shù)組賦給一個(gè)Variant變量或者賦給一個(gè)動(dòng)態(tài)數(shù)組,可以一次讀取整個(gè)數(shù)組中的數(shù)據(jù)。 說(shuō)明: 把一個(gè)靜態(tài)數(shù)組賦給一個(gè)Variant變量時(shí),系統(tǒng)會(huì)在Variant變量中構(gòu)建一個(gè)與靜態(tài)數(shù)組大小一樣的同類型數(shù)組,并將靜態(tài)數(shù)組中的元素一一復(fù)制到Variant變量中。 把一個(gè)靜態(tài)數(shù)組賦給一個(gè)動(dòng)態(tài)數(shù)組時(shí),系統(tǒng)會(huì)自動(dòng)改變動(dòng)態(tài)數(shù)組的空間使它與靜態(tài)數(shù)組的大小相同,然后再將靜態(tài)數(shù)組中的元素一一復(fù)制到動(dòng)態(tài)數(shù)組中。753.4.5 多維數(shù)組 多維靜態(tài)

38、數(shù)組 格式1:Dim (索引值,索引值,索引值,) As 數(shù)據(jù)類型 格式2:Dim (最小索引值1 To 最大索引值1, 最小索引值2 To 最大索引值2, 最小索引值3 To最大索引值3,) As 數(shù)據(jù)類型 功能:聲明多維數(shù)組并分配存儲(chǔ)空間。 說(shuō)明:包含一個(gè)索引項(xiàng)時(shí),為一維數(shù)組;包含二個(gè)索引項(xiàng)時(shí),為二維數(shù)組;包含三個(gè)索引項(xiàng)時(shí),為三維數(shù)組,以此類推。VB中最多可以定義 60 維的多維數(shù)組。763.4.5 多維數(shù)組 例如,要存儲(chǔ)2個(gè)學(xué)生3門課程的成績(jī)信息,可定義一個(gè)二維數(shù)組, 包含6個(gè)Single類型的元素: Dim fltScore(2,3) As Single 引用多維數(shù)組中的元素 格式:

39、數(shù)組名(索引號(hào),索引號(hào),) 例如,第1個(gè)學(xué)生第3門課程的成績(jī) 為 88.5 分,可表示為: fltScore(1,3) = 88.5 多維數(shù)組示意圖 fltScore(1,1) fltScore(1,2) fltScore(1,3)fltScore(2,1) fltScore(2,2) fltScore(2,3) 第1個(gè)元素 第2個(gè)元素 第3個(gè)元素 第4個(gè)元素 第5個(gè)元素 第6個(gè)元素773.4.5 多維數(shù)組 多維動(dòng)態(tài)數(shù)組 與一維動(dòng)態(tài)數(shù)組類似,先用Dim語(yǔ)句聲明一個(gè)數(shù)組,再用ReDim語(yǔ)句分配數(shù)組空間,然后才可以使用。 利用 ReDim 語(yǔ)句改變多維數(shù)組的大小時(shí),如果帶 Preserve 關(guān)鍵字

40、,則只能改變最后一維的大小,否則就會(huì)出錯(cuò)。例如: Dim fltNumber() As Single ReDim fltNumber(3, 5, 4) 正確,只改變最后一維的大小 ReDim Preserve fltNumber(3, 5, 6) 錯(cuò)誤,改變了兩個(gè)維度的大小 ReDim Preserve fltNumber(3, 9, 8) 錯(cuò)誤,改變的不是最后一維的大小 ReDim Preserve fltNumber(3, 6, 4)783.5 運(yùn)算符 運(yùn)算符是對(duì)相同類型的數(shù)據(jù)進(jìn)行運(yùn)算操作的符號(hào)。 用運(yùn)算符將常量、變量和函數(shù)等數(shù)據(jù)連接起來(lái)的式子稱為表達(dá)式。表達(dá)式的類型通常由運(yùn)算符的類型決定

41、,每個(gè)表達(dá)式按照規(guī)定的運(yùn)算規(guī)則產(chǎn)生一個(gè)惟一的值。793.5.1 賦值運(yùn)算符 賦值運(yùn)算符 就是“=”號(hào)。 格式: = 說(shuō)明:“=”右邊可以是一個(gè)常量或已賦過(guò)值的變量,也可以是一個(gè)表達(dá)式。如果是表達(dá)式,VB將先計(jì)算表達(dá)式的值,再將此值賦給“=”左邊的變量。例如:a = 3 將數(shù)值常量3賦予變量ab = a 將變量a的值賦予變量b 將表達(dá)式2 * a + b的運(yùn)算結(jié)果賦予變量cc = 2 * a + b 變量還可以用它當(dāng)前的值參加運(yùn)算,再將運(yùn)算結(jié)果賦給變量自身。 例如:X=X+1 表示先計(jì)算表達(dá)式 X+1,再將運(yùn)算結(jié)果存回變量 X中,替換原來(lái)的值。803.5.2 算術(shù)運(yùn)算符 算術(shù)運(yùn)算符 用來(lái)進(jìn)行數(shù)學(xué)

42、計(jì)算的運(yùn)算符。運(yùn)算優(yōu)先級(jí)依次為:括號(hào)指數(shù)運(yùn)算負(fù)數(shù)乘、除、整型除法、求模加、減,其中乘、除、整型除法和求模同級(jí),加和減同級(jí),分別從左到右進(jìn)行計(jì)算。算術(shù)運(yùn)算符 813.5.3 連接運(yùn)算符 連接運(yùn)算符 將兩個(gè)字符串連接起來(lái)合并為一個(gè)字符串。 連接運(yùn)算符的類型 有 “+”和“&” 兩種 當(dāng)運(yùn)算符前后的數(shù)據(jù)都是字符串時(shí),兩者完全相同。 例如, 在立即窗口中輸入兩個(gè)表達(dá)式,結(jié)果是一樣的。 在立即窗口中輸出表達(dá)式表達(dá)式1表達(dá)式2相同的輸出結(jié)果在立即窗口中輸出表達(dá)式時(shí),需使用“?”命令823.5.3 連接運(yùn)算符 運(yùn)算符前后的數(shù)據(jù)不都是字符串時(shí),兩者的處理方式不同。 “+” 有處理數(shù)值運(yùn)算的作用。當(dāng)一個(gè)字符串與

43、一個(gè)數(shù)值數(shù)據(jù)相加時(shí),如果該字符串是一個(gè)數(shù)值格式的字符串,則VB先將字符串轉(zhuǎn)換成數(shù)值,然后再相加,此時(shí)進(jìn)行的是數(shù)值相加操作。如果字符串不能轉(zhuǎn)換成數(shù)值的格式,就會(huì)發(fā)生錯(cuò)誤。例如, ?“12”+ 45 結(jié)果為 57(12+45) ?abc+ 45 錯(cuò)誤 “&” 是專門用來(lái)進(jìn)行字符串連接的運(yùn)算符。使用“&”時(shí),不管是何種類型的數(shù)據(jù),都會(huì)先轉(zhuǎn)換成字符串再進(jìn)行連接。例如, ?12.34 & 43 結(jié)果為1 2.3443 ?“a12bc” & 56 結(jié)果為 a12bc56 833.5.4 日期運(yùn)算符 日期型運(yùn)算符有“+”和“-”兩種。 ,結(jié)果為一個(gè)新的日期時(shí)間。的單位是“天”。 -,結(jié)果為兩個(gè)日期相差的天數(shù)

44、。 例如, ?#2003-4-28# + 10 結(jié)果是:原來(lái)的日期加上10天,為 2003-5-8 ?#3-24# - #1-21# 結(jié)果是:兩個(gè)日期相減,相差62天 843.5.5 比較運(yùn)算符 比較運(yùn)算符 用來(lái)對(duì)兩個(gè)表達(dá)式進(jìn)行比較運(yùn)算。運(yùn)算結(jié)果為Boolean值(True或False)。比較運(yùn)算符有種,優(yōu)先級(jí)相同。 比較運(yùn)算符 說(shuō)明 參加比較的數(shù)據(jù)的類型必須一致。 數(shù)值型數(shù)據(jù)按數(shù)值的大小比較,西文字符按ASCII碼的值比較,漢字按國(guó)標(biāo)碼的值比較,日期時(shí)間型數(shù)據(jù)分別按年月日和時(shí)分秒的值比較。 853.5.5 比較運(yùn)算符例如, 數(shù)值的比較 ?1=2, 1=2, 11.1 結(jié)果分別是 False,

45、True,True 字符串的比較 ?“張” “帳” 結(jié)果是 True 日期時(shí)間的比較 ?#2003-2-2 12:12:12# #2003-3-1# 結(jié)果是 True ?#2003-3-1 12:12:12# 5 AND 85 XOR 84 結(jié)果為 True ?True XOR (2=3) OR (3=3) AND NOT(5=5) 結(jié)果為 True883.3.7 位運(yùn)算符 位運(yùn)算 先將整型數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù),然后將其中的每一位分別進(jìn)行運(yùn)算處理,其中0相當(dāng)于False,1相當(dāng)于True。 邏輯運(yùn)算符可以作為位運(yùn)算符使用。 例如, Dim a, b As Byte a = 5 b = 9 ?a

46、And b 結(jié)果為1 ?a Or b 結(jié)果為13 ?Not b 結(jié)果為246 ?a XOR b 結(jié)果為12893.3.7 位運(yùn)算符 說(shuō)明:進(jìn)行位運(yùn)算時(shí),VB先將十進(jìn)制數(shù)5和9轉(zhuǎn)換成二進(jìn)制,(5)10=(00000101)2,(9)10=(00001001)2,運(yùn)算過(guò)程下表所示。 位運(yùn)算示例903.6 函數(shù) 函數(shù)(Function) 是一種能夠完成某種特定操作或功能的程序段。函數(shù)的運(yùn)算結(jié)果稱為函數(shù)值。 函數(shù)調(diào)用的格式 Call (參數(shù)1,參數(shù)2,) 參數(shù)1,參數(shù)2, 變量 = (參數(shù)1,參數(shù)2,)說(shuō)明:任何可以使用表達(dá)式的地方都可以使用函數(shù),表達(dá)式將函數(shù) 的返回值作為運(yùn)算對(duì)象。 函數(shù)分類 系統(tǒng)函

47、數(shù):VB提供的內(nèi)部函數(shù)。 用戶自定義函數(shù):用戶根據(jù)程序設(shè)計(jì)的需要自行編寫(xiě)的函數(shù)。913.6.1 輸入輸出函數(shù) 使用輸入輸出函數(shù)可以實(shí)現(xiàn)一些簡(jiǎn)單的人機(jī)對(duì)話。 輸入函數(shù) 格式:InputBox( , , 功能:顯示一個(gè)用戶自定義的對(duì)話框,等待用戶輸入文本或按下 按鈕,并返回用戶在文本框中輸入的字符串。 例如,在立即窗口中輸入以下語(yǔ)句: ? InputBox(“請(qǐng)輸入學(xué)生性別” ,“學(xué)生情況”, “男”) 結(jié)果如圖所示。標(biāo)題提示信息默認(rèn)值923.6.1 輸入輸出函數(shù) 輸出函數(shù) 格式:MsgBox(, Buttons , ) 功能:顯示一個(gè)消息對(duì)話框,并等待用戶單擊按鈕,作為繼續(xù)執(zhí)行程序的依據(jù)。 說(shuō)明

48、: 參數(shù)是一個(gè)數(shù)值表達(dá)式,指定消息框中的按鈕類型、圖標(biāo)樣式和默認(rèn)按鈕等,默認(rèn)值為0。 用戶在消息框中單擊某一按鈕后,該函數(shù)返回一個(gè)整數(shù)值,表示某個(gè)按鈕被選中。933.6.1 輸入輸出函數(shù)按鈕類型 943.6.1 輸入輸出函數(shù)圖標(biāo)樣式和默認(rèn)按鈕 953.6.1 輸入輸出函數(shù)MsgBox 函數(shù)的返回值 963.6.1 輸入輸出函數(shù)例如,在立即窗口中輸入以下語(yǔ)句: ?MsgBox(“性別輸入錯(cuò)誤, & Chr(10)& 只能輸入男或女。, _ 2 + 256 + 16, _ “輸入錯(cuò)誤”) 結(jié)果如圖所示。標(biāo)題提示信息按鈕類型默認(rèn)按鈕圖標(biāo)類型973.6.2 數(shù)學(xué)函數(shù)常用數(shù)學(xué)函數(shù)983.6.3 字符處理

49、函數(shù)993.6.4 日期函數(shù)常用的日期函數(shù)1003.6.5 格式化函數(shù) 數(shù)值格式化函數(shù) 格式:FormatNumber(數(shù)值,小數(shù)位數(shù),前導(dǎo)0字符, 負(fù)數(shù)格式,數(shù)字分組) 功能:按指定的數(shù)據(jù)格式對(duì)數(shù)值數(shù)據(jù)進(jìn)行格式化。 例如,? FormatNumber(-123456.789,2,-1) 結(jié)果為 -123,456.79 日期時(shí)間格式化函數(shù) 格式: FormatDateTime(日期,格式) 功能:按指定的日期時(shí)間格式對(duì)日期時(shí)間數(shù)據(jù)格式化。1013.6.5 格式化函數(shù) 通用格式化函數(shù) 格式:Format(表達(dá)式, 格式) 功能:按指定的格式對(duì)表達(dá)式進(jìn)行格式化。例如, Dat = #5/10/20

50、03 20:12# ? Format(Dat, hh:mm am/pm) 結(jié)果為 08:12 pm ? Format(Dat,“現(xiàn)在是yyyy年m月”) 結(jié)果為:現(xiàn)在是2003年5月 ? Format(514, “總分是#.0”) 結(jié)果為:總分是514.0 1023.6.6 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 常用轉(zhuǎn)換函數(shù) 強(qiáng)制將一個(gè)表達(dá)式轉(zhuǎn)換成某種特定類型的數(shù)據(jù)。 1033.6.6 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 數(shù)值轉(zhuǎn)換為字符串函數(shù) 格式:Str() 功能:將數(shù)值型數(shù)據(jù)轉(zhuǎn)換成字符串。例如,? str(123) 結(jié)果為字符串 123 字符串轉(zhuǎn)換為數(shù)值函數(shù) 格式:Val() 功能:將字符串轉(zhuǎn)換為Double型的數(shù)值。例如,?

51、 Val(“123.45”) 結(jié)果為數(shù)值 123.451043.6.7 測(cè)試函數(shù) 數(shù)字測(cè)試函數(shù) 格式:IsNumeric() 功能:測(cè)試表達(dá)式的值是否為數(shù)值型數(shù)據(jù)或符合數(shù)值格式的字 符串,若是,返回值為True;否則,返回值為False。例如,? isNumeric(12.25) 結(jié)果為 True ? isNumeric(ab) 結(jié)果為 False 日期測(cè)試函數(shù) 格式:IsDate() 功能:測(cè)試表達(dá)式的值是否為日期時(shí)間型數(shù)據(jù)或符合日期時(shí)間 格式的字符串,若是,返回值為True;否則,返回值為False。例如,? isDate(#2003-5-20 8:30#) 結(jié)果為 True ? isDa

52、te(#2003-5-20#) 結(jié)果為 False1053.6.7 測(cè)試函數(shù) 數(shù)組測(cè)試函數(shù) 格式:IsArray() 功能:測(cè)試表達(dá)式是否為數(shù)組,若是,返回值為True;否則, 返回值為False。例如,Dim XX(5) As Single Dim YY As Single ?IsArray(XX) 結(jié)果為True ?IsArray(YY) 結(jié)果為False 數(shù)據(jù)類型測(cè)試函數(shù) 格式:TypeName() 功能:測(cè)試表達(dá)式的數(shù)據(jù)類型。例如,Dim X1 As Single ? TypeName(X1) 結(jié)果為Single1063.7 語(yǔ)句 語(yǔ)句 是指程序中的一行代碼,由VB關(guān)鍵字、函數(shù)、運(yùn)算符

53、以及VB可識(shí)別的指令組成。 語(yǔ)句的書(shū)寫(xiě)規(guī)則 通常是一條語(yǔ)句占一行,行尾不加任何終結(jié)符。 將兩個(gè)或多個(gè)語(yǔ)句放在同一行時(shí),各語(yǔ)句之間要用冒號(hào) (:) 隔開(kāi)。 在一行語(yǔ)句的末尾加續(xù)行符“_”(下劃線),可以將一條語(yǔ) 句分成數(shù)行書(shū)寫(xiě)。 一行語(yǔ)句中以單撇號(hào)()開(kāi)始的內(nèi)容為注釋信息。程序中的注釋內(nèi)容不會(huì)影響程序運(yùn)行的結(jié)果。 1073.7 語(yǔ)句 輸入完一行代碼并按回車鍵后,VB會(huì)自動(dòng)對(duì)輸入的內(nèi)容進(jìn)行語(yǔ)法檢查;發(fā)現(xiàn)錯(cuò)誤時(shí),會(huì)顯示一個(gè)提示框。自動(dòng)語(yǔ)法檢查出錯(cuò)語(yǔ)句用紅色標(biāo)識(shí)1083.7 語(yǔ)句 VB會(huì)按約定對(duì)語(yǔ)句進(jìn)行格式化處理,例如,關(guān)鍵字和函數(shù)的第1個(gè)字母自動(dòng)變?yōu)榇髮?xiě)。 在代碼窗口中輸入語(yǔ)句時(shí),可以自動(dòng)顯示有關(guān)語(yǔ)

54、句和函數(shù)語(yǔ)法格式的快速信息。 自動(dòng)顯示快速信息參考信息109第4章 程序控制結(jié)構(gòu)4.1 順序結(jié)構(gòu) 4.2 分支結(jié)構(gòu) 4.2.1 單分支結(jié)構(gòu) 4.2.2 雙分支結(jié)構(gòu) 4.2.3 多分支結(jié)構(gòu) 4.3 循環(huán)結(jié)構(gòu) 4.3.1 For Next 循環(huán) 4.3.2 Do Loop 循環(huán) 4.3.3 For Each Next 循環(huán) 4.3.4 多重循環(huán) 4.4 跳轉(zhuǎn)控制1104.1 順序結(jié)構(gòu) 程序:是為解決某一問(wèn)題而將有關(guān)命令按照一定的控制結(jié)構(gòu)組成的命令序列。 順序結(jié)構(gòu):按程序中語(yǔ)句的書(shū)寫(xiě)順序逐條執(zhí)行。 VB程序從主體上說(shuō)都是順序執(zhí)行的,每個(gè)命令執(zhí)行完后都自動(dòng)執(zhí)行下一個(gè),只有當(dāng)遇到分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、過(guò)程

55、函數(shù)等才會(huì)改變執(zhí)行的順序。 1114.1 順序結(jié)構(gòu)【例4.1 】 順序結(jié)構(gòu)的使用。 程序流程圖1124.2.1 單分支結(jié)構(gòu) 分支結(jié)構(gòu):根據(jù)邏輯條件的結(jié)果執(zhí)行不同的命令序列,也稱為選擇結(jié)構(gòu)。 單分支結(jié)構(gòu) 格式:If Then End If 功能:若條件表達(dá)式的值為真,就執(zhí)行;否則,直接執(zhí)行End If之后的語(yǔ)句。單分支結(jié)構(gòu)流程圖N條件語(yǔ)句序列End IfY1134.2.1 單分支結(jié)構(gòu)【例4.2】 單分支結(jié)構(gòu)的使用。 程序流程圖單分支結(jié)構(gòu)1144.2.2 雙分支結(jié)構(gòu) 雙分支結(jié)構(gòu) 格式:If Then Else End If 功能: 若條件成立,就執(zhí)行 ,然后轉(zhuǎn)去執(zhí)行End If后面的語(yǔ)句;否 則,

56、執(zhí)行 ,再執(zhí)行End If后面的語(yǔ)句。 雙分支結(jié)構(gòu)流程圖N條件語(yǔ)句序列1End If 后面的語(yǔ)句Y語(yǔ)句序列21154.2.2 雙分支結(jié)構(gòu) 【例4.3】 雙分支結(jié)構(gòu)的使用。 程序流程圖雙分支結(jié)構(gòu)1164.2.3 多分支結(jié)構(gòu) 嵌套If語(yǔ)句 在一個(gè)If 語(yǔ)句中包含另一個(gè) If 語(yǔ)句。If Then If Then Else End If Else If Then Else End If End If流程圖1174.2.3 多分支結(jié)構(gòu) 【例4.4】 用嵌套If語(yǔ)句計(jì)算分段函數(shù)。 程序流程圖嵌套的If語(yǔ)句1184.2.3 多分支結(jié)構(gòu) If.Then.ElseIf.End If語(yǔ)句 If Then Els

57、eIf Then ElseIf Then Else End If流程圖1194.2.3 多分支結(jié)構(gòu)【例 4.5】 用ElseIf語(yǔ)句計(jì)算分段函數(shù)。 程序流程圖ElseIf 語(yǔ)句1204.2.3 多分支結(jié)構(gòu) Select Case 語(yǔ)句 根據(jù)判斷數(shù)據(jù)的結(jié)果,選擇執(zhí)行一種操作。 Select Case Case Case Case Case Else End Select流程圖1214.2.3 多分支結(jié)構(gòu)【例4.6 】 Select Case 語(yǔ)句的使用。 1224.3.1 ForNext 循環(huán) 循環(huán)結(jié)構(gòu):按規(guī)定的條件重復(fù)執(zhí)行一段命令序列。 For Next循環(huán):用于已知循環(huán)次數(shù) For = To

58、 Step Exit For Next For 循環(huán)流程圖1234.3.1 ForNext 循環(huán) 【例4.8】 用For循環(huán)求1+2+100和。 程序流程圖For 循環(huán)1244.3.2 DOLoop 循環(huán) Do Loop循環(huán) 常用于不知道循環(huán)次數(shù)的情況。 格式1: Do While | Until Exit Do Loop 功能:先判斷條件,若條件不成立, 則結(jié)束循環(huán);若條件成立,則執(zhí)行循 環(huán)體內(nèi)的語(yǔ)句序列,直到條件不成立, 執(zhí)行過(guò)程中遇到 Exit DO 語(yǔ)句時(shí)被 強(qiáng)制退出循環(huán)。1254.3.2 DOLoop 循環(huán) 格式2: Do Exit Do Loop While | Until 功能:

59、先執(zhí)行一次循環(huán)體,再判斷條件。若條件不成立,就結(jié)束循環(huán);否則,重復(fù)執(zhí)行循環(huán)體內(nèi)的語(yǔ)句序列,直到條件不成立,執(zhí)行過(guò)程中遇到 Exit DO 語(yǔ)句時(shí)被強(qiáng)制退出循環(huán)。1264.3.2 DOLoop 循環(huán) 【例4.11】 用Do循環(huán)求1+2+100的和。 程序流程圖Do 循環(huán)1274.3.3 For Each Next 循環(huán) For Each.Next循環(huán): 用于對(duì)數(shù)組或?qū)ο蠹现械拿恳粋€(gè)元素重復(fù)執(zhí)行一組操作。 格式For Each In Exit For Next 1284.3.3 For Each Next 循環(huán) 【例4.13】 用For Each 循環(huán)求1+2+100和。 程序流程圖For Ea

60、ch 循環(huán)1294.3.4 多重循環(huán) 多重循環(huán) 在VB中,幾種循環(huán)結(jié)構(gòu)可以自我嵌套,也可以相互嵌套,由此構(gòu)成雙重循環(huán)或三重、四重等多重循環(huán)結(jié)構(gòu)。 Do循環(huán)和For兩種循環(huán)可以混合嵌套,且層數(shù)不限。但內(nèi)層循環(huán)的所有語(yǔ)句必須完全嵌套在外層循環(huán)之中。否則就會(huì)出現(xiàn)循環(huán)的交叉,產(chǎn)生錯(cuò)誤或造成邏輯上的混亂。 循環(huán)結(jié)構(gòu)與分支結(jié)構(gòu)也可以混合嵌套使用,但不允許交叉;并且各自的入口語(yǔ)句與相應(yīng)的出口語(yǔ)句(如 For 與 Next、Select Case 與 End Select、Do 與 Loop、If 與 End If)必須成對(duì)出現(xiàn)。1304.3.4 多重循環(huán)外層循環(huán)內(nèi)層循環(huán)【例4.14】 多重循環(huán)的使用,打印九

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論