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