![全國(guó)計(jì)算機(jī)二級(jí)考試之VB教程(全集)[1].ppt_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/80ed1848-5b7d-410e-9d51-6067260f18d9/80ed1848-5b7d-410e-9d51-6067260f18d91.gif)
![全國(guó)計(jì)算機(jī)二級(jí)考試之VB教程(全集)[1].ppt_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/80ed1848-5b7d-410e-9d51-6067260f18d9/80ed1848-5b7d-410e-9d51-6067260f18d92.gif)
![全國(guó)計(jì)算機(jī)二級(jí)考試之VB教程(全集)[1].ppt_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/80ed1848-5b7d-410e-9d51-6067260f18d9/80ed1848-5b7d-410e-9d51-6067260f18d93.gif)
![全國(guó)計(jì)算機(jī)二級(jí)考試之VB教程(全集)[1].ppt_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/80ed1848-5b7d-410e-9d51-6067260f18d9/80ed1848-5b7d-410e-9d51-6067260f18d94.gif)
![全國(guó)計(jì)算機(jī)二級(jí)考試之VB教程(全集)[1].ppt_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/80ed1848-5b7d-410e-9d51-6067260f18d9/80ed1848-5b7d-410e-9d51-6067260f18d95.gif)
已閱讀5頁(yè),還剩429頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本章內(nèi)容 1 1VisualBasic的特點(diǎn)與版本1 2VisualBasic的啟動(dòng)與退出1 3主窗口1 4其它窗口 第1章VisualBasic程序開(kāi)發(fā)環(huán)境 1 1VisualBasic的特點(diǎn)與版本1 1 1VisualBasic的特點(diǎn)VisualBasic是一種可視化的 面向?qū)ο蟮牟捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言 在Windows操作平臺(tái)下VisualBasic是具有圖形用戶(hù)界面的開(kāi)發(fā)和創(chuàng)建應(yīng)用程序的強(qiáng)有力工具之一 VisualBasic主要包含以下一些特點(diǎn) 可視化編程 面向?qū)ο蟮某绦蛟O(shè)計(jì) 結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言 事件驅(qū)動(dòng)編程機(jī)制 訪問(wèn)數(shù)據(jù)庫(kù) 動(dòng)態(tài)數(shù)據(jù)交換 DDE 對(duì)象的鏈接與嵌入 OLE 動(dòng)態(tài)鏈接庫(kù) DLL Internet組件下載 建立用戶(hù)自己的ActiveX控件 建立ActiveX文檔 遠(yuǎn)程自動(dòng)化工具直接支持遠(yuǎn)程操作 ActiveX數(shù)據(jù)對(duì)象 ADO 和ADO數(shù)據(jù)控件 遠(yuǎn)程數(shù)據(jù)對(duì)象 RDO 遠(yuǎn)程數(shù)據(jù)控件 RDC 說(shuō)明 VisualBasic是可視化的 面向?qū)ο蟮牟捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言 而傳統(tǒng)的程序設(shè)計(jì)是面向過(guò)程的 同時(shí)也支持結(jié)構(gòu)化 1 1 2VisualBasic的版本到目前為止 VisualBasic已經(jīng)有了多個(gè)版本 自從1991年開(kāi)始 Microsoft公司推出的VisualBasic1 0取得成功以后 又相繼推出了VisualBasic2 0 3 0 4 0 5 0 6 0 到今天最新的版本VisualBasic7 0 即VisualB 目前全國(guó)計(jì)算機(jī)等級(jí)考試選用的版本是VisualBasic6 0 VisualBasic6 0包括3種版本 分別為學(xué)習(xí)版 專(zhuān)業(yè)版和企業(yè)版 三種版本中 企業(yè)版功能最全 而專(zhuān)業(yè)版包括了學(xué)習(xí)版的功能 用戶(hù)可以根據(jù)自己的需求來(lái)購(gòu)買(mǎi)和使用適當(dāng)?shù)陌姹?而本書(shū)緊扣大綱的要求 本書(shū)采用的版本是VisualBasic6 0中文企業(yè)版 1 2VisualBasic的啟動(dòng)與退出VisualBasic6 0可以在多種操作系統(tǒng)下運(yùn)行 包括Windows9x WindowsNT Windows2000和WindowsXP 為了敘述方便 在本書(shū)中一律稱(chēng)作Windows 此外 除非特別說(shuō)明 VisualBasic 一般指的是VisualBasic6 0 1 2 1VisualBasic的啟動(dòng)啟動(dòng)VisualBasic的方法有很多 下面主要介紹三種最常用的方法 1 使用 開(kāi)始 菜單中的 程序 選項(xiàng) 2 使用 我的電腦 或 資源管理器 3 使用 開(kāi)始 菜單中的 運(yùn)行 命令 在默認(rèn)情況下 VisualBasic6 0啟動(dòng)后自動(dòng)彈出 新建工程 對(duì)話(huà)框 該對(duì)話(huà)框有如下3個(gè)選項(xiàng)卡 如圖1 1所示 圖1 1 新建工程 對(duì)話(huà)框 新建 通過(guò)此卡可新建各種類(lèi)型的VisualBasic6 0工程 全國(guó)計(jì)算機(jī)等級(jí)考試只要求使用新建工程中的 標(biāo)準(zhǔn)EXE 工程 現(xiàn)存 通過(guò)此卡可以打開(kāi)所有已經(jīng)建立的VisualBasic6 0工程 最新 通過(guò)此卡可以打開(kāi)最近新建立的VisualBasic6 0工程 在對(duì)話(huà)框中選擇要建立的工程類(lèi)型 一般選擇 標(biāo)準(zhǔn)EXE 然后單擊 打開(kāi) 按鈕 就進(jìn)入了VisualBasic6 0的集成開(kāi)發(fā)環(huán)境 如圖1 2所示 圖1 2VisualBasic6 0編程環(huán)境 1 2 2VisualBasic的退出退出VisualBasic6 0開(kāi)發(fā)環(huán)境的方法有以下幾種方法 1 單擊VisualBasic6 0開(kāi)發(fā)環(huán)境系統(tǒng)標(biāo)題欄的系統(tǒng)菜單按鈕 彈出系統(tǒng)菜單 選擇最下面的 關(guān)閉 命令 Windows環(huán)境下的絕大多數(shù)應(yīng)用程序的標(biāo)題欄的最左端都有系統(tǒng)菜單按鈕 或者使用快捷方式 按Alt F4快捷鍵 2 單擊 文件 菜單中的 退出 命令 或者使用快捷方式 按Alt Q快捷鍵 3 單擊VisualBasic6 0開(kāi)發(fā)環(huán)境系統(tǒng)標(biāo)題欄的關(guān)閉按鈕 系統(tǒng)標(biāo)題欄右側(cè)有3個(gè)按鈕 分別為 最小化 最大化 還原 和 關(guān)閉 1 3主窗口 主窗口也就是設(shè)計(jì)窗口 它包含標(biāo)題欄 菜單欄和工具欄等 位于集成開(kāi)發(fā)環(huán)境的頂部 具體如圖1 2所示 1 3 1標(biāo)題欄標(biāo)題欄是屏幕頂端的水平條 位于窗口最上方 它主要用來(lái)顯示應(yīng)用程序的名字和當(dāng)前打開(kāi)的工程名 標(biāo)題欄從左到右依次是控制按鈕圖標(biāo) 或稱(chēng)系統(tǒng)圖標(biāo) 標(biāo)題 即工程名 MicrosoftVisualBasic 及VisualBasic6 0運(yùn)行模式 控制按鈕 或稱(chēng)系統(tǒng)按鈕 如圖1 3所示 圖1 3VisualBasic6 0標(biāo)題欄 啟動(dòng)VisualBasic后 標(biāo)題欄中顯示的內(nèi)容為 工程1 MicrosoftVisualBasic 設(shè)計(jì) 方括號(hào)中的 設(shè)計(jì) 表明當(dāng)前的工作狀態(tài)是 設(shè)計(jì)階段 隨著工作狀態(tài)的不同 方括號(hào)里的內(nèi)容也會(huì)跟著變化 會(huì)出現(xiàn) 運(yùn)行 或 中斷 分別表示 運(yùn)行階段 或 中斷階段 1 3 2菜單欄在標(biāo)題欄的下面是集成環(huán)境的主菜單 它的主要功能是提供對(duì)VisualBasic中大多數(shù)命令的訪問(wèn) VisualBasic6 0的菜單欄中不僅有標(biāo)準(zhǔn)菜單 如 文件 編輯 視圖 窗口 和 幫助 還提供了編程專(zhuān)用的功能菜單 如 工程 格式 調(diào)試 運(yùn)行 查詢(xún) 圖表 工具 外接程序 共13個(gè)菜單標(biāo)題 如圖1 4所示 圖1 4VisualBasic6 0菜單欄 單擊其中某一標(biāo)題 便彈出一個(gè)相應(yīng)的菜單 如單擊 文件 就彈出如圖1 5所示的菜單 菜單項(xiàng)中的菜單命令主要分為以下3種類(lèi)型 直接執(zhí)行的命令 級(jí)聯(lián)菜單命令 有 標(biāo)記 打開(kāi)對(duì)話(huà)框的命令 有 標(biāo)記 打開(kāi)菜單及菜單選項(xiàng)的方法有以下幾種 用鼠標(biāo)操作菜單 使用鍵盤(pán)的方向鍵 先按F10鍵或Alt鍵激活菜單欄 按 Enter鍵選擇菜單項(xiàng) 最后按 Enter鍵選擇菜單選項(xiàng)后的字母鍵啟動(dòng)該菜單命令 圖1 5 文件 菜單 使用鍵盤(pán)的訪問(wèn)鍵 先按F10鍵或Alt鍵激活菜單欄 按菜單項(xiàng)后的字母激活菜單項(xiàng) 最后按菜單中選項(xiàng)后的字母鍵啟動(dòng)該菜單命令 按住Alt不放 同時(shí)按菜單項(xiàng)后的字母打開(kāi)菜單項(xiàng) 按菜單選項(xiàng)后的字母啟動(dòng)菜單命令 組合鈕 即使用訪問(wèn)鍵 1 3 3工具欄工具欄中有許多按鈕 它為在編程環(huán)境下提供了對(duì)常用命令的快速訪問(wèn) 單擊其中的某個(gè)按鈕相當(dāng)于執(zhí)行了某個(gè)菜單命令 當(dāng)將鼠標(biāo)移到某個(gè)按鈕上時(shí)便會(huì)出現(xiàn)一個(gè)提示 告訴你這個(gè)按鈕的功能 VisualBasic6 0提供了4種工具欄 分別是編輯工具欄 標(biāo)準(zhǔn)工具欄 窗體編輯器工具欄和調(diào)試工具欄 另外 用戶(hù)還可根據(jù)需要定義自己的工具欄 下面就具體的介紹一下標(biāo)準(zhǔn)工具欄以及其中各圖標(biāo)的名稱(chēng)和作用 標(biāo)準(zhǔn)工具欄中有21個(gè)圖標(biāo) 代表21中操作 如圖1 6所示 各圖標(biāo)的名稱(chēng)與作用見(jiàn)表1 1 圖1 6VisualBasic6 0標(biāo)準(zhǔn)工具欄 圖1 2VisualBasic6 0編程環(huán)境 表1 1標(biāo)準(zhǔn)工具欄的按鈕圖標(biāo)名稱(chēng)與作用 1 4其它窗口 在VisualBasic的編程環(huán)境中 除了主窗口以外 還有其它一些窗口 如窗體設(shè)計(jì)窗口和工程容器 屬性窗口 工程資源管理器窗口 工具箱窗口 窗體布局窗口 代碼編輯器窗口以及立即窗口等 1 4 1窗體設(shè)計(jì)窗口和工程容器工程容器是用來(lái)存放窗體設(shè)計(jì)窗口的 窗體設(shè)計(jì)窗口簡(jiǎn)稱(chēng)窗體 Form 是程序人員的主要工作區(qū) 是應(yīng)用程序最終面向用戶(hù)的窗口 它對(duì)應(yīng)于應(yīng)用程序的運(yùn)行結(jié)果 1 4 2屬性窗口屬性窗口給出和控件的屬性 例如標(biāo)題 大小 顏色等 也可以在屬性窗口對(duì)窗體和控件的屬性進(jìn)行修改和設(shè)置 1 4 3工程資源管理器窗口工程資源管理器窗口給出當(dāng)前工程的所有資源 例如文件 窗體 模塊 報(bào)表等 添加 刪除 顯示 隱藏這些資源操作也可以在工程資源管理器窗口中進(jìn)行 工程是指用于創(chuàng)建一個(gè)應(yīng)用程序的文件的集合 這些文件可以分為6類(lèi) 分別是 1 窗體文件 其文件擴(kuò)展名為 frm 2 標(biāo)準(zhǔn)模塊文件或稱(chēng)程序文件 其文件擴(kuò)展名為 bas 3 類(lèi)模塊文件 其文件擴(kuò)展名為 cls 4 工程文件 其文件擴(kuò)展名為 vbp 5 工程組文件 其文件擴(kuò)展名為 vbg 6 資源文件 其文件擴(kuò)展名為 res 其中 類(lèi)模塊文件 工程組文件 資源文件不在考試大綱范圍內(nèi) 工程資源管理器窗口的頂部有3個(gè)按鈕 分別是查看代碼 查看對(duì)象 切換文件夾 1 4 4工具箱窗口顧名思義 工具箱窗口就是存放工具的地方 圖1 2的工具箱窗口列出了20多個(gè)工具 在VisualBasic中成它們?yōu)榭丶?控件是VisualBasic最具魅力和特色的元件 這些控件稱(chēng)為VisualBasic的內(nèi)置控件 除了內(nèi)置控件 VisualBasic還有一類(lèi)控件 稱(chēng)為ActiveX控件 ActiveX控件的加入更為VisualBasic增添異彩 它使VisualBasic可以輕而易舉地獲得其它軟件的功能 啟動(dòng)VisualBasic 工具箱中只有內(nèi)部控件 通常停靠在主窗口的左側(cè) 除了缺省的工具箱布局之外 還可以通過(guò)從右鍵快捷菜單中選定 添加選項(xiàng)卡 并在結(jié)果選項(xiàng)卡中添加控件來(lái)創(chuàng)建自定義布局 1 4 5窗體布局窗口窗體布局窗口使用表示屏幕的小圖像來(lái)布置應(yīng)用程序運(yùn)行時(shí)各窗體在屏幕上的顯示位置 1 4 6代碼編輯器窗口代碼編輯器窗口是輸入應(yīng)用程序代碼的編輯器 應(yīng)用程序的每個(gè)窗體或代碼模塊都有一個(gè)單獨(dú)的代碼編輯器窗口 它像一個(gè)高度專(zhuān)門(mén)化的字處理軟件 提供了許多便于編寫(xiě)VisualBasic代碼的功能 如自動(dòng)語(yǔ)法檢測(cè) 自動(dòng)列出成員 自動(dòng)顯示快速信息 自動(dòng)縮進(jìn)等 這些功能可以通過(guò) 工具 菜單的 選項(xiàng) 對(duì)話(huà)框中 編輯器 選項(xiàng)來(lái)設(shè)置 1 4 7立即窗口 本地窗口和監(jiān)視窗口立即窗口 本地窗口和監(jiān)視窗口為附加窗口 它們主要用于調(diào)試應(yīng)用程序 它們只在調(diào)試運(yùn)行應(yīng)用程序時(shí)才有效 本章內(nèi)容 2 1對(duì)象2 2窗體2 3控件2 4控件的畫(huà)法和基本操作 第2章對(duì)象及其操作 2 1對(duì)象2 1 1VisualBasic的對(duì)象用VisualBasic進(jìn)行應(yīng)用程序的設(shè)計(jì) 實(shí)際上是與一組標(biāo)準(zhǔn)對(duì)象進(jìn)行交互的過(guò)程 因此 準(zhǔn)確地理解對(duì)象的概念 是設(shè)計(jì)VisualBasic的重要一環(huán) 1 對(duì)象及對(duì)象類(lèi)動(dòng)作體的邏輯模型稱(chēng)為 對(duì)象 在VisualBasic中 對(duì)象就是可控制的某種東西 它分為兩類(lèi) 一類(lèi)是由系統(tǒng)預(yù)先設(shè)計(jì)好的 稱(chēng)為預(yù)定義對(duì)象 可以直接使用并對(duì)其進(jìn)行操作 另一類(lèi)由用戶(hù)定義 讓用戶(hù)建立自己的對(duì)象 對(duì)象類(lèi)是對(duì)象的定義 比如 我們?cè)谡f(shuō) 汽車(chē) 時(shí) 并不是專(zhuān)指某個(gè)特定的事物 而是指一切裝有內(nèi)燃式發(fā)動(dòng)機(jī) 有傳動(dòng)裝置 轉(zhuǎn)向裝置 車(chē)輪等的可載人或物的 可自動(dòng)行走的車(chē)輛 而一輛具體的汽車(chē) 則是 汽車(chē) 這個(gè)對(duì)象類(lèi)的一個(gè)具體的例子 Windows下的應(yīng)用程序都是以窗口的界面形式出現(xiàn)的 窗口就是代表屏幕上某個(gè)矩形區(qū)域的對(duì)象 一個(gè)窗口里可能還包括其它窗口 這些在窗口里的窗口叫做子窗口 在VisualBasic中 把這種窗口的界面稱(chēng)為 窗體 在窗體上 可以設(shè)置用于和使用者交互的各種部件 例如標(biāo)簽 Label 文本框 TextBox 列表框 ListBox 命令按鈕 CommandButton 以及組合框 ComboBox 等 這些部件統(tǒng)稱(chēng)為 控件 應(yīng)用程序的每個(gè)窗體和窗體上的控件都是VisualBasic的對(duì)象 2 對(duì)象屬性 屬性 是對(duì)對(duì)象特性的描述 不同的對(duì)象有不同的屬性 對(duì)象類(lèi)定義了類(lèi)的一般屬性 例如 汽車(chē)輪胎的一般屬性包括由橡膠制成 里面充有空氣等 就具體的對(duì)象而言 除要繼承對(duì)象類(lèi)規(guī)定的各種屬性 稱(chēng)為繼承性 之外 還具有它的特殊屬性 例如輪胎直徑的大小 厚度 胎面的花紋等 規(guī)定了對(duì)象的特殊屬性 也就是將該對(duì)象 具體化 了 對(duì)對(duì)象屬性的設(shè)置可以通過(guò)前面介紹的屬性窗口進(jìn)行修改 還可以在程序中用程序語(yǔ)句進(jìn)行設(shè)置 一般格式如下 對(duì)象名 屬性名稱(chēng) 新設(shè)置的屬性值3 對(duì)象事件所謂 事件 就是使某個(gè)對(duì)象進(jìn)入活動(dòng)狀態(tài) 又叫激活 的一種操作或動(dòng)作 例如 用鼠標(biāo)單擊窗體上菜單條的某個(gè)命令項(xiàng) 或雙擊窗體上的某個(gè)圖標(biāo) 就會(huì)打開(kāi)相應(yīng)的下拉式命令菜單或打開(kāi)該圖標(biāo)對(duì)應(yīng)的窗口 鼠標(biāo)的單擊和雙擊 都是 事件 使用VisualBasic不僅可以非常便捷地設(shè)計(jì)出Windows應(yīng)用程序的窗口界面 設(shè)置界面中各種對(duì)象的屬性 而且還可以通過(guò)編寫(xiě)程序代碼段 為對(duì)象規(guī)定在被某個(gè) 事件 激活時(shí)應(yīng)發(fā)生的各種動(dòng)作以及所要進(jìn)行的信息處理的具體內(nèi)容 這樣的代碼段稱(chēng)為 過(guò)程 為各個(gè)對(duì)象編寫(xiě)的過(guò)程集合在一起 就構(gòu)成一個(gè)完整的應(yīng)用程序 這就是事件驅(qū)動(dòng)方式的應(yīng)用程序的設(shè)計(jì)原理 事件過(guò)程的一般格式如下 PrivateSub對(duì)象名稱(chēng) 事件名稱(chēng) 事件響應(yīng)程序代碼 EndSub 事件名稱(chēng) 指的是該對(duì)象的Name屬性 事件名稱(chēng) 是由VisualBasic預(yù)先定義好的賦予該對(duì)象的事件 而這個(gè)事件必須是該對(duì)象能夠識(shí)別的 4 對(duì)象方法在傳統(tǒng)的程序設(shè)計(jì)中 過(guò)程和函數(shù)是編程語(yǔ)言的主要部件 在面向?qū)ο蟪绦蛟O(shè)計(jì) OOP 中 引入了稱(chēng)為方法 Method 的特殊過(guò)程和函數(shù) 方法 指的是控制對(duì)象動(dòng)作行為的方式 每個(gè)對(duì)象的動(dòng)作和行為都是由一些特定的 方法 控制的 例如 方向盤(pán)對(duì)象只受 轉(zhuǎn)向 方法控制等 VisualBasic程序中每個(gè)窗體或控件對(duì)象 受各種特殊功能的行動(dòng)的控制 如窗體可被 顯示 或 隱藏 等 顯示和隱藏都是控制窗體對(duì)象的方法 方法的操作與過(guò)程 函數(shù)的操作相同 但方法是特定對(duì)象的一部分 正如屬性和事件是對(duì)象的一部分一樣 其調(diào)用格式為 對(duì)象名稱(chēng) 方法名稱(chēng)2 1 2對(duì)象屬性設(shè)置對(duì)象屬性可以通過(guò)程序代碼設(shè)置 也可以在設(shè)計(jì)階段通過(guò)屬性窗口設(shè)置 為了在屬性窗口中設(shè)置對(duì)象的屬性 必須先選擇要設(shè)置屬性的對(duì)象 然后激活屬性窗口 可以用以下幾種方法激活屬性窗口 用鼠標(biāo)單擊屬性窗口的任何部位 執(zhí)行 視圖 菜單中的 屬性窗口 命令 按F4 單擊工具欄上的 屬性窗口 按鈕 按組合鍵Ctrl PageUp或Ctrl PageDown 屬性不同 設(shè)置新屬性的方式也不一樣 通常有以下幾種方式 直接鍵入新屬性值 選擇輸入 即通過(guò)下拉列表選擇所需要的屬性值 利用對(duì)話(huà)框設(shè)置屬性值 2 2窗體窗體是VisualBasic最重要的對(duì)象 它用于創(chuàng)建VisualBasic應(yīng)用程序的用戶(hù)界面或?qū)υ?huà)框 是包容用戶(hù)界面或?qū)υ?huà)框所需的各種控件的容器 2 2 1窗體的結(jié)構(gòu)與屬性窗體結(jié)構(gòu)與Windows下的窗口十分類(lèi)似 在程序運(yùn)行前 即設(shè)計(jì)階段 稱(chēng)為窗體 程序運(yùn)行后也可以稱(chēng)為窗口 窗體與Windows下的窗口不但結(jié)構(gòu)類(lèi)似 而且特性也相差不多 圖2 1就是一個(gè)窗體示意圖 圖2 1窗體示意圖 VisualBasic為窗體規(guī)定了眾多的屬性 下面在表2 1中按字母順序列出窗體的常用屬性 這些屬性適用于窗體 同時(shí)也適用于其他對(duì)象 表2 1窗體的常用屬性及其描述 2 2 2窗體事件與窗體事件有關(guān)的事件很多 下面介紹的是幾個(gè)常用的事件 1 Click 單擊 事件Click事件是單擊鼠標(biāo)左鍵時(shí)發(fā)生的事件 程序運(yùn)行后 當(dāng)單擊窗體內(nèi)的某個(gè)位置時(shí) VisualBasic將調(diào)用窗體事件過(guò)程From Click 2 DblClick 雙擊 事件程序運(yùn)行后 雙擊窗體內(nèi)的某一位置 VisualBasic將調(diào)用窗體事件過(guò)程From DblClick 雙擊 實(shí)際上觸發(fā)兩個(gè)事件 第一次按鼠標(biāo)鍵產(chǎn)生Click事件 第二次產(chǎn)生DblClick事件 3 Load 裝入 事件Load事件可以用來(lái)在啟動(dòng)程序時(shí)對(duì)屬性和變量進(jìn)行初始化 因?yàn)樵谘b入窗體后 如果運(yùn)行程序 將自動(dòng)觸發(fā)該事件 4 Unload 卸載 事件當(dāng)從內(nèi)存中清除一個(gè)窗體 關(guān)閉窗體或執(zhí)行Unload語(yǔ)句 時(shí)觸發(fā)該事件 5 Activate 活動(dòng) Deactivate 非活動(dòng) 事件當(dāng)窗體變?yōu)榛顒?dòng)窗口時(shí)觸發(fā)Activate事件 而在另一個(gè)窗體變?yōu)榛顒?dòng)窗口前觸發(fā)Deactivate事件 6 Paint 繪畫(huà) 事件當(dāng)窗體被移動(dòng)或放大時(shí) 或者窗口移動(dòng)時(shí)覆蓋了一個(gè)窗體時(shí) 觸發(fā)該事件 2 3控件所有的Windows應(yīng)用程序窗口或?qū)υ?huà)窗口 都是由諸如文本框 列表框 命令按鈕 滾動(dòng)條 命令菜單等組成的 VisualBasic通過(guò)控件箱提供了這些和用戶(hù)進(jìn)行交互的可視化部件 即控件 程序開(kāi)發(fā)人員只需要通過(guò)最簡(jiǎn)單的操作 在窗體上安排所需的控件 完成應(yīng)用程序的用戶(hù)界面設(shè)計(jì)即可 控件以圖標(biāo)的形式放在 工具箱 中 每種控件都有與之對(duì)應(yīng)的圖標(biāo) 啟動(dòng)VisualBasic后 工具箱位于窗體的左側(cè) 2 3 1標(biāo)準(zhǔn)控件 內(nèi)部控件 VisualBasic6 0的控件分為以下3類(lèi) 標(biāo)準(zhǔn)控件 也稱(chēng)內(nèi)部控件 ActiveX控件 可插入對(duì)象 啟動(dòng)VisualBasic后 工具箱中列出的就是標(biāo)準(zhǔn)控件 如圖2 2所示 工具箱里控件的具體名稱(chēng)與功能見(jiàn)表2 2 圖2 2VisualBasic控件箱 表2 2VisualBasic6 0標(biāo)準(zhǔn)控件 2 3 2控件的命名和控件值1 控件的命名每一個(gè)窗體和控件都有一個(gè)名字 這個(gè)名字就是窗體或控件的Name屬性值 在一般情況下 每一個(gè)窗體和控件都有默認(rèn)值 如Form1 Command1 Text1等 在應(yīng)用程序中使用約定的前綴 可以提高程序的可讀性 2 控件值為了方便使用 VisualBasic為每個(gè)控件規(guī)定了一個(gè)默認(rèn)屬性 在設(shè)置這樣的屬性時(shí) 不必給出屬性名 通常把該屬性稱(chēng)為控件的值 常見(jiàn)控件值如表2 3所示 表2 3部分控件的控件值 2 4控件的畫(huà)法和基本操作在設(shè)計(jì)用戶(hù)界面時(shí) 要在窗體上畫(huà)出各種所需要的控件 也就是說(shuō) 除了窗體以外 建立界面的重要工作就是畫(huà)控件 2 4 1控件的畫(huà)法可以通過(guò)兩種方法在窗體上畫(huà)一個(gè)控件 第一種方法步驟如下 以畫(huà)標(biāo)簽為例 1 單擊工具箱中的標(biāo)簽圖標(biāo) 2 把光標(biāo)移到窗體上 此時(shí)光標(biāo)變?yōu)?號(hào) 3 把 號(hào)移到窗體適當(dāng)?shù)奈恢?按下鼠標(biāo)的左鍵 不要松開(kāi) 并向右下方拖動(dòng)鼠標(biāo) 窗體上就出現(xiàn)一個(gè)方框 4 隨著鼠標(biāo)向右下方移動(dòng) 所畫(huà)的方框逐漸增大 當(dāng)增大到認(rèn)為合適的大小時(shí) 松開(kāi)鼠標(biāo)左鍵 這樣就在窗體上畫(huà)出一個(gè)標(biāo)簽控件 第二種建立控件的方法就是雙擊工具箱中的某個(gè)所需要的控件圖標(biāo) 就可以在窗體的中央顯示出該控件了 2 4 2控件的基本操作控件的基本操作主要有一下幾個(gè)方面 這和操作計(jì)算機(jī)中其它應(yīng)用程序基本上是一致的 這里就簡(jiǎn)略的介紹一下 控件的縮放和移動(dòng) 控件的復(fù)制和刪除 通過(guò)屬性窗口改變對(duì)象的位置和大小 選擇控件 本章內(nèi)容 3 1VisualBasic中的語(yǔ)句3 2編寫(xiě)簡(jiǎn)單的VisualBasic應(yīng)用程序3 3程序的保存 裝入和運(yùn)行3 4VisualBasic應(yīng)用程序的結(jié)構(gòu)與工作方式 第3章簡(jiǎn)單程序設(shè)計(jì) 3 1VisualBasic中的語(yǔ)句VisualBasic中的語(yǔ)句是執(zhí)行具體操作的指令 一般而言 每個(gè)語(yǔ)句以回車(chē)鍵結(jié)束 VisualBasic按自己的約定對(duì)語(yǔ)句進(jìn)行簡(jiǎn)單的格式化處理 例如命令詞的第一個(gè)字母大寫(xiě) 運(yùn)算符前后加空格等 在輸入語(yǔ)句時(shí) 關(guān)鍵詞 函數(shù)等在VisualBasic中不區(qū)分大小寫(xiě) VisualBasic是按行書(shū)寫(xiě)的 一個(gè)語(yǔ)句可寫(xiě)在一行上 也可以行的末尾加上 續(xù)行標(biāo)志 即一個(gè)空格加一個(gè)下劃線(xiàn)字符 而分寫(xiě)在多行上 另外 VisualBasic允許使用復(fù)合語(yǔ)句行 之間只要用冒號(hào) 隔開(kāi)即可 但是 VisualBasic規(guī)定一個(gè)語(yǔ)句行的最大長(zhǎng)度不能超過(guò)1023個(gè)字符 VisualBasic中可以使用多種語(yǔ)句 早期BASIC版本中的某些語(yǔ)句 如PRINT等 在VisualBasic中被稱(chēng)為方法 而有些語(yǔ)句 如流程控制語(yǔ)句 賦值語(yǔ)句 注釋語(yǔ)句 結(jié)束語(yǔ)句 暫停語(yǔ)句等 仍被稱(chēng)為語(yǔ)句 1 賦值語(yǔ)句用賦值語(yǔ)句可以把指定的值賦予某個(gè)變量或者某個(gè)帶有屬性的對(duì)象 其一般格式為 Let 目標(biāo)操作符 源操作符其中 關(guān)鍵字Let通常都被省略 目標(biāo)操作符 就是變量名或?qū)傩悦?而 源操作符 可以是變量 常量或?qū)傩缘闹?也可以是表達(dá)式 稱(chēng)為 賦值號(hào) 賦值語(yǔ)句的功能就是把 源操作符 的值賦給 目標(biāo)操作符 2 注釋語(yǔ)句為程序加上必要的文字說(shuō)明 是提高程序可讀性的有效方法 VisualBasic提供了兩種方法用于給程序添加注釋 1 Rem語(yǔ)句 一般格式為 Rem 2 單引號(hào) 一般格式為 使用單引號(hào)較Rem語(yǔ)句更為靈活 方便 因?yàn)樗€可以給一個(gè)代碼行添加注釋 說(shuō)明 注釋語(yǔ)句是不執(zhí)行的 僅起注釋作用 注釋語(yǔ)句不能放在續(xù)行符的后面 3 暫停語(yǔ)句 Stop 格式 Stop可以在過(guò)程中的任何地方放置Stop語(yǔ)句 使用Stop語(yǔ)句就相當(dāng)于在程序代碼中設(shè)置斷點(diǎn) 這是設(shè)置斷點(diǎn)的一個(gè)變通方法 每當(dāng)VisualBasic遇到Stop語(yǔ)句時(shí) 這條語(yǔ)句就暫停程序執(zhí)行并切換到中斷模式 雖然Stop語(yǔ)句與斷點(diǎn)的功能相像 但它們的設(shè)置或清除方法卻是不同的 Stop語(yǔ)句與下面要介紹的結(jié)束語(yǔ)句 End 不同 Stop語(yǔ)句除了暫時(shí)中止執(zhí)行外 不會(huì)關(guān)閉任何文件或清除變量 即不做任何其它事情 并且可以通過(guò)選擇 運(yùn)行 菜單中的 繼續(xù) 來(lái)繼續(xù)運(yùn)行應(yīng)用程序 除非它是以編譯后的可執(zhí)行文件 exe 方式來(lái)執(zhí)行的 此時(shí)應(yīng)用程序就把它當(dāng)作End語(yǔ)句并立即中斷執(zhí)行 而且不發(fā)生任何事件 一般情況下使用Stop語(yǔ)句主要是為了對(duì)程序進(jìn)行調(diào)試 因此 在創(chuàng)建 exe可執(zhí)行文件之前要確信刪除了所有Stop語(yǔ)句 4 結(jié)束語(yǔ)句 End 格式 End End語(yǔ)句用于結(jié)束一個(gè)過(guò)程或塊 End語(yǔ)句有如下幾種語(yǔ)法 End 停止執(zhí)行 不是必要的 可以放在過(guò)程中的任何位置 用來(lái)關(guān)閉代碼執(zhí)行 關(guān)閉以O(shè)pen語(yǔ)句打開(kāi)的文件并清除變量 EndFunction 用于結(jié)束一個(gè)Function語(yǔ)句 EndIf 用于結(jié)束一個(gè)If Then Else語(yǔ)句塊 EndProperty 用于結(jié)束一個(gè)PropertyLet PropertyGet或PropertySet過(guò)程 EndSelect 用于結(jié)束一個(gè)SelectCase語(yǔ)句 EndSub 用于結(jié)束一個(gè)Sub語(yǔ)句 EndType 用于結(jié)束一個(gè)用戶(hù)定義類(lèi)型的定義 Type語(yǔ)句 在執(zhí)行時(shí) End語(yǔ)句會(huì)重置所有模塊級(jí)別變量和所有模塊的靜態(tài)局部變量 并返回設(shè)計(jì)模式 若要保留這些變量的值 需要改用Stop語(yǔ)句 這樣可以在保留這些變量值的基礎(chǔ)上恢復(fù)執(zhí)行 3 2編寫(xiě)簡(jiǎn)單的VisualBasic應(yīng)用程序用傳統(tǒng)的面向過(guò)程的語(yǔ)言進(jìn)行程序設(shè)計(jì)時(shí) 主要的工作就是編寫(xiě)程序代碼 遵循編程 調(diào)試 改錯(cuò) 運(yùn)行這樣的一種模式 在用VisualBasic開(kāi)發(fā)程序時(shí) 則采用以中更為簡(jiǎn)單的方式 下面將具體介紹 3 2 1用VisualBasic開(kāi)發(fā)應(yīng)用程序的一般步驟在用VisualBasic開(kāi)發(fā)應(yīng)用程序時(shí) 一般需要以下幾步 1 創(chuàng)建程序的用戶(hù)界面 2 設(shè)置界面上各個(gè)對(duì)象的屬性 3 編寫(xiě)對(duì)象響應(yīng)事件的程序代碼 4 保存工程 具體內(nèi)容見(jiàn)3 3 1 5 測(cè)試和調(diào)試應(yīng)用程序 檢查并排除程序中的錯(cuò)誤 6 創(chuàng)建可執(zhí)行程序 VisualBasic的應(yīng)用程序由兩大部分組成 一是與用戶(hù)進(jìn)行交互的窗體 窗體上安排由控件 菜單等對(duì)象 即程序的用于界面 二是用于響應(yīng)各種事件及對(duì)輸入的數(shù)據(jù)進(jìn)行所需要處理的程序代碼 因此 上述幾個(gè)步驟中最重要的是前三個(gè)步驟 當(dāng)然 在著手開(kāi)發(fā)一個(gè)應(yīng)用程序之前 必須對(duì)該程序所要實(shí)現(xiàn)的功能 實(shí)現(xiàn)的方法加以考慮 這是不言而喻的 3 3程序的保存 裝入和運(yùn)行3 3 1程序的保存一個(gè)VisualBasic程序也稱(chēng)為一個(gè)工程 它是由窗體 標(biāo)準(zhǔn)模塊 自定義控件和應(yīng)用所需的環(huán)境設(shè)置組成的 在設(shè)計(jì)一個(gè)應(yīng)用時(shí) 系統(tǒng)會(huì)建立一個(gè)擴(kuò)展名為 vbp的工程文件 工程文件列出了在創(chuàng)建該工程時(shí)所建立的所有文件的相關(guān)信息 如窗體文件 擴(kuò)展名為 frm或 frx 它包括有窗體 窗體上的對(duì)象以及窗體上的事件響應(yīng)代碼 標(biāo)準(zhǔn)模塊文件 擴(kuò)展名為 bas 它包含了有可被任何窗體或?qū)ο笳{(diào)用的過(guò)程程序代碼 標(biāo)準(zhǔn)模塊文件在一個(gè)工程中是可選的 除此之外 一個(gè)工程還可包括自定義控件文件 擴(kuò)展名為 ocx VisualBasic類(lèi)模塊文件 擴(kuò)展名為 cls 資源文件 擴(kuò)展名為 res 用于文檔 擴(kuò)展名為 dob或 dox 保存工程時(shí) 系統(tǒng)將把該工程的所有相關(guān)文件一起保存 在打開(kāi)一個(gè)工程文件時(shí) 系統(tǒng)也將把該工程文件中列出的所有文件同時(shí)裝載 為了使用和管理方便起見(jiàn) 建議把一個(gè)工程存儲(chǔ)在一個(gè)獨(dú)立的文件夾內(nèi) 使用 文件 菜單中的 保存工程 命令或工具欄上的 保存工程 按鈕即可保存工程 3 3 2程序的裝入有時(shí)為了進(jìn)行查看或修改 常常要打開(kāi)一個(gè)已經(jīng)存盤(pán)的程序 一個(gè)VisualBasic應(yīng)用程序包括6類(lèi)文件 即窗體文件 標(biāo)準(zhǔn)模塊文件 類(lèi)模塊文件 工程文件 工程組文件和資源文件 這些文件都有自己的文件名 可以單獨(dú)打開(kāi) 但如果直接打開(kāi)工程文件 就可以自動(dòng)把與該工程有關(guān)的其 它類(lèi)文件一同裝入內(nèi)存 VisualBasic有以下3種運(yùn)行模式 1 設(shè)計(jì)模式 2 運(yùn)行模式 3 Break 中斷 模式 3 3 3程序的運(yùn)行設(shè)計(jì)完程序并存入磁盤(pán)后 就可以運(yùn)行程序了 運(yùn)行程序有兩個(gè)目的 一是輸出結(jié)果 二是發(fā)現(xiàn)錯(cuò)誤 在VisualBasic集成環(huán)境中 程序可以用解釋的方式執(zhí)行 也可以生成可執(zhí)行文件 EXE 1 解釋運(yùn)行解釋運(yùn)行方式就是通過(guò)相應(yīng)的解釋程序?qū)⒃闯绦蛑鹁浞g成機(jī)器指令 每譯完一句就執(zhí)行一句 解釋程序不再產(chǎn)生目標(biāo)程序 而是借助于解釋程序直接執(zhí)行源程序本身 執(zhí)行過(guò)程中某句有錯(cuò)誤 則立即顯示出錯(cuò)信息 修改后才能繼續(xù)執(zhí)行 這種方式便于查錯(cuò)和修改 但運(yùn)行效率比較低 與解釋運(yùn)行方式相對(duì)應(yīng)的是編譯運(yùn)行方式 即用編譯程序?qū)⒃闯绦蚍g成目標(biāo)程序 再用連接程序?qū)⒛繕?biāo)程序與函數(shù)庫(kù)等連接 最終處理成可執(zhí)行程序后才可直接在計(jì)算機(jī)上運(yùn)行 這種方式下程序的運(yùn)行效率高 但不利于程序的調(diào)試 因?yàn)榫幾g的程序一旦加載內(nèi)存后就變成只讀的 在調(diào)試過(guò)程中如果發(fā)現(xiàn)程序有錯(cuò)想要修改 必須先終止程序 相當(dāng)于載出內(nèi)存 然后修改原始程序 重新編譯后再重新執(zhí)行 2 生成可執(zhí)行文件創(chuàng)建可執(zhí)行程序就是將當(dāng)前的工程編譯成可執(zhí)行程序 使其可以脫離VisualBasic環(huán)境 直接在Windows下獨(dú)立運(yùn)行 一般在結(jié)束應(yīng)用程序開(kāi)發(fā)時(shí) 需要將整個(gè)工程編譯為可 執(zhí)行文件 由于可執(zhí)行程序文件常常需要一些支持文件才能夠正常運(yùn)行 所以一般要用安裝向?qū)⑺械南嚓P(guān)文件打包 最終形成可以在用戶(hù)計(jì)算機(jī)上自動(dòng)安裝程序及相關(guān)文件的產(chǎn)品 3 4VisualBasic應(yīng)用程序的結(jié)構(gòu)與工作方式VisualBasic是一種可視化的 面向?qū)ο蟮牟捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言 無(wú)論程序的結(jié)構(gòu)還是工作方式 都與傳統(tǒng)程序設(shè)計(jì)語(yǔ)言大不相同 3 4 1VisualBasic應(yīng)用程序的構(gòu)成應(yīng)用程序的結(jié)構(gòu)指的是指令存放的位置以及指令執(zhí)行的順序 對(duì)于簡(jiǎn)單的應(yīng)用程序 程序的結(jié)構(gòu)可能不重要 但是對(duì)于稍復(fù)雜一些的程序 其對(duì)組織或結(jié)構(gòu)的要求就會(huì)變得很高 模塊是VisualBasic用于將不同類(lèi)型過(guò)程代碼組織到一起而提供的一種結(jié)構(gòu) VisualBasic應(yīng)用程序通常由3類(lèi)模塊組成 窗體模塊 標(biāo)準(zhǔn)模塊和類(lèi)模塊 1 窗體模塊在VisualBasic中 一個(gè)應(yīng)用程序包含一個(gè)或多個(gè)窗體模塊 每個(gè)窗體模塊分為兩個(gè)部分 一部分作為用戶(hù)界面的窗體 另一部分是執(zhí)行具體操作的代碼 每個(gè)窗體模塊都包含事件過(guò)程 即代碼部分 這些代碼是為響應(yīng)特定事件而執(zhí)行的指令 在窗體上可以還有控件 窗體上的每個(gè)控件都有一個(gè)相對(duì)應(yīng)的事件過(guò)程集 如果某些通用過(guò)程僅共本窗體內(nèi)的其它工程共享 則它也可包含在該窗體模塊之中 2 標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊完全是由代碼組成的 這些代碼不與具體的窗體或控件相關(guān)聯(lián) 在應(yīng)用程序中可被多個(gè)窗體共享的代碼 應(yīng)該被組織到所謂的 標(biāo)準(zhǔn)模塊 之中 標(biāo)準(zhǔn)模塊中保存的過(guò)程都是通用過(guò)程 除了這些通用過(guò)程之外 標(biāo)準(zhǔn)模塊中還包含有相關(guān)的說(shuō)明 特被值得一提的是 標(biāo)準(zhǔn)模塊中代碼不僅能用于一個(gè)應(yīng)用程序 而且可以供其它應(yīng)用程序重復(fù)使用 3 類(lèi)模塊類(lèi)模塊是沒(méi)有物理表示的控件 它既包含代碼由包含數(shù)據(jù) 這和標(biāo)準(zhǔn)模塊不一樣 每個(gè)類(lèi)模塊定義了一個(gè)類(lèi) 可以在窗體模塊中定義類(lèi)的對(duì)象 調(diào)用類(lèi)模塊中的過(guò)程 3 4 2事件驅(qū)動(dòng)在傳統(tǒng)的面向過(guò)程的應(yīng)用程序中 執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼都是由程序本身控制的 而在面向?qū)ο蟮某绦蛟O(shè)計(jì)中 程序員是以 對(duì)象 為核心來(lái)設(shè)計(jì)程序的 而不是以 過(guò)程 為核心來(lái)考慮應(yīng)用程序的結(jié)構(gòu) 在面向?qū)ο蟮某绦蛟O(shè)計(jì)中 事件驅(qū)動(dòng)是必不可少的 對(duì)于VisualBasic來(lái)說(shuō) 它其中的每一個(gè)窗體和每一個(gè)控件都是可以識(shí)別事件的 并且它們各自都有一個(gè)預(yù)定義的事件集 不同的對(duì)象能識(shí)別不同的事件 當(dāng)某一對(duì)象識(shí)別到與其有關(guān)的事件發(fā)生時(shí) 就會(huì)觸發(fā)事件過(guò)程 也就是一段程序 VisualBasic程序設(shè)計(jì)的一項(xiàng)重要任務(wù)就是編寫(xiě)這些事件響應(yīng)程序 事件過(guò)程 當(dāng)其中的某個(gè)事件發(fā)生 時(shí) 且在相關(guān)聯(lián)的事件過(guò)程中存有程序代碼 VisualBasic將響應(yīng)這些事件 執(zhí)行這些代碼 事件驅(qū)動(dòng)應(yīng)用程序的典型操作序列為 啟動(dòng)應(yīng)用程序 加載和顯示窗體 窗體或窗體上的控件接收事件 事件可以由用戶(hù)引發(fā) 例如鍵盤(pán)操作 可以由系統(tǒng)引發(fā) 例如定時(shí)器事件 也可以由代碼間接引發(fā) 例如當(dāng)代碼加載窗體時(shí)的Load事件 如果相應(yīng)的事件過(guò)程中存在代碼 則執(zhí)行該代碼 應(yīng)用程序等待下一次事件 特別要提到的是 有些事件可能伴隨著其它事件的發(fā)生 例如 在發(fā)生DblClick事件時(shí) 將伴隨發(fā)生Click等事件 本章內(nèi)容 4 1數(shù)據(jù)類(lèi)型4 2變量和常量4 3變量的作用域4 4常用內(nèi)部函數(shù)4 5運(yùn)算符與表達(dá)式 第4章VisualBasic程序設(shè)計(jì)基礎(chǔ) 4 1數(shù)據(jù)類(lèi)型數(shù)據(jù)是程序處理的對(duì)象 VisualBasic具有強(qiáng)大的數(shù)據(jù)處理能力 它的具體表現(xiàn)就是VisualBasic程序不僅可以處理各種數(shù)制的數(shù) 而且具有豐富的數(shù)據(jù)類(lèi)型 4 1 1基本數(shù)據(jù)類(lèi)型VisualBasic6 0提供的基本數(shù)據(jù)類(lèi)型主要有字符串型和數(shù)值型 此外還提供了字節(jié) 貨幣 對(duì)象 日期 布爾和變體數(shù)據(jù)類(lèi)型等共計(jì)11種之多 表4 1列出了這些數(shù)據(jù)類(lèi)型的名稱(chēng) 存儲(chǔ)大小以及數(shù)據(jù)的取值范圍 表4 1VisualBasic基本數(shù)據(jù)類(lèi)型 變體型數(shù)據(jù)是VisualBasic的缺省數(shù)據(jù)類(lèi)型 它可以存儲(chǔ)各種類(lèi)型的數(shù)據(jù) 說(shuō)明 由于VisualBasic處理整型數(shù)的速度最快 且沒(méi)有數(shù)制轉(zhuǎn)換誤差 所以在能使用整型數(shù)的地方盡量使用 在進(jìn)行帶小數(shù)的數(shù)據(jù)運(yùn)算時(shí) 常常會(huì)因數(shù)制轉(zhuǎn)換而產(chǎn)生不精確的運(yùn)算結(jié)果 所以若需要較高的精確度時(shí) 可使用雙精度類(lèi)型 貨幣類(lèi)型的計(jì)算要比雙精度數(shù)和單精度數(shù)的計(jì)算精確度都要高 4 1 2用戶(hù)定義的數(shù)據(jù)類(lèi)型用戶(hù)可以利用Type語(yǔ)句定義自己的數(shù)據(jù)類(lèi)型 其格式如下 Type數(shù)據(jù)類(lèi)型名數(shù)據(jù)類(lèi)型元素名As類(lèi)型名數(shù)據(jù)類(lèi)型元素名As類(lèi)型名 EndType其中 數(shù)據(jù)類(lèi)型名 是要定義的數(shù)據(jù)類(lèi)型的名字 其命名規(guī)則和變量的命名規(guī)則為是一樣的 數(shù)據(jù)類(lèi)型元素名 也要遵循變量的命名規(guī)則 且不能是數(shù)組名 類(lèi)型名 可以是任何基本數(shù)據(jù)類(lèi)型 也可以是用戶(hù)定義的類(lèi)型 說(shuō)明 用戶(hù)定義的數(shù)據(jù)類(lèi)型中的元素可以是變長(zhǎng)字符串 也可以是定長(zhǎng)字符串 用戶(hù)定義的數(shù)據(jù)類(lèi)型的定義必須放在模塊的聲明部分 在使用的時(shí)候 必須用Type語(yǔ)句加以定義 用戶(hù)定義的數(shù)據(jù)類(lèi)型中不能使用動(dòng)態(tài)數(shù)組 在隨機(jī)文件的操作中 用戶(hù)定義的數(shù)據(jù)類(lèi)型數(shù)據(jù)有著重要的作用 4 2變量和常量在程序中取值始終保持不變的數(shù)據(jù)稱(chēng)為 常量 常量可以是具體的數(shù)值 也可以是專(zhuān)門(mén)說(shuō)明的符號(hào) 以符號(hào)形式出現(xiàn)在程序中 且取值可以發(fā)生變化的數(shù)據(jù)稱(chēng)為 變量 在程序執(zhí)行前已知 且在程序重復(fù)執(zhí)行時(shí) 不發(fā)生變化的量 可把它的取值直接寫(xiě)入程序 變量則是存儲(chǔ)單元的代號(hào) 從計(jì)算機(jī)的外部設(shè)別輸入的數(shù)據(jù) 必須送入變量中保存 而在程序執(zhí)行過(guò)程中 變量的內(nèi)容可以不斷地改變 存入新的內(nèi)容 4 2 1常量VisualBasic中的常量分為兩種 一種是文字常量 一種是符號(hào)常量 1 文字常量VisualBasic中的文字常量又分為數(shù)值常量 字符串常量 邏輯常量和日期常量 1 數(shù)值常量一般的數(shù)值常量是由正負(fù)號(hào) 數(shù)字和小數(shù)點(diǎn)組成 整數(shù)的正號(hào)可以省略 在VisualBasic中 除了十進(jìn)制數(shù)以外 還有八進(jìn)制數(shù)和十六進(jìn)制數(shù) 十進(jìn)制數(shù)的表示方式與日常使用的形式一樣 不帶小數(shù)點(diǎn)的數(shù)稱(chēng)為 整數(shù) VisualBasic中的整數(shù)又可以分為整型和長(zhǎng)整型 從表4 1中 我們了解到 整型占2個(gè)字節(jié) 表示的范圍小 長(zhǎng)整型占4個(gè)字節(jié) 表示的范圍大 帶小數(shù)點(diǎn)的數(shù)稱(chēng)為 實(shí)型數(shù) 或 浮點(diǎn)數(shù) 根據(jù)占用的存儲(chǔ)量的大小 又可分為單精度型和雙精度型 由于雙精度型占用的字節(jié)數(shù)比單精度型的大 因此不僅表示的數(shù) 據(jù)范圍要比單精度型的大 而且數(shù)據(jù)的有效位數(shù)也比單精度型的多 在計(jì)算機(jī)程序中 很大的數(shù)或很小的數(shù)通常是以指數(shù)的形式表示的 10的冪次則以字母E或D代表 也就是說(shuō) 浮點(diǎn)數(shù)值可表示為mmmEeee或mmmDeee兩種形式 其中mmm是尾數(shù) 而eee是指數(shù) 指數(shù)符號(hào)E表示的是單精度 D表示的是雙精度 例如 496 1593 整型 1956321 456982 長(zhǎng)整型 2 3 76 2932 593E 5 單精度 2 232223 986 899889 8 232356D 78 雙精度 VisualBasic中八進(jìn)制數(shù)和十六進(jìn)制數(shù)都是無(wú)符號(hào)數(shù) 八進(jìn)制數(shù)的表示方法是在數(shù)字前面加 O 而十六進(jìn)制數(shù)的表示方法是在數(shù)字前面加 H 例如 O144表示這是一個(gè)八進(jìn)制數(shù) 相當(dāng)于十進(jìn)制數(shù)100 H144表示這是一個(gè)八進(jìn)制數(shù) 相當(dāng)于十進(jìn)制數(shù)324 2 字符串常量字符串常量有字符組成 可以是除了雙引號(hào)和回車(chē)符之外的任何ASCII字符 其長(zhǎng)度不能超過(guò)65535個(gè)字符 定長(zhǎng) 或231個(gè)字符 變長(zhǎng) 例如 Goodafter 蘇A30557 3 邏輯常量邏輯常量也叫做布爾型常量 它只有兩個(gè)取值 True和False 4 日期常量日期常量的一般格式是 mm dd yyyy 例如2007年10 月24日可表示為 10 24 2007 說(shuō)明 為了避免與字符串常量混淆起來(lái) 日期常量通常要用 括起來(lái) 以示區(qū)別 2 符號(hào)常量常量在程序中也可以用符號(hào)來(lái)表示 以符號(hào)形式出現(xiàn)的常量稱(chēng)為 符號(hào)常量 代表常量的符號(hào)稱(chēng)作 常量名 常量名是一個(gè)長(zhǎng)度不能超過(guò)255個(gè)字符 只能由字母 數(shù)字和下劃線(xiàn)組成且首字符必須是字母的字符串 定義符號(hào)常量用Const語(yǔ)句聲明 一般格式如下 Public Private Const AsType 如果使用Public 則被聲明的常量可以在整個(gè)應(yīng)用程序中使用 而使用Private 則被聲明的常量只能在聲明的范圍內(nèi)使用 Type用于指定常量的數(shù)據(jù)類(lèi)型 另外 也可以在聲明時(shí) 通過(guò)數(shù)據(jù)類(lèi)型符號(hào)規(guī)定常量的類(lèi)型 例如 ConstbookAsInteger 100 Constnumber 蘇A0557 Constmoney 1234567980 和 是用于說(shuō)明數(shù)據(jù)類(lèi)型的符號(hào) number 是字符串常量 money 是長(zhǎng)整型常量 還有其它的數(shù)據(jù)類(lèi)型符號(hào) 如表4 2所示 表4 2數(shù)據(jù)類(lèi)型符號(hào) 說(shuō)明 常量名中的字母不區(qū)分大小寫(xiě) 這和C語(yǔ)言不一樣 在聲明符號(hào)常量時(shí) 可以用數(shù)據(jù)類(lèi)型說(shuō)明符 當(dāng)在程序中引用符號(hào)常量時(shí) 通常省略數(shù)據(jù)類(lèi)型說(shuō)明符 數(shù)據(jù)類(lèi)型說(shuō)明符不是符號(hào)常量的一部分 定義符號(hào)常量后 在定義變量時(shí)要慎用 4 2 2變量1 命名規(guī)則變量名的命名規(guī)則如下 變量名只能由字母 數(shù)字和下劃線(xiàn)組成 首字符必須是英文字母 最后一個(gè)字符可以是類(lèi)型說(shuō)明符 變量名的長(zhǎng)度不能超過(guò)255個(gè)字符 在作用域內(nèi)必須唯一 不能用VisualBasic的保留字作為變量名 但可以把保留字嵌入變量名中 同時(shí) 變量名也不能是末尾帶有類(lèi)型說(shuō)明符的保留字 2 變量的類(lèi)型和定義任何變量都屬于一定的數(shù)據(jù)類(lèi)型 包括基本數(shù)據(jù)類(lèi)型和用戶(hù)定義的數(shù)據(jù)類(lèi)型 在VisualBasic中 可以用下面幾種方式來(lái)規(guī)定一個(gè)變量的類(lèi)型 1 用類(lèi)型說(shuō)明符來(lái)標(biāo)識(shí)把類(lèi)型說(shuō)明符放在變量名的尾部 可以標(biāo)識(shí)不同的變量類(lèi)型 這種方法稱(chēng)作 隱式說(shuō)明 具體的用法可以見(jiàn)表4 2 2 在定義變量時(shí)指定其類(lèi)型這種定義變量的方法又稱(chēng)作 顯示說(shuō)明 具體格式如下 DeclareAs這里的 Declare 可以是Dim Static Public或Private As 是關(guān)鍵字 類(lèi)型 可以是基本的數(shù)據(jù)類(lèi)型或者是用戶(hù)定義的類(lèi)型 Dim 最為常用 可用于任何場(chǎng)合 可以用于在標(biāo)準(zhǔn)模塊 窗體模塊或過(guò)程中定義變量或數(shù)組 具體的格式如下 DimAs As 例如 DimCounterAsInteger 把Counter定義為整型變量 DimNameAsString ageAsInteger 把Name定義為字符串型 age定義為整型 Static 用于說(shuō)明靜態(tài)變量和數(shù)組變量 且只能在過(guò)程中定義 具體的格式如下 StaticAs As Public 用于定義全局變量或數(shù)組 用在標(biāo)準(zhǔn)模塊中 具體的格式如下 PublicAs As 3 用DefType語(yǔ)句定義用DefType可以在標(biāo)準(zhǔn)模塊 窗體模塊的聲明部分定義變量 具體的格式如下 DefType字母范圍這里的Def是保留字 Type是類(lèi)型的標(biāo)志 可以是Int Lng Sng Dbl Cur Byte Bool Date Obj Var 分別表示整型 長(zhǎng)整型 單精度型 雙精度型 貨幣型 字符串型 布爾型 日期型 對(duì)象型 變體型 字母范圍 用 字母 字母 的形式表示 其中 字母 可以是A Z中的任何一個(gè) 不區(qū)分大小寫(xiě) 例如 DefTypeg o在DefType語(yǔ)句中說(shuō)明的字母可以作為該類(lèi)型的變量名而且以該字母開(kāi)頭的變量名也是那種類(lèi)型的變量 此外 DefType語(yǔ)句一般放在模塊的開(kāi)頭部分 3 變體類(lèi)型變量 1 Variant變量的定義Variant變量可以用普通數(shù)據(jù)類(lèi)型變量的格式定義 也可以默認(rèn)定義 即任何沒(méi)有預(yù)先定義的變量均為Variant型 2 Variant變量值的內(nèi)部表示Variant變量所存放的值都有一個(gè)內(nèi)部表示 在執(zhí)行比較等操作時(shí) Variant變量根據(jù)其內(nèi)部表示確定如何操作 向Variant變量賦值時(shí) VisualBasic以最緊湊 存儲(chǔ)空間最小 的表示方式存儲(chǔ)該值 并可根據(jù)需要改變表示方式 3 Variant變量中的數(shù)值在Variant變量中存放數(shù)值時(shí) VisualBasic以盡量緊湊的方式存儲(chǔ) 4 Variant變量中的字符串在對(duì)存放字符串的Variant變量進(jìn)行操作時(shí)可能會(huì)產(chǎn)生歧義 當(dāng)用 運(yùn)算符對(duì)兩個(gè)Variant變量進(jìn)行運(yùn)算時(shí) 如果 兩個(gè)變量都是數(shù)值 則執(zhí)行數(shù)值相加運(yùn)算 如果兩個(gè)變量中存放的都是字符串 則執(zhí)行字符串連接操作 如果一個(gè)變量是數(shù)值而另一個(gè)變量是字符串 則情況就復(fù)雜了 VisualBasic先試著將字符串轉(zhuǎn)換為數(shù)值 如果轉(zhuǎn)換成功則進(jìn)行相加運(yùn)算 不成功則把另一個(gè)數(shù)值轉(zhuǎn)換成字符串 然后對(duì)兩個(gè)字符串進(jìn)行連接 形成一個(gè)新的字符串 5 Variant變量中的空值 Empty Variant變量在被復(fù)制前是空值 內(nèi)部表示為Empty或0 它不同于數(shù)值0 不同于空字符串 也不同于下面介紹的Null 通過(guò)IsEmpty函數(shù)可以測(cè)試一個(gè)變量自建立以來(lái)是否被賦過(guò)值 6 Variant變量中的Null值Variant變量可以取一個(gè)特殊值 Null 該值通常在數(shù)據(jù)庫(kù)應(yīng)用程序中用來(lái)指出未完成或漏掉的數(shù)據(jù) Null值具有以下一些特性 蔓延性 如果表達(dá)式中任一部分為Null 則整個(gè)表達(dá)式的值即為Null 如果向函數(shù)傳送Null 值為Null的Variant變量或結(jié)果為Null的表達(dá)式 則會(huì)使大多數(shù)函數(shù)返回Null值 Null值會(huì)在返回Variant變量的內(nèi)部函數(shù)中蔓延 說(shuō)明 當(dāng)在一個(gè)Dim語(yǔ)句中定義多個(gè)變量時(shí) 每個(gè)變量都要用As聲明其類(lèi)型 否則該變量被看作是變體類(lèi)型 與Dim不同 用Static定義的變量 每次引用變量的時(shí)候 變量的值會(huì)繼續(xù)保留 而引用Dim定義的變量的時(shí)候 變量的值會(huì)被重新設(shè)置 因此 通常把由Dim定義的變量叫做自動(dòng)變量 將由Static定義的變量稱(chēng)為靜態(tài)變量 若對(duì)一個(gè)變量沒(méi)有進(jìn)行定義 則系統(tǒng)默認(rèn)為變體類(lèi)型的變量 用DefType定義的變量只對(duì)它所在的模塊其作用 用類(lèi)型說(shuō)明符定義的變量 在使用時(shí)可以省略類(lèi)型說(shuō)明符 在實(shí)際使用中 根據(jù)需要定義變量的類(lèi)型 4 3變量的作用域根據(jù)變量說(shuō)明方式的不同 變量的有效作用范圍也不同 變量的有效作用范圍稱(chēng)為變量的作用域 4 3 1局部變量與全局變量根據(jù)變量的定義位置和所使用的變量定義語(yǔ)句的不同 VisualBasic中的變量可以分為3類(lèi) 即局部 Local 變量 模塊 Module 變量及全局 Public 變量 其中模塊變量包括窗體模塊變量和標(biāo)準(zhǔn)模塊變量 1 局部變量在過(guò)程 事件過(guò)程或通用過(guò)程 內(nèi)定義的變量叫做局部變量 其作用域是它所在的過(guò)程 局部變量一般是用作臨時(shí)變量或存放中間結(jié)果的 可以用Dim Static來(lái)定義變量 2 模塊變量 窗體變量和標(biāo)準(zhǔn)模塊變量 窗體變量和標(biāo)準(zhǔn)模塊變量是在窗體或標(biāo)準(zhǔn)模塊中聲明的 在定義該變量的窗體或模塊的所有過(guò)程內(nèi)均有效 可以用Dim或Private來(lái)定義變量 3 全局變量全局變量也稱(chēng)為共有變量 或全程變量 其作用域的范圍最大 變量只能在標(biāo)準(zhǔn)模塊中聲明 在工程內(nèi)的所有過(guò)程中都有效 此外 全局變量只能用Public或Global語(yǔ)句來(lái)聲明 其它聲明語(yǔ)句一律不能用 三種變量的作用域見(jiàn)表4 3 表4 3變量的作用域 4 3 2默認(rèn)聲明對(duì)于局部變量來(lái)說(shuō) 可以不用Dim或Static來(lái)定義 而直接給出變量名 同時(shí)不加類(lèi)型說(shuō)明符 此時(shí)VisualBasic會(huì)自動(dòng)默認(rèn)聲明該變量是變體數(shù)據(jù)類(lèi)型 這樣做固然比較方便 而且還能節(jié)省代碼 但是這有可能會(huì)帶來(lái)麻煩 使程序出現(xiàn)無(wú)法預(yù)料的結(jié)果 同時(shí)在檢查程序的時(shí)候也很難查出錯(cuò)誤 因此為了安全起見(jiàn) 最好能將程序中要用的所有變量全部進(jìn)行定義 有時(shí)候程序員在寫(xiě)程序的時(shí)候 也會(huì)忘記對(duì)一些變量進(jìn)行定義 為了避免這種情況的發(fā)生 VisualBasic中提供了強(qiáng)制程序員對(duì)變量進(jìn)行聲明的措施 具體的操作如下 打開(kāi) 工具 菜單 選擇 選項(xiàng) 選擇 編輯器 選項(xiàng)卡 選擇 要求變量聲明 單擊 確定 完成 如圖4 1所示 圖4 1強(qiáng)制變量聲明 這樣設(shè)置后 一旦出現(xiàn)沒(méi)有聲明的變量 VisualBasic將會(huì)提示程序員 變量未定義 4 4常用內(nèi)部函數(shù)內(nèi)部函數(shù) 也叫公共函數(shù) 是由系統(tǒng)提供的 可在任何一個(gè)VisualBasic程序中隨時(shí)使用的程序段 每個(gè)內(nèi)部函數(shù)用于進(jìn)行某個(gè)特定的運(yùn)算或處理 每個(gè)內(nèi)部函數(shù)都有系統(tǒng)規(guī)定的函數(shù)名 例如 Sin就是求正弦值 使用內(nèi)部函數(shù)稱(chēng)為函數(shù)調(diào)用 函數(shù)調(diào)用的格式如下 x1 x2 其中 x1 x2 是調(diào)用內(nèi)部函數(shù)時(shí)的自變量序列 自變量的個(gè)數(shù) 排列次序和數(shù)據(jù)類(lèi)型 應(yīng)和內(nèi)部函數(shù)規(guī)定的參數(shù)相同 例如 求30的正弦值 只要在程序中寫(xiě)上Sin 30 即可 VisualBasic給我們提供了很多內(nèi)部函數(shù) 大體上可以 分為5類(lèi) 分別是轉(zhuǎn)換函數(shù) 數(shù)學(xué)函數(shù) 時(shí)間函數(shù) 隨機(jī)函數(shù)以及字符串函數(shù) 其中字符串函數(shù)是一個(gè)重點(diǎn) 同時(shí)也是全國(guó)計(jì)算機(jī)等級(jí)考試中的??键c(diǎn) 4 4 1轉(zhuǎn)換函數(shù)表4 4是VisualBasic常用的轉(zhuǎn)換函數(shù) 表4 4轉(zhuǎn)換函數(shù) 注 函數(shù)名中用方括號(hào)括起來(lái)的 可以省略 4 4 2數(shù)學(xué)函數(shù)表4 5是VisualBasic常用的數(shù)學(xué)函數(shù) 表4 5數(shù)學(xué)函數(shù) 4 4 3時(shí)間函數(shù)表4 6是VisualBasic常用的時(shí)間函數(shù) 表4 6時(shí)間函數(shù) 時(shí)間函數(shù)的自變量Now是一個(gè)內(nèi)部變量 不需要用戶(hù)定義 用它作自變量 可以用時(shí)間函數(shù)返回當(dāng)前系統(tǒng)的時(shí)間 4 4 4隨機(jī)函數(shù)表4 7是VisualBasic常用的隨機(jī)函數(shù) 說(shuō)明 當(dāng)隨機(jī)函數(shù)的自變量x 0時(shí) 則給出的時(shí)上一次利用本函數(shù)產(chǎn)生的隨機(jī)數(shù) 用Rnd隨機(jī)函數(shù)可以產(chǎn)生隨機(jī)數(shù) 當(dāng)以一個(gè)應(yīng)用程序不斷地重復(fù)使用隨機(jī)數(shù)時(shí) 同一序列的隨機(jī)數(shù)會(huì)重復(fù)出現(xiàn) 而利用Randomize語(yǔ)句可以消除這種情況 它的用法與Rnd是一樣的 這是它的自變量表示的含義是隨機(jī)數(shù)發(fā)生器的 種子數(shù) 可以省略 表4 7隨機(jī)函數(shù) 4 4 5轉(zhuǎn)換函數(shù)表4 4是VisualBasic常用的字符串函數(shù) 表4 8字符串函數(shù) 說(shuō)明 Left和Right這兩個(gè)函數(shù) 當(dāng)所取的字符個(gè)數(shù)大于給定的字符串長(zhǎng)度 則返回整個(gè)字符串 在Mi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程問(wèn)題課件
- 夏季北京高中畢業(yè)會(huì)考思想政治試題和答案
- 小學(xué)生防雷雨安全課件
- 小學(xué)生紅色美術(shù)課件圖片
- 小學(xué)生穿搭小課堂課件
- 智能家居技術(shù)保密及產(chǎn)品銷(xiāo)售合作合同
- 草牧場(chǎng)承包與草原生態(tài)補(bǔ)償機(jī)制實(shí)施與管理合作協(xié)議
- 車(chē)輛租賃保險(xiǎn)條款解讀及咨詢(xún)合同
- 車(chē)輛抵押貸款合同范本(含稅費(fèi)處理)
- 通信網(wǎng)絡(luò)安裝服務(wù)知識(shí)測(cè)試試卷含中國(guó)電信使命等內(nèi)容
- 幼兒園體能大循環(huán)培訓(xùn)
- (正式版)JBT 3300-2024 平衡重式叉車(chē) 整機(jī)試驗(yàn)方法
- 團(tuán)體心理咨詢(xún)的主要理論專(zhuān)家講座
- 骨盆骨折中醫(yī)護(hù)理常規(guī)
- mil-std-1916抽樣標(biāo)準(zhǔn)(中文版)
- 大學(xué)學(xué)院“十四五”師資隊(duì)伍建設(shè)規(guī)劃(2021-2025)
- 鋰電池行業(yè)MES應(yīng)用解決方案
- TCHALPA 0004-2023 民用無(wú)人機(jī)應(yīng)急救援應(yīng)用專(zhuān)業(yè)操控員合格證考試點(diǎn)管理辦法
- 2023-2024蘇教版七年級(jí)數(shù)學(xué)上冊(cè)期末試卷
- 英國(guó)和美國(guó)社區(qū)居家安寧療護(hù)服務(wù)模式及其對(duì)我國(guó)的啟示
- 橙黃橘綠半甜時(shí) 季羨林 史鐵生 汪曾祺等文學(xué)大家
評(píng)論
0/150
提交評(píng)論