




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一講第一章VisualBasic的基礎(chǔ)知識(shí)(一)VisualBasic程序設(shè)計(jì)
2023/11/222第一章VisualBasic的基礎(chǔ)知識(shí)§1.1VisualBasic簡(jiǎn)介一、VisualBasic概述二、VisualBasic的誕生和發(fā)展三、VisualBasic6.0中文版的啟動(dòng)和退出§1.2VisualBasic的特點(diǎn)
2023/11/223§1.1VisualBasic簡(jiǎn)介一、VisualBasic概述
VisualBasic(以下簡(jiǎn)稱(chēng)VB)是美國(guó)微軟公司推出的Windows環(huán)境下的軟件開(kāi)發(fā)工具,使用VB可以快速開(kāi)發(fā)Windows應(yīng)用軟件。Visual是“可視化的”的意思,也就是說(shuō)使用VB可進(jìn)行直觀(guān)的編程,用戶(hù)通過(guò)使用窗口、控件(如各種各樣的按鈕、文本框、復(fù)選框、圖片框等)來(lái)設(shè)計(jì)工程界面??赏ㄟ^(guò)對(duì)控件的屬性設(shè)置來(lái)改變其外觀(guān),編程時(shí)只需針對(duì)每個(gè)對(duì)象的事件過(guò)程進(jìn)行模塊化2023/11/224
編程,而無(wú)需編寫(xiě)大量的代碼去描述界面元素的外觀(guān)和位置,就能方便快捷地創(chuàng)建出功能強(qiáng)大的應(yīng)用程序。二、VisualBasic的誕生和發(fā)展
1991年微軟公司推出了VisualBasic1.0,VB的誕生使編程技術(shù)向前邁進(jìn)了一大步。1992年微軟推出VisualBasic2.0,之后在1993年又推出VisualBasic3.0。在1995年隨著Windows95的發(fā)布,VisualBasic4.0也同時(shí)問(wèn)世。1997年微軟公司開(kāi)始推出Windows開(kāi)發(fā)工具套件MicrosoftVisualStudio1.0其中包括VisualBasic5.02023/11/2251998所發(fā)布的MicrosoftVisualStudio98則包括了VisualBasic6.0。
VisualBasic6.0,共有三種版本,各自滿(mǎn)足不同的開(kāi)發(fā)需要?!癡isualBasic學(xué)習(xí)版”使編程人員輕松開(kāi)發(fā)Windows95/98和WindowsNT應(yīng)用程序,該版本包括了所有的內(nèi)部控件。“專(zhuān)業(yè)版”為專(zhuān)業(yè)編程人員提供了一整套進(jìn)行開(kāi)發(fā)的功能完備的工具,該版本包括了學(xué)習(xí)版的全部功能?!捌髽I(yè)版”使得專(zhuān)業(yè)編程人員能夠開(kāi)發(fā)出功能強(qiáng)大的分布式、高性能的客戶(hù)/服務(wù)器或Internet/Intranet應(yīng)用程序,該版本包括了企業(yè)版的全部功能。
2023/11/226§1.1VisualBasic簡(jiǎn)介三、VisualBasic6.0中文版的啟動(dòng)和退出1.啟動(dòng)VisualBasic6.0(1)單擊“開(kāi)始”按鈕,選擇“程序”選項(xiàng),然后在子菜單中選擇“MicrosoftVisualBasic6.0中文版/MicrosoftVisualBasic6.0中文版”,即可出現(xiàn)VisualBasic的“新建工程”的對(duì)話(huà)框,如下頁(yè)圖1-1所示。2023/11/2272023/11/228圖1-1“新建工程”對(duì)話(huà)框2023/11/229啟動(dòng)VisualBasic6.0
在新建工程對(duì)話(huà)框中有三個(gè)選項(xiàng)卡:新建、現(xiàn)存和最新。
在新建選項(xiàng)卡中提示選擇可建工程的類(lèi)型。(2)在“新建工程”的對(duì)話(huà)框的新建選項(xiàng)卡中選“標(biāo)準(zhǔn)EXE”,然后單擊“打開(kāi)”按鈕,出現(xiàn)VB的集成開(kāi)發(fā)環(huán)境的主界面,如下頁(yè)圖1-2所示。2023/11/2210圖1-2VisualBasic集成開(kāi)發(fā)環(huán)境
2023/11/2211§1.1VisualBasic簡(jiǎn)介三、VisualBasic6.0中文版的啟動(dòng)和退出2.退出VisualBasic6.0
選“文件”菜單中的退出命令,即可退出VisualBasic6.0。如果在退出前沒(méi)有保存正在編輯的工程,將出現(xiàn)提示問(wèn)用戶(hù)是否保存工程和窗體,可根據(jù)提示來(lái)回答即可。2023/11/2212§1.2VisualBasic的特點(diǎn)
1.可視化的設(shè)計(jì)平臺(tái)Visual是“可視化的”意思,VisualBasic使用直觀(guān)的編程方法。通過(guò)使用窗口、控件(如各種各樣的按鈕、文本框、復(fù)選框、圖片框等)來(lái)設(shè)計(jì)工程界面,并通過(guò)對(duì)控件的屬性進(jìn)行設(shè)置來(lái)改變其外觀(guān)。編程時(shí)只需對(duì)每個(gè)對(duì)象的事件過(guò)程進(jìn)行模塊化編程,而無(wú)需編寫(xiě)大量的代碼去描述界面元素的外觀(guān)和位置,就能方便快捷地設(shè)計(jì)工程界面。2023/11/2213傳統(tǒng)的編程方法,用戶(hù)必需通過(guò)編程計(jì)算來(lái)設(shè)計(jì)工程界面,然后反復(fù)運(yùn)行和調(diào)試才能得到滿(mǎn)意的效果。2.面向?qū)ο蟮脑O(shè)計(jì)方法VisualBasic中所指的對(duì)象是代碼和數(shù)據(jù)的組合并封裝起來(lái),可把這樣的對(duì)象作為一個(gè)單位來(lái)處理。對(duì)象可以是窗體和控件,也可以是一個(gè)應(yīng)用程序。§1.2VisualBasic的特點(diǎn)
2023/11/2214§1.2VisualBasic的特點(diǎn)
VisualBasic采用面向?qū)ο缶幊碳夹g(shù)。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具把它們畫(huà)在界面上,由VisualBasic自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。對(duì)象提供了現(xiàn)成的代碼避免了編寫(xiě)程序的麻煩。結(jié)構(gòu)化編程語(yǔ)言
VB是由結(jié)構(gòu)化的Basic語(yǔ)言發(fā)展起來(lái)的,加上面向?qū)ο蟮脑O(shè)計(jì)方法,因此是更具有結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言。
2023/11/2215§1.2VisualBasic的特點(diǎn)
4.事件驅(qū)動(dòng)的編程機(jī)制VB通過(guò)事件驅(qū)動(dòng)來(lái)執(zhí)行對(duì)象的操作。在事件驅(qū)動(dòng)的程序中,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同的事件時(shí)執(zhí)行不同的代碼模塊。每個(gè)對(duì)象都有一個(gè)事件集,每個(gè)事件發(fā)生都要有相應(yīng)的程序代碼來(lái)響應(yīng),即要執(zhí)行一段程序代碼。事件可以由用戶(hù)操作觸發(fā)、也可以由操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至可由應(yīng)用程序本身的消息觸發(fā)。2023/11/2216這些事件的順序決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運(yùn)行時(shí)所經(jīng)過(guò)的代碼的路徑是不同的。5.交互式的程序開(kāi)發(fā)過(guò)程傳統(tǒng)的編程過(guò)程分三個(gè)步驟:編寫(xiě)源程序、將源程序編譯和連接生成可執(zhí)行的二進(jìn)制代碼和最后運(yùn)行生成可執(zhí)行的二進(jìn)制代碼。而VisualBasic采用是交互式方法開(kāi)發(fā)應(yīng)用程序。使三個(gè)步驟之間不再有明顯的界限。VB編程在輸入代碼時(shí)便進(jìn)行解釋?zhuān)磿r(shí)捕獲到并突出顯示大多數(shù)語(yǔ)法或拼寫(xiě)錯(cuò)誤,同時(shí)將出現(xiàn)警告對(duì)話(huà)框,并將出錯(cuò)的源代碼以紅色顯示。方便用戶(hù)及時(shí)修改程序。2023/11/22176.提供強(qiáng)大的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)工具。隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)庫(kù)越來(lái)越顯示出其強(qiáng)大的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)管理能力。為了滿(mǎn)足人們對(duì)數(shù)據(jù)庫(kù)的需要,VB提供了強(qiáng)大的數(shù)據(jù)庫(kù)程序設(shè)計(jì)能力。不僅能管理MicrosoftAccess格式的數(shù)據(jù)庫(kù),還能訪(fǎng)問(wèn)其它外部數(shù)據(jù)庫(kù),如FoxPro、Paradox等格式的數(shù)據(jù)庫(kù)。另外,VB還提供了開(kāi)放式數(shù)據(jù)庫(kù)連接(ODBC)功能,可以通過(guò)直接訪(fǎng)問(wèn)或建立連接的方式使用并操作后臺(tái)大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù),如SQLServer、Oracle等。2023/11/22187.提供創(chuàng)建強(qiáng)大的Internet應(yīng)用程序工具VisualBasic提供很多方法用于創(chuàng)建Internet應(yīng)用程序。使用VisualBasic新的Internet編程特征,可以利用VisualBasic提供的工具創(chuàng)建動(dòng)態(tài)的、功能強(qiáng)大的Internet應(yīng)用程序。您可以創(chuàng)建運(yùn)行在客戶(hù)端或服務(wù)器端的應(yīng)用程序,在基于窗體的應(yīng)用程序中使用HTML頁(yè)面,或在Web上使用ActiveX部件。此外,您還可以方便迅速地將應(yīng)用程序發(fā)布到Internet上。
2023/11/22198.充分利用Windows資源VB提供的動(dòng)態(tài)數(shù)據(jù)交換(DDE)編程技術(shù),可以在應(yīng)用程序中實(shí)現(xiàn)與其它Windows應(yīng)用程序建立動(dòng)態(tài)數(shù)據(jù)交換、在不同的應(yīng)用程序之間進(jìn)行通信的功能。VB提供的對(duì)象鏈接與嵌入(OLE)技術(shù)是將每個(gè)應(yīng)用程序都看作對(duì)象,將不同的對(duì)象連接起來(lái),嵌入到某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫(huà)、文字等各種信息集合式文件。VB還可以通過(guò)動(dòng)態(tài)(DLL)技術(shù)將C/C++或匯編語(yǔ)言編寫(xiě)的程序加入到VB的應(yīng)用程序中,或調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)SDK所具有的功能。
2023/11/2220第一章VisualBasic的基礎(chǔ)知識(shí)習(xí)題答案:1.1VisualBasic6.0有幾種版本?其主要區(qū)別是什么?
VisualBasic6.0共有三種版本,各自滿(mǎn)足不同的開(kāi)發(fā)需要:“學(xué)習(xí)版”使編程人員輕松開(kāi)發(fā)Windows95/98和WindowsNT應(yīng)用程序,該版本包括所有的內(nèi)部控件?!皩?zhuān)業(yè)版”為專(zhuān)業(yè)編程人員提供了一整套進(jìn)行開(kāi)發(fā)的功能完備的工具,它包括學(xué)習(xí)版的全部功能連同ActiveX控件和Internet控件。2023/11/2221第一章VisualBasic的基礎(chǔ)知識(shí)“企業(yè)版”使得專(zhuān)業(yè)編程人員能夠開(kāi)發(fā)出功能強(qiáng)大的分布式、高性能的客戶(hù)/服務(wù)器應(yīng)用程序或Internet/Intranet應(yīng)用程序,該版本包括了專(zhuān)業(yè)版的全部功能。1.2與傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言相比,VisualBasic有什么特點(diǎn)?
VisualBasic是開(kāi)發(fā)Windows應(yīng)用程序的工具,它具有以下特點(diǎn):1.可視化的設(shè)計(jì)平臺(tái)。2.面向?qū)ο蟪绦蛟O(shè)計(jì)方法。
2023/11/22223.結(jié)構(gòu)化編程語(yǔ)言。4.采用事件驅(qū)動(dòng)的編程機(jī)制。5.交互式的程序開(kāi)發(fā)過(guò)程。6.提供強(qiáng)大的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)工具。7.提供創(chuàng)建強(qiáng)大的Internet應(yīng)用程序工具。8.充分利用Windows資源。2023/11/2223第一章VisualBasic的基礎(chǔ)知識(shí)§1.3VisualBasic的集成開(kāi)發(fā)環(huán)境
1.3.1標(biāo)題欄和菜單欄1.3.2工具欄及數(shù)字顯示區(qū)1.3.3控件工具箱1.3.4工程資源管理器窗口1.3.5屬性窗口1.3.6窗體設(shè)計(jì)器和對(duì)象瀏覽器窗口1.3.7代碼窗口1.3.8立即窗口1.3.9窗體布局窗口習(xí)題:2023/11/2224VisualBasic
的集成開(kāi)發(fā)環(huán)境
2023/11/2225標(biāo)題欄菜單欄標(biāo)準(zhǔn)工具欄控件工具箱
工程資源管理器窗口
屬性窗口窗體設(shè)計(jì)器窗體布局窗口
圖1-2VisualBasic集成開(kāi)發(fā)環(huán)境2023/11/2226
從上頁(yè)圖1-2可以看出,VB集成開(kāi)發(fā)環(huán)境除了具有標(biāo)準(zhǔn)Windows窗口中所具有的標(biāo)題欄、菜單欄、工具欄外,還具有工具箱、屬性窗口、窗體設(shè)計(jì)器、資源管理器、立即窗口、工程管理器窗口、窗口布局窗口等。下面分別介紹:
2023/11/2227標(biāo)題欄VB集成開(kāi)發(fā)環(huán)境中的標(biāo)題欄中有窗體的控制菜單圖標(biāo)、當(dāng)前編輯的工程名稱(chēng)、最大化、還原按鈕、最小化按鈕及關(guān)閉按鈕。2023/11/2228菜單欄
菜單欄中顯示有“文件”、“編輯”、“視圖”、“工程”、“格式”、“調(diào)試”、“運(yùn)行”、“查詢(xún)”、“工具”、“外接程序”等13個(gè)主菜單項(xiàng)。每個(gè)主菜單都有自己的下拉菜單,在下拉菜單中顯示相應(yīng)的子菜單,在子菜單命令中還包括執(zhí)行該項(xiàng)命令的熱鍵及快捷鍵。
2023/11/2229標(biāo)準(zhǔn)工具欄
在菜單欄的下方有工具欄,工具欄中有許多常用命令的快捷訪(fǎng)問(wèn)按鈕。單擊某個(gè)按鈕,就可執(zhí)行相應(yīng)的命令的操作。數(shù)字顯示區(qū)包括兩部分,左面數(shù)字顯示的是對(duì)象坐標(biāo)位置,右面數(shù)字顯示的是對(duì)象的大小,即對(duì)象的高度和寬度。
數(shù)字顯示區(qū)2023/11/2230標(biāo)準(zhǔn)工具欄按鈕的介紹添加標(biāo)準(zhǔn)EXE工程-用來(lái)添加新的工程到工作組中。添加窗體-用來(lái)添加新的各種類(lèi)型的窗體到工程中。菜單編輯器-顯示菜單編輯器對(duì)話(huà)框。啟動(dòng)工程-開(kāi)始運(yùn)行當(dāng)前的工程。中斷-暫時(shí)中斷當(dāng)前工程的運(yùn)行。結(jié)束-結(jié)束當(dāng)前工程的運(yùn)行。工程資源管理器-打開(kāi)工程資源管理器窗口。2023/11/2231標(biāo)準(zhǔn)工具欄按鈕的介紹屬性窗口-打開(kāi)屬性窗口。窗體布局窗口-打開(kāi)窗體布局窗口。對(duì)象瀏覽器-打開(kāi)對(duì)象瀏覽器對(duì)話(huà)框。工具箱-打開(kāi)工具箱窗口。數(shù)據(jù)視圖窗口-打開(kāi)數(shù)據(jù)視圖窗口。可視化部件管理器-打開(kāi)可視化部件管理器。打開(kāi)工程-用于打開(kāi)已有的工程文件。保存工程-用于保存當(dāng)前工程。2023/11/2232控件工具箱VB標(biāo)準(zhǔn)工具箱包含了建立應(yīng)用程序的各種控件,如:圖片框控件、標(biāo)簽控件、文本框控件、命令按鈕控件、復(fù)選框控件、單選框控件、組合框控件、列表框控件等等。
2023/11/22331、標(biāo)準(zhǔn)工具箱控件圖片框控件,用來(lái)顯示圖形圖像,可作為圖形方法輸出的容器。標(biāo)簽控件,用于顯示不被修改的文本,例如可作為文本框的標(biāo)題。文本框控件,可顯示、輸入或修改文本并進(jìn)行保存??蚣芸丶?,在圖形或功能上對(duì)控件進(jìn)行分工。命令按鈕控件,創(chuàng)建可執(zhí)行某項(xiàng)命令的按鈕。復(fù)選框控件,創(chuàng)建一個(gè)可進(jìn)行一項(xiàng)或多個(gè)選項(xiàng)選擇的對(duì)話(huà)框。單選框控件,允許顯示多個(gè)選項(xiàng),但只能進(jìn)行單項(xiàng)選擇。組合框控件,繪制一個(gè)組合列表框和文本框。列表框控件,顯示列表選項(xiàng),可以從這些列表選項(xiàng)中選擇一項(xiàng)。2023/11/22341、標(biāo)準(zhǔn)工具箱控件水平滾動(dòng)條控件,可作為數(shù)據(jù)輸入工具,也可觀(guān)察數(shù)據(jù)和確定位置。垂直滾動(dòng)條控件。計(jì)時(shí)器控件,可利用內(nèi)部計(jì)時(shí)器計(jì)時(shí),也可自定制計(jì)時(shí)器事件啟動(dòng)的時(shí)間間隔。文件夾列表框控件,可以分層顯示當(dāng)前所選驅(qū)動(dòng)器的目錄清單。文件列表框控件,具有顯示選定目錄中所有文件或指定類(lèi)型名稱(chēng)的功能。形狀控件,利用形狀控件可以在窗體上畫(huà)出各種矩形、圓和橢圓。直線(xiàn)控件,利用直線(xiàn)控件可在窗體上畫(huà)出各種直線(xiàn)。圖像控件,用來(lái)顯示圖片。數(shù)據(jù)控件。2023/11/22352、在工具箱中添加新控件的方法(1)在工具箱的空白處單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“部件”,或單擊“工程”菜單中的“部件”子菜單,則彈出“部件”對(duì)話(huà)框如圖1-12左圖所示。(2)在打開(kāi)的“部件”對(duì)話(huà)框中(見(jiàn)圖1-12右圖)將自己所需要的控件選中,即控件前面的復(fù)選框中出現(xiàn)“√”,然后單擊“確定”按鈕。則選擇的控件就被添加到工具箱中。(3)要?jiǎng)h除工具箱中的ActiveX控件,可按上述方法打開(kāi)部件對(duì)話(huà)框,然后去掉選擇控件的標(biāo)志“√”就可。2023/11/2236
圖1-12快捷菜單和部件對(duì)話(huà)框2023/11/22373、選項(xiàng)卡VB可以自己定義選項(xiàng)卡來(lái)安排控件。按下列操作可將一些常用的控件保存在一張單獨(dú)的選項(xiàng)卡上。(1)在工具箱的空白處單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“添加選項(xiàng)卡”。(2)在打開(kāi)的“新選項(xiàng)卡名稱(chēng)”對(duì)話(huà)框中輸入選項(xiàng)卡名稱(chēng),然后單擊“確定”按鈕。(3)用鼠標(biāo)左鍵將所需的控件“拖”到創(chuàng)建的選項(xiàng)卡。(4)用同樣的方法可以添加多個(gè)選項(xiàng)卡,并且通過(guò)單擊選項(xiàng)卡名稱(chēng)在不同的選項(xiàng)卡之間切換。2023/11/2238
圖1-13輸入選項(xiàng)卡名稱(chēng)圖1-14添加控件到選項(xiàng)卡2023/11/2239工程資源管理器窗口
“工程資源管理器窗口”類(lèi)似于Windows下的資源管理器,在這個(gè)窗口中列出了當(dāng)前工程中的窗體和模塊,其結(jié)構(gòu)用樹(shù)狀的層次管理方法。應(yīng)用程序是建立在工程的基礎(chǔ)上完成的,而一個(gè)工程則是各種類(lèi)型的文件的集合。這些文件包括工程文件(.vbp)、窗體文件(.frm)、窗體的二進(jìn)制數(shù)據(jù)文件(.frx)、類(lèi)模塊文件(.cls)、標(biāo)準(zhǔn)模塊文件(.bas)、資源文件(.res)、包含控件的文件(.ocx)。2023/11/2240
屬性是指對(duì)象的特征,如大小、標(biāo)題或顏色?!皩傩源翱凇卑x定對(duì)象(窗體和控件)的屬性列表,在設(shè)計(jì)程序時(shí)可通過(guò)修改對(duì)象的屬性設(shè)計(jì)其外觀(guān)和相關(guān)數(shù)據(jù),這些屬性值將是程序運(yùn)行時(shí)各對(duì)象屬性的初始值。屬性窗口2023/11/2241(1)對(duì)象下拉列表框:包含當(dāng)前窗體中對(duì)象的名稱(chēng)以及所屬的類(lèi)。單擊對(duì)象下拉列表框右端的下拉箭頭,可列出當(dāng)前窗體以及所包含的全部對(duì)象的名稱(chēng),可從中選擇要更改其屬性的對(duì)象。(2)選項(xiàng)卡:可按字母序和按分類(lèi)序兩種方法顯示所選對(duì)象的屬性。(3)屬性列表:左列顯示所選對(duì)象的所有屬性名,右列可以查看和修改屬性值。(4)屬性說(shuō)明:顯示出所選屬性的簡(jiǎn)短說(shuō)明。2023/11/2242窗體布局窗口
窗體布局窗口中有一個(gè)表示屏幕的小圖像,用來(lái)布置應(yīng)用程序中各窗體的位置,使用鼠標(biāo)拖動(dòng)窗體布局窗口中的小窗體圖標(biāo),可方便地調(diào)整程序運(yùn)行時(shí)窗體顯示的位置。
2023/11/2243窗體設(shè)計(jì)器
“窗體設(shè)計(jì)器”也稱(chēng)為“對(duì)象窗口”,主要用來(lái)在窗體上設(shè)計(jì)應(yīng)用程序的界面。用戶(hù)可以在窗體中添加控件、圖形和圖片來(lái)創(chuàng)建工程的界面;窗體中的對(duì)象(控件)可隨意在窗體上移動(dòng)、改變大小,但鎖定控件后則不可隨意修改,工程中的每一個(gè)窗體都有它自己的窗體設(shè)計(jì)器窗口。2023/11/2244
用下列四種方法都可打開(kāi)“代碼窗口”。
1、雙擊窗體的任何地方;
2、單擊右鍵在出現(xiàn)的快捷菜單中選“查看代碼”;
3、從工程窗口中選“查看代碼”;
4、在“視圖”菜單中選“代碼窗口”。
2023/11/2245代碼窗口2023/11/2246對(duì)象列表框
過(guò)程列表框
代碼區(qū)
代碼窗口“對(duì)象下拉列表框”中列出了當(dāng)前窗體及所包含的全體對(duì)象名,其中無(wú)論窗體的名稱(chēng)改為什么,作為窗體的對(duì)象名總是Form?!斑^(guò)程下拉列表框”中列出了所選對(duì)象的所有事件名?!按a區(qū)”是程序代碼編輯區(qū),能夠非常方便地進(jìn)行代碼編輯和修改。2023/11/2247對(duì)象瀏覽窗口對(duì)象瀏覽器窗口可以列出工程中的有效的對(duì)象,并提供在編碼中漫游的快速方法。我們可以在“對(duì)象瀏覽器”窗口中瀏覽VB中的對(duì)象和其他應(yīng)用程序,查看對(duì)那些對(duì)象有效的方法和屬性,并將代碼過(guò)程粘貼進(jìn)自己的應(yīng)用程序。選擇“視圖/對(duì)象瀏覽器”命令就可打開(kāi)“對(duì)象瀏覽器”對(duì)話(huà)框,如圖1-18所示。對(duì)象瀏覽器中各選擇框及列表說(shuō)明如下:2023/11/2248對(duì)象瀏覽窗口(1)工程/庫(kù)選擇框:用于選擇單個(gè)的庫(kù)、工程或全部庫(kù)和工程。當(dāng)選擇了庫(kù)和工程后,類(lèi)列表框和成員列表框?qū)@示相應(yīng)庫(kù)或工程的類(lèi)或成員。(2)搜索文字框:在搜索文字框中鍵入欲查找的對(duì)象或文本,則可以查找對(duì)象及其成員,并確定它們所屬的工程或庫(kù)。(3)類(lèi)列表框:類(lèi)列表框中列出從“工程/庫(kù)”選擇框中所選定的工程或庫(kù)的全局對(duì)象、集合、函數(shù)或語(yǔ)句。(4)成員列表框:成員列表框顯示出在類(lèi)列表框中選定類(lèi)的屬性、方法和事件。2023/11/2249圖1-18對(duì)象瀏覽器窗口
工程/庫(kù)選擇框搜索文字框
類(lèi)列表框
成員列表框圖1-18對(duì)象瀏覽器窗口2023/11/22502023/11/2251立即窗口
使用立即窗口可以在中斷狀態(tài)下查詢(xún)對(duì)象的值,也可以在設(shè)計(jì)時(shí)查詢(xún)表達(dá)式的值或執(zhí)行命令的結(jié)果。
本章主要內(nèi)容VB中的對(duì)象、事件、屬性和方法VB中基本控件的使用方法VB可視化編程的步驟管理VisualBasic
工程2023/11/2253§2.1VB中的對(duì)象、事件、屬性和方法
2.1.1對(duì)象
對(duì)象,在可視化編程語(yǔ)言中,對(duì)象是代碼和數(shù)據(jù)的組合,可以作為一個(gè)單位來(lái)處理。對(duì)象可以是應(yīng)用程序的一部分,也可以是整個(gè)應(yīng)用程序。例如它可以是控件或窗體。也可以是菜單和數(shù)據(jù)庫(kù)等。從可視化編程技術(shù)來(lái)看,這些對(duì)象具有屬性、方法和事件。屬性是描寫(xiě)對(duì)象的一組特性(數(shù)據(jù))。方法告訴對(duì)象應(yīng)做的事情。事件是對(duì)象所產(chǎn)生的事情,事情發(fā)生時(shí)要編寫(xiě)代碼進(jìn)行處理。2023/11/2254
表2-1列出了在VB中可能用到的幾種類(lèi)型的對(duì)象。表2-1VB中可能用到的幾種類(lèi)型的對(duì)象對(duì)象說(shuō)明命令按鈕窗體上的控件,像命令按鈕、框架等,它們都是對(duì)象。窗體VB工程中的每個(gè)窗體都是獨(dú)立的對(duì)象數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是對(duì)象,并且還包含其他對(duì)象,如字段、索引等圖表Excel中的圖表是對(duì)象2023/11/22552.1.2對(duì)象的事件
對(duì)象的事件是對(duì)象可以識(shí)別的動(dòng)作,即窗體、控件和其它對(duì)象可以識(shí)別的動(dòng)作。如命令按鈕是對(duì)象,它可識(shí)別Click的動(dòng)作,所以命令按鈕有Click()事件。一個(gè)充氣的氣球作為現(xiàn)實(shí)生活中的一個(gè)對(duì)象,用針扎它一下事件的響應(yīng)過(guò)程是放氣,對(duì)氣球松開(kāi)手事件的響應(yīng)過(guò)程是升空。每一個(gè)窗體和控件都有一個(gè)預(yù)定義的事件集??蓮拇a窗口中的“對(duì)象下拉列表框”中選擇一個(gè)對(duì)象,然后再單擊“過(guò)程下拉列表框”就會(huì)看到所選對(duì)象的所有事件過(guò)程名。如下頁(yè)圖2.1所示。
2023/11/2256
工程中的各種對(duì)象窗體預(yù)定義的事件集圖2.1工程中的各種對(duì)象和窗體預(yù)定義的事件集對(duì)象列表框過(guò)程列表框2023/11/22572.1.2對(duì)象的事件
在響應(yīng)事件時(shí),需要執(zhí)行相應(yīng)的Basic代碼。所以對(duì)于VisualBasic的中的每個(gè)事件,都需要編寫(xiě)程序代碼。如果其中一個(gè)事件發(fā)生,并且在相應(yīng)的事件過(guò)程中存在代碼,則VisualBasic執(zhí)行該代碼。盡管VisualBasic中的對(duì)象自動(dòng)識(shí)別預(yù)定義的事件集,但是它們究竟是否響應(yīng)具體事件以及如何響應(yīng)具體事件則是編寫(xiě)代碼的任務(wù)。2023/11/2258
代碼部分與每個(gè)事件對(duì)應(yīng)。想通過(guò)某個(gè)事件執(zhí)行的動(dòng)作就應(yīng)寫(xiě)在該事件的事件過(guò)程代碼中。事件過(guò)程的一般格式為:
PrivateSub對(duì)象名_事件名()……此處應(yīng)編寫(xiě)事件響應(yīng)過(guò)程中應(yīng)執(zhí)行的代碼
…EndSub
PrivateSub對(duì)象名_事件名()為事件過(guò)程頭,EndSub
為事件過(guò)程尾。當(dāng)你選擇好事件過(guò)程,這些代碼將自動(dòng)生成。中間由用戶(hù)填寫(xiě)事件響應(yīng)過(guò)程中應(yīng)執(zhí)行的代碼。2023/11/2259
對(duì)象所識(shí)別的事件多種多樣,但多數(shù)類(lèi)型為大多數(shù)控件所共有。例如大多數(shù)對(duì)象都識(shí)別Click事件,如單擊窗體,則執(zhí)行窗體的Click事件過(guò)程代碼,單擊命令按鈕,則執(zhí)行命令按鈕的Click事件過(guò)程的代碼。2023/11/22601.窗體和圖片框類(lèi)事件(1)Paint事件:當(dāng)某一對(duì)象在屏幕中被移動(dòng),改變尺寸或清除后,程序會(huì)自動(dòng)調(diào)用Paint事件。注意:當(dāng)對(duì)象的AutoDraw屬性為T(mén)rue(-1)時(shí),程序不會(huì)調(diào)用Paint事件。(2)Resize事件:當(dāng)對(duì)象的大小改變時(shí)觸發(fā)Resize事件。(3)Load事件:僅適用于窗體對(duì)象,當(dāng)窗體被裝載時(shí)運(yùn)行。(4)Unload事件:僅適用于窗體對(duì)象,當(dāng)窗體被卸載時(shí)運(yùn)行。2023/11/22612.當(dāng)前光標(biāo)(Focus)事件(1)GotFocus事件:當(dāng)對(duì)象獲得焦點(diǎn)時(shí)事件發(fā)生。(2)LostFocus事件:當(dāng)對(duì)象失去焦點(diǎn)時(shí)事件發(fā)生。
3.鼠標(biāo)操作事件(1)Click事件:鼠標(biāo)單擊對(duì)象。(2)DblClick事件:鼠標(biāo)雙擊事件。(3)MouseDown、MouseUp:按下/放開(kāi)鼠標(biāo)鍵事件。(4)MouseMove事件:鼠標(biāo)移動(dòng)事件。2023/11/22624.鍵盤(pán)操作事件(1)KeyDown、KeyUp事件:按鍵的按下/放開(kāi)事件。(2)KeyPress事件:按鍵事件。5.改變控制項(xiàng)事件
Change事件:當(dāng)對(duì)象的內(nèi)容發(fā)生改變時(shí),觸發(fā)Change事件。6.其他事件
Timer事件:僅用于計(jì)時(shí)器,每隔一段時(shí)間被觸發(fā)一次。2023/11/22632.1.3對(duì)象的屬性
屬性是一個(gè)對(duì)象的特性。每個(gè)對(duì)象都有它自己的屬性,有些屬性可為大多數(shù)對(duì)象所共有。有些屬性可能是某一對(duì)象獨(dú)有的。對(duì)于屬性,可以在窗體的布局操作完成后,直接從屬性窗口中設(shè)置,也可以在程序運(yùn)行中改變,這應(yīng)根據(jù)自己的需要。但有些屬性是只讀的,它只能在控件布局時(shí)在屬性窗口中改變。有些屬性只能在程序代碼中設(shè)定。在屬性窗口中設(shè)定屬性的方法如下頁(yè)圖2.2所示。2023/11/2264圖2.2為文本框設(shè)置屬性選定文本框,在屬性窗口中設(shè)置其屬性,該屬性有四個(gè)預(yù)定的值:0,1,2,3。分別表示無(wú)滾動(dòng)條、有水平滾動(dòng)條、有垂直滾動(dòng)條和兩者都有。選擇2表示在文本框上添加垂直滾動(dòng)條。如圖中所示。2023/11/2265為文本框設(shè)置MultiLine屬性,使文本框能接受多行文本,這里選取True。2023/11/2266
在程序中動(dòng)態(tài)改變對(duì)象的屬性的方法可使用下程序語(yǔ)句:
對(duì)象名.屬性名=屬性設(shè)定值
例如,在窗體上有一個(gè)文本框Text1,它的屬性之一是Text,這一屬性決定文本框中顯示的內(nèi)容。如果在Form_Load()事件中有語(yǔ)句:
Text1.Text="歡迎使用VB6.0"
即設(shè)定Text1的Text屬性值為“歡迎使用VB6.0”,在程序運(yùn)行時(shí),當(dāng)發(fā)生Form_Load()事件(即當(dāng)窗體裝入)時(shí),就在文本框Text1中顯示“歡迎使用VB6.0”。結(jié)果如下頁(yè)圖2.3所示。2023/11/2267圖2.3在程序中改變控件的屬性運(yùn)行結(jié)果
2023/11/2268適用于大部分對(duì)象幾個(gè)屬性:(1)Name:該屬性用來(lái)返回在編寫(xiě)代碼過(guò)程中引用對(duì)象(窗體、控件或數(shù)據(jù)訪(fǎng)問(wèn))的名稱(chēng)??梢栽诔绦蛑羞M(jìn)行調(diào)用,在運(yùn)行時(shí)是只讀的。(2)Appearance:該屬性用來(lái)返回或設(shè)置一個(gè)對(duì)象在運(yùn)行時(shí)是否具有三維效果。(3)Font:該屬性用來(lái)設(shè)置控件上文本所使用的字體、屬性和字號(hào)。(4)Caption:該屬性用于返回或設(shè)置對(duì)象的標(biāo)題欄或圖標(biāo)下面的文本。(5)Height,Width:這個(gè)屬性返回或設(shè)置對(duì)象的大小,包括其高度和寬度。(6)Visible:這個(gè)屬性返回或設(shè)置一個(gè)指定對(duì)象是否為可見(jiàn)的。當(dāng)這個(gè)屬性值為T(mén)rue時(shí)對(duì)象是可見(jiàn)的,值為False時(shí)對(duì)象是隱藏的。2023/11/2269(7)Enabled:這個(gè)屬性返回或設(shè)置一個(gè)值,該值用來(lái)確定一個(gè)窗體或控件是否具有對(duì)用戶(hù)產(chǎn)生的事件做出反應(yīng)。當(dāng)這個(gè)屬性值為T(mén)rue時(shí)允許對(duì)象對(duì)事件做出反應(yīng)。為False時(shí)阻止對(duì)象對(duì)事件做出反應(yīng)。(8)Left,Top:Left屬性返回或設(shè)置對(duì)象內(nèi)部的左邊緣與容器的左邊緣之間的距離。Top屬性返回或設(shè)置對(duì)象的頂端和它的容器的頂端之間的距離。(9)BackColor:返回或設(shè)置對(duì)象中的文本和圖形的背景顏色。(10)ForeColor:返回或設(shè)置在對(duì)象里顯示圖片和文本的前景顏色。各種控件還有自己特有的屬性,我們將在以后的實(shí)例中具體介紹。
2023/11/22702.1.4常用方法
VB中的對(duì)象支持屬性、方法和事件。在VB中,對(duì)象本身具有的一些函數(shù)或過(guò)程稱(chēng)為方法。方法和屬性都是對(duì)象的一部分,一般說(shuō)來(lái)方法就是對(duì)象要執(zhí)行的動(dòng)作。方法可以影響屬性值,例如在VB的列表框具有List屬性,使用Clear和AddItem方法可改變其List屬性。在VB中使用方法的格式為:
對(duì)象名.方法名2023/11/2271例如,Print是VB中的一種方法。如果希望把輸出的結(jié)果從窗體上顯示可使用下列格式:
Form1.Print輸出表項(xiàng)如果想把結(jié)果從圖片框上輸出,可以使用下列格式:
Picture1.Print輸出表項(xiàng)如果想在窗體上輸出“您好”,可在Form_Click()事件中加入下列語(yǔ)句:
form1.print“您好”則運(yùn)行程序后每單擊一次窗體就會(huì)出現(xiàn)“您好”兩個(gè)字。運(yùn)行結(jié)果如下頁(yè)圖2.4所示
2023/11/2272圖2.4用Print方法窗體上輸入“您好”的運(yùn)行結(jié)果2023/11/2273對(duì)象中最常見(jiàn)幾種方法:1.Clear:
該方法告訴控件要放棄它所擁有的內(nèi)容。如果是列表框,則Clear方法刪除列表框中的內(nèi)容。若是文本框,則清除其內(nèi)容,并將其字符串屬性設(shè)置為零長(zhǎng)度字符串。2.AddITem,RemoveITem:
這些方法用于操作列表框和組合框控件中的項(xiàng)目。應(yīng)用程序不必知道項(xiàng)目在控件中是如何存放的,只要使用方法,控件就會(huì)向表中添加、插入新項(xiàng)目或刪除已有的項(xiàng)目。方法就是每個(gè)控件不需要編程人員編寫(xiě)代碼就可以自動(dòng)完成的操作。2023/11/2274§2.2VB中的基本控件的使用方法
在窗體上用于輸入、輸出信息的圖形或文字符號(hào)稱(chēng)為控件。如命令按鈕、標(biāo)簽、文本框等。也有一些為了增強(qiáng)用戶(hù)界面,或使用戶(hù)界面更漂亮而另外編制的ActiveX控件。2023/11/2275VB中的控件通常分為三種類(lèi)型:
(1)標(biāo)準(zhǔn)控件:在VB中提供了許多標(biāo)準(zhǔn)控件它們是由VB中的.exe文件提供,常用的標(biāo)準(zhǔn)控件以圖標(biāo)的形式出現(xiàn)在工具箱中供用戶(hù)選擇使用。工具箱一般是放在VB集成環(huán)境中窗口的左邊。用用戶(hù)可以直接在工具箱中選擇使用它們。但用戶(hù)不能增加和刪標(biāo)準(zhǔn)控件。(2)ActiveX控件:這類(lèi)控件單獨(dú)保存在.ocx類(lèi)型的文件中,其中包括各種版本VB控件。(3)可插入的對(duì)象:用戶(hù)可將Excel工作表作為一個(gè)對(duì)象添加到工具箱中也可根據(jù)需要在編程創(chuàng)建。2023/11/2276
控件是VB編程的基礎(chǔ),也是VB作為可視化編程的重要工具,第一章中我們對(duì)控件的名稱(chēng)已經(jīng)作了介紹,下面介紹在窗體上添加基本控件的方法。2.2.1在窗體上添加VB的基本控件的方法
在工具箱中有許多基本控件按鈕,在窗體上添加控件的方法有兩種:2023/11/22771.用鼠標(biāo)單擊工具箱中相應(yīng)的控件按鈕,再把鼠標(biāo)移到窗體上,這時(shí)鼠標(biāo)變成十字形,在合適的位置上按下鼠標(biāo)左鍵并拖動(dòng),這時(shí)窗體上有一個(gè)矩形框,當(dāng)其大小合適時(shí),松開(kāi)鼠標(biāo)左鍵,窗體上就會(huì)顯示一個(gè)相應(yīng)大小的控件。同時(shí)可看到控件周?chē)霈F(xiàn)八個(gè)小方框,它們稱(chēng)為尺寸調(diào)節(jié)柄。利用尺寸調(diào)節(jié)柄可調(diào)節(jié)控件的大小。當(dāng)控件上有尺寸調(diào)節(jié)柄時(shí),說(shuō)明該控件是“活動(dòng)的”或“被選中的”。2.雙擊工具箱中要添加的控件按鈕。就可在窗體的中央添加一個(gè)控件。然后再把它移到合適的位置。2023/11/22782.2.2VB基本控件的使用
利用上節(jié)的方法可在窗體上添加控件,并且可利用控件周?chē)某叽绫鷣?lái)調(diào)節(jié)控件的大小。也可用鼠標(biāo)拖動(dòng)控件放到合適的位置上。除此之外,還可使用網(wǎng)格對(duì)控件的位置進(jìn)行精確調(diào)整,VB窗體上的控件默認(rèn)落在網(wǎng)格上。1.網(wǎng)格屬性的設(shè)置。學(xué)會(huì)使用網(wǎng)格,可使用戶(hù)的應(yīng)用程序更加規(guī)范和正規(guī)。在VB集成環(huán)境中選擇“選項(xiàng)”菜單中的“通用”選項(xiàng)卡可出現(xiàn)如圖2-5所示的對(duì)話(huà)框,在此對(duì)話(huà)框中可以對(duì)窗體的網(wǎng)格屬性進(jìn)行設(shè)置。2023/11/2279圖2-5設(shè)置網(wǎng)格屬性2023/11/2280在出現(xiàn)的對(duì)話(huà)框中可進(jìn)行下列內(nèi)容的設(shè)置:(1)顯示網(wǎng)格:它決定是否在窗體上顯示網(wǎng)格。默認(rèn)為顯示網(wǎng)格。(2)寬度和高度:它們分別決定網(wǎng)格的水平和垂直間距,單位是緹(1/1440英寸)(3)對(duì)齊控件到網(wǎng)格;它們決定是否將控件自動(dòng)放置在網(wǎng)格的網(wǎng)點(diǎn)上。2.使用多個(gè)控件。如果用戶(hù)希望在同一個(gè)窗體上使用多個(gè)相同的控件,往往希望它們?cè)诔叽缟弦粯樱蚁M苓M(jìn)行位置對(duì)齊等操作。這時(shí)可使用“格式”菜單中的各種命令來(lái)進(jìn)行調(diào)節(jié)。2023/11/2281
方法是先同時(shí)選擇多個(gè)控件,如果要調(diào)節(jié)大小,可選擇“格式”菜單中的“統(tǒng)一尺寸”命令,這時(shí)出現(xiàn)三種選擇:“寬度相同”、“高度相同”和“兩者都有相同”。從中選擇一種方法就可使用戶(hù)的多個(gè)控件按選擇的方法來(lái)統(tǒng)一尺寸。如果要對(duì)齊窗體中多個(gè)控件,也是先選擇多個(gè)控件,然后在選擇“格式”菜單中的對(duì)齊方式,有7種選項(xiàng)可供選擇。它們是“左對(duì)齊”、“居中對(duì)齊”、“右對(duì)齊”、“頂端對(duì)齊”、“中間對(duì)齊”、“底端對(duì)齊”和“對(duì)齊到網(wǎng)格”。從中選擇一種就可按所選方式對(duì)齊,如圖2-6所示。2023/11/2282圖2-6使用“格式”菜單來(lái)調(diào)節(jié)控件2023/11/2283§2.3VB可視化編程
2.3.1VB可視化編程的步驟
VB可視化編程的方法與傳統(tǒng)的方法不同,不再需要編寫(xiě)大量的代碼去描述界面元素的外觀(guān)和位置,而是采用面向?qū)ο?,事件?qū)動(dòng)的方法。這種方法將代碼和數(shù)據(jù)集成到一個(gè)獨(dú)立的對(duì)象中去,當(dāng)運(yùn)用這個(gè)對(duì)象來(lái)完成某項(xiàng)任務(wù)時(shí),并不需要知道這個(gè)對(duì)象是怎樣工作的,只需要編寫(xiě)一段代碼來(lái)簡(jiǎn)單地傳遞一些消息就可以了。因此,VB可視化編程的一般步驟如下:2023/11/22841.創(chuàng)建工程,設(shè)計(jì)界面。VB創(chuàng)建工程有兩種方法(1)啟動(dòng)VB在“新建工程”對(duì)話(huà)框中選“標(biāo)準(zhǔn)EXE”工程,單擊“打開(kāi)”按鈕。就出現(xiàn)了窗體設(shè)計(jì)器,也就創(chuàng)建了第一個(gè)窗體,再利用控件工具箱在窗體上創(chuàng)建各種對(duì)象。(2)如果已經(jīng)啟動(dòng)了VB,若需再創(chuàng)建新工程,可從“文件”菜單中選“新建工程”在出現(xiàn)的對(duì)話(huà)框中選“標(biāo)準(zhǔn)EXE”并單擊“打開(kāi)”按鈕。也可出現(xiàn)窗體設(shè)計(jì)器,再利用控件工具箱在窗體上創(chuàng)建各種對(duì)象。2023/11/22852.設(shè)置屬性。
在屬性窗口上設(shè)置窗體或控件等對(duì)象的屬性。3.編寫(xiě)代碼。
在代碼窗口編寫(xiě)代碼。4.運(yùn)行程序。
按F5鍵和按工具欄上的執(zhí)行按鈕就可執(zhí)行一個(gè)工程。2023/11/22865.保存工程。
第一次保存工程分二步,從“文件”菜單選“保存工程”出現(xiàn)“另存為”對(duì)話(huà)框,輸入一個(gè)文件名,先保存窗體文件,生成.frm文件;然后又出現(xiàn)一個(gè)對(duì)話(huà)框,需要再輸入文件名,接著保存工程文件,生成.vbp文件6.編譯程序,生成.EXE文件。從“文件”菜單中選“生成工程名.EXE”就可生成在非VB環(huán)境下運(yùn)行的可執(zhí)行文件。2023/11/22872.3.2創(chuàng)建第一個(gè)工程
【例2-1】設(shè)計(jì)一個(gè)工程,運(yùn)行時(shí)首先出現(xiàn)一個(gè)文本框和兩個(gè)命令按鈕“歡迎”和“時(shí)間”按鈕。并在文本框中顯示“今天是:2003年某月某日”。單擊“歡迎”按鈕在文本框中顯示“歡迎學(xué)習(xí)VB6.0編程技術(shù)”,單擊“時(shí)間”按鈕,則顯示當(dāng)前時(shí)間。1.設(shè)計(jì)用戶(hù)界面。首先應(yīng)創(chuàng)建窗體。然后是在窗體上繪制構(gòu)成界面的對(duì)象,添加相應(yīng)的控件。2023/11/2288
本例中需要在窗體上添加三個(gè)控件,一個(gè)文本框,兩個(gè)命令按鈕。添加的方法如下:(1)用鼠標(biāo)單擊工具箱中的文本框控件,然后把鼠標(biāo)(此時(shí)鼠標(biāo)變成十字形指針)移到窗體上的適當(dāng)位置拖動(dòng)鼠標(biāo)就可在窗體上添加一個(gè)文本框。也可用鼠標(biāo)雙擊文本框控件,同樣可在窗體上出現(xiàn)一個(gè)文本框。(2)在添加的文本框上出現(xiàn)八個(gè)小方框,稱(chēng)尺寸柄。通過(guò)對(duì)尺寸柄的操作可調(diào)節(jié)控件的大小和位置。如圖2-7所示。(3)同樣可在窗體上添加兩個(gè)命令按鈕Command1和Command2。如圖2-8所示。2023/11/2289
圖2-7文本框中四周出現(xiàn)的尺寸柄圖2-8添加一個(gè)文本框和兩個(gè)命令按鈕
2023/11/22902.設(shè)置窗體和控件的屬性
創(chuàng)建工程的下一步是給窗體和控件設(shè)置屬性,而設(shè)置對(duì)象屬性是在屬性窗口中進(jìn)行的。在“視圖”菜單中選擇“屬性窗口”命令打開(kāi)屬性窗口,如圖2-9所示。(1)首先設(shè)置窗體Form1的屬性,從對(duì)象框中選Form1form對(duì)象,然后在屬性列表中選定屬性名,如Caption。(2)接著在屬性窗口的右列中輸入屬性值“歡迎學(xué)習(xí)VB6.0”。則窗體的Caption屬性設(shè)置為“歡迎學(xué)習(xí)VB6.0”。其它控件的屬性設(shè)置方法同上所述。各對(duì)象的屬性值設(shè)定如表2-2。2023/11/2291圖2-9設(shè)置屬性窗口
對(duì)象框排序選項(xiàng)卡
屬性列表屬性值
2023/11/2292表2-2例1中窗體和控件的屬性值對(duì)象屬性設(shè)置窗體Caption歡迎學(xué)習(xí)VB6.0文本框TextMultiline
TrueCommand1Caption
歡迎Command2Caption
時(shí)間2023/11/22933.編寫(xiě)代碼。
打開(kāi)“代碼編輯器”,單擊“對(duì)象列表框”右邊的下拉鈕,從中選擇Form對(duì)象,如圖2-10所示。再單擊過(guò)程列表框的左邊的下拉鈕選load事件如圖2-11所示。2023/11/2294
圖2-10從對(duì)象列表框中選Form圖2-11從過(guò)程列表框選load事件
在代碼窗口中從對(duì)象列表框中選Form在代碼窗口中從過(guò)程列表框中選load事件2023/11/2295在代碼窗口中輸入下列代碼PrivateSubForm_Load()Text1.Text="今天是”&_CStr(Format(Date,"dddddd"))EndSub用同樣的方法,輸入命令按鈕Command1和Command2的Click事件過(guò)程為:PrivateSubCommand1_Click()Text1.Text=“歡迎使用VB6.0”EndSub2023/11/2296PrivateSubCommand2_Click()
Text1.Text=“現(xiàn)在是北京時(shí)間”&_CStr(Format(Time,"ttttt"))
EndSub4.運(yùn)行工程。按F5或按運(yùn)行按鈕就可運(yùn)行工程。最后運(yùn)行結(jié)果見(jiàn)圖2-12所示。2023/11/2297
圖2-12“歡迎使用VB6.0”工程運(yùn)行結(jié)果
2023/11/22985.保存工程
設(shè)計(jì)好的工程應(yīng)及時(shí)保存。保存工程的方法是:從“文件”菜單項(xiàng)中選“保存工程”命令,然后在出現(xiàn)的“文件另存為”對(duì)話(huà)框中填寫(xiě)保存文件的驅(qū)動(dòng)器、文件夾和文件名(如exam1)。接著按“保存”按鈕。若為第一次存盤(pán)時(shí),將先保存窗體文件(exam1.frm)后,系統(tǒng)接著出現(xiàn)“工程另存為”對(duì)話(huà)框,填寫(xiě)工程名(exam1)后,則保存工程文件(exam1.vbp),保存的各種類(lèi)型的文件應(yīng)放在同一個(gè)文件夾中,如d:\VbWork。如果已經(jīng)存放在磁盤(pán)的文件經(jīng)修改后再存盤(pán)時(shí)不會(huì)出現(xiàn)出“另存為”對(duì)話(huà)框。2023/11/22996.編譯生成可執(zhí)行的.EXE文件。
工程調(diào)試結(jié)果正確后,可將其編譯生成可執(zhí)行的.EXE文件。方法是從“文件”菜單中選“生成工程exam1.exe(K)”,接著出現(xiàn)“生成工程”對(duì)話(huà)框。如圖2-13所示。在“保存在(I)選項(xiàng)”中輸入要保存的文件夾,然后輸入要保存的文件名,這里通常會(huì)出現(xiàn)一個(gè)默認(rèn)的文件名是與存放窗體文件相同的文件名。直接按“確定”按鈕或按回車(chē)鍵就開(kāi)始編譯成生可執(zhí)行的.EXE文件,文件名為exam1.exe。2023/11/22100圖2-13生成工程對(duì)話(huà)框2023/11/221012.3.3創(chuàng)建一個(gè)簡(jiǎn)單的動(dòng)畫(huà)工程【例2-2】下面我們動(dòng)手來(lái)設(shè)計(jì)一個(gè)有趣的動(dòng)畫(huà)顯示的是一個(gè)不斷跳動(dòng)的小球。首先啟動(dòng)VB,在新建工程中選“標(biāo)準(zhǔn)EXE”,單擊“打開(kāi)”按鈕。出現(xiàn)一個(gè)灰白色的空白窗體,這就是前面講過(guò)的窗體設(shè)計(jì)器,在此窗體上用戶(hù)可以設(shè)計(jì)工程。2023/11/221021.設(shè)計(jì)工程界面(1)將鼠標(biāo)移到工具箱上,單擊形狀控件,然后在窗體上畫(huà)出形狀控件。(2)再用鼠標(biāo)單擊工具箱上的Timer控件,然后在窗體上畫(huà)出Timer控件。(3)再用同樣方法在窗體上畫(huà)出Command1控件。工程界面設(shè)計(jì)如圖2-14所示。2023/11/22103計(jì)時(shí)器控件形狀控件圖2-14設(shè)計(jì)動(dòng)畫(huà)工程界面2023/11/221042.設(shè)置窗體和控件的屬性
單擊“屬性窗口”的標(biāo)題欄,使其成為活動(dòng)窗口。再單擊窗體,使八個(gè)小方框出現(xiàn)在窗體周?chē)?,此時(shí)就可設(shè)置窗體的屬性。設(shè)置完窗體屬性后再分別單擊形狀控件和Timer控件,分別設(shè)置形狀控件和Timer控件的屬性。它們的屬性設(shè)定值如表2-3所示。屬性設(shè)置后顯示如下頁(yè)圖中所示。2023/11/22105圖2-15設(shè)置窗體及控件的屬性2023/11/22106表2-3動(dòng)畫(huà)工程屬性設(shè)置對(duì)象名屬性屬性設(shè)定值說(shuō)明Form1Caption彈跳的小球顯示在窗體的標(biāo)題欄上的標(biāo)題Timer1Interval300每間隔300毫秒計(jì)時(shí)器事件發(fā)生Shape1FillColor&H0000FFFF&小球的填充顏色為黃色shape3-Circle圓形FillStyle0-Sold實(shí)心的小球Height588小球的大小Width588
Top1000小球的起始的頂部的坐標(biāo)Left2000小球的起始的左邊的坐標(biāo)Command1Caption停止
命令按鈕上顯示的文本表2-3動(dòng)畫(huà)屬性設(shè)置表2023/11/221073.編寫(xiě)代碼如下:
編寫(xiě)單擊Command1命令按鈕“停止”所執(zhí)行的代碼PrivateSubCommand1_Click()EndEndSub編寫(xiě)計(jì)時(shí)器Timer1_Timer()事件過(guò)程代碼如下:PrivateSubTimer1_Timer()DoWhileShape1.Top<=Form1.Height2023/11/22108
Shape1.Top=Shape1.Top+5LoopDoWhileShape1.Top>=1200Shape1.Top=Shape1.Top-5LoopEndSub4、按F5運(yùn)行結(jié)果。2023/11/22109§2.4管理VB工程
為了使用VB創(chuàng)建應(yīng)用程序,應(yīng)當(dāng)使用工程來(lái)建造應(yīng)用程序的文件的集合。當(dāng)創(chuàng)建一個(gè)應(yīng)用程序時(shí),通常要先創(chuàng)建一個(gè)窗體;也可以利用或修改以前工程所創(chuàng)建的窗體。對(duì)于可以納入工程的其他模塊或文件同樣如此。來(lái)自其他應(yīng)用程序的ActiveX控件和對(duì)象也可在工程之間共享。在工程的所有部件被匯集在一起并完成代碼編寫(xiě)之后,便可以編譯工程,創(chuàng)建一個(gè)可執(zhí)行文件。下面簡(jiǎn)單介紹如何創(chuàng)建和管理工程。2023/11/221102.4.1VB工程
在開(kāi)發(fā)應(yīng)用程序時(shí),要使用工程來(lái)管理構(gòu)成應(yīng)用程序的所有不同的文件。一個(gè)工程可包括:(1)跟蹤所有部件的工程文件(.vbp)。(2)每個(gè)窗體的文件(.frm)(3)每個(gè)窗體的二進(jìn)制數(shù)據(jù)文件(.frx),它含有窗體上控件的屬性數(shù)據(jù)。對(duì)含有二進(jìn)制屬性(例如圖片和圖標(biāo))的任何文件都是不可編輯的,這些文件都是自動(dòng)產(chǎn)生的。2023/11/22111(4)每個(gè)類(lèi)模塊的一個(gè)文件(.cls),該文件是可選項(xiàng)。(5)每個(gè)標(biāo)準(zhǔn)模塊的一個(gè)文件(.bas)該文件是可選項(xiàng)。(6)一個(gè)或多個(gè)包含ActiveX控件的文件(.ocx),該文件是可選項(xiàng)。(7)單個(gè)資源文件(.res),該文件是可選項(xiàng)。
工程文件就是與該工程有關(guān)的全部文件和對(duì)象的清單,也是所設(shè)置的環(huán)境選項(xiàng)方面的信息。每次保存工程時(shí),這些信息都要被更新。所有這些文件和對(duì)象也可供其他工程共享。2023/11/221122.4.2工程資源管理器
當(dāng)創(chuàng)建、添加或從工程中刪除可編輯文件時(shí),工程資源管理器中會(huì)反映出發(fā)生的變化,該窗口包含此工程的當(dāng)前文件的列表。圖2-10所示的工程資源管理器窗口中列出可納入VB工程的一些文件類(lèi)型。2023/11/22113圖2-10工程資源管理器窗口2023/11/221142.4.3VB工程文件
每次保存工程,VB都要更新工程文件(.vbp)。工程文件包含文件列表,它與出現(xiàn)在工程資源管理器窗口的文件列表相同,工程文件還引用工程中所使用的ActiveX控件和可插入對(duì)象。通過(guò)雙擊一個(gè)現(xiàn)存工程的圖標(biāo),或從“文件”菜單中選定“打開(kāi)工程”命令,或拖動(dòng)該文件并放入工程資源管理器窗口,可以打開(kāi)這個(gè)現(xiàn)存的工程。2023/11/221152.4.4VB工程的結(jié)構(gòu)
下面介紹可以納入工程的不同類(lèi)型的文件和對(duì)象。1.窗體模塊窗體模塊(具有.frm文件擴(kuò)展名)包含窗體及其控件的正文描述及屬性設(shè)置。它們也含有窗體級(jí)的常量、變量、外部過(guò)程的聲明、事件過(guò)程和一般過(guò)程。2.類(lèi)模塊類(lèi)模塊(具有.cls文件擴(kuò)展名)與窗體模塊類(lèi)似,但是沒(méi)有可見(jiàn)的用戶(hù)界面??梢允褂妙?lèi)模塊創(chuàng)建含有方法和屬性代碼的自己的對(duì)象。2023/11/221163.標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊(具有.bas文件擴(kuò)展名)可以包含類(lèi)型、常數(shù)、變量、外部過(guò)程和公共過(guò)程的公共的或模塊級(jí)的聲明。4.資源文件資源文件(具有.res文件擴(kuò)展名)包含著無(wú)需重新編輯代碼便可以改變的位圖、字符串和其他數(shù)據(jù)。一個(gè)工程最多包含一個(gè)資源文件。2023/11/221175.ActiveX文檔
ActiveX文檔(.dob)類(lèi)似于窗體,但是在互聯(lián)網(wǎng)資源管理器之類(lèi)的互聯(lián)網(wǎng)瀏覽器中是可以顯示的。VB的專(zhuān)業(yè)版和企業(yè)版都有能創(chuàng)建ActiveX文檔。6.用戶(hù)控件和屬性頁(yè)模塊用戶(hù)控件(.ctl)屬性頁(yè)(.pag)模塊也類(lèi)似于窗體,但它們被用于創(chuàng)建ActiveX控件及與其關(guān)聯(lián)的用來(lái)顯示設(shè)計(jì)時(shí)屬性的屬性頁(yè)。VB專(zhuān)業(yè)版和企業(yè)版能夠創(chuàng)建ActiveX控件。2023/11/221187.部件除文件和模塊外,還有幾個(gè)其他類(lèi)型的部件可以添加到工程中。(1)ActiveX控件
ActiveX控件(具有.ocx文件擴(kuò)展名)是可選的控件,它可以被添加到工具箱中并保存在窗體里使用。當(dāng)安裝VB時(shí),VB包含的含有控件的那些文件被復(fù)制到一個(gè)公共目錄(Windows98下面的子目錄\Windows\System)中。從多種源可以取得附加的ActiveX控件。也可以使用VB專(zhuān)業(yè)版和企業(yè)版創(chuàng)建自己的控件。2023/11/22119(2)可插入的對(duì)象可插入的對(duì)象,例如Excel的工作表對(duì)象,是可以用作建造集成方案時(shí)建造塊的部件。一個(gè)集成方案可以包含由不同的應(yīng)用程序創(chuàng)建的不同格式的數(shù)據(jù),例如工作表,位圖和正文。2023/11/22120(3)引用也可以添加能被應(yīng)用程序使用的外部ActiveX控件的引用。通過(guò)訪(fǎng)問(wèn)“工程”菜單上的“引用”菜單項(xiàng),使用“引用”對(duì)話(huà)框可指定引用。(4)ActiveX設(shè)計(jì)器
ActiveX設(shè)計(jì)器是類(lèi)的設(shè)計(jì)工具,從類(lèi)出發(fā)可以創(chuàng)建對(duì)象。窗體的設(shè)計(jì)界面是缺省的設(shè)計(jì)器。從其他的源可取得附加的設(shè)計(jì)器。121數(shù)據(jù)類(lèi)型、常量和變量VB中的基本語(yǔ)句數(shù)據(jù)的輸入語(yǔ)句數(shù)據(jù)的輸出語(yǔ)句本章要點(diǎn)常用內(nèi)部函數(shù)和表達(dá)式122§3.1數(shù)據(jù)類(lèi)型
數(shù)據(jù)類(lèi)型是數(shù)據(jù)的表示和存儲(chǔ)形式。VB共有三種數(shù)據(jù)類(lèi)型?;緮?shù)據(jù)類(lèi)型用戶(hù)自定義數(shù)據(jù)類(lèi)型枚舉類(lèi)型
VisualBasic定義的基本數(shù)據(jù)類(lèi)型如下頁(yè)表3.1所示。
123VisualBasic定義的基本數(shù)據(jù)類(lèi)型圖3-1數(shù)值型的數(shù)據(jù)124一、基本數(shù)據(jù)類(lèi)型
不同類(lèi)型的數(shù)據(jù),所占的存儲(chǔ)空間不一樣,選擇使用合適的數(shù)據(jù)類(lèi)型,可以?xún)?yōu)化程序代碼的編寫(xiě)。1.整型數(shù)是不帶小數(shù)點(diǎn)和E指數(shù)的數(shù)。例如:123,0,-24,19800等。整型(Integer)整數(shù)分為長(zhǎng)整型(Long)
1252.實(shí)數(shù)是帶小數(shù)點(diǎn)和E指數(shù)的數(shù)。常用于表示數(shù)值較大或較小的數(shù)字。例如:12.3,-24.,1.98E04,等。單精度浮點(diǎn)數(shù)(Single)實(shí)數(shù)分為雙精度浮點(diǎn)數(shù)(Double)
單精度浮點(diǎn)數(shù)是用4個(gè)字節(jié)存放,其表示數(shù)值的范圍比較小。雙精度浮點(diǎn)數(shù)是用8個(gè)字節(jié)來(lái)存放。表示數(shù)據(jù)范圍比較大。一、基本數(shù)據(jù)類(lèi)型1263.貨幣型(Currency)數(shù)據(jù)以8個(gè)字節(jié)來(lái)存放,它支持小數(shù)點(diǎn)后面4位和小數(shù)點(diǎn)前面15位,是一個(gè)精確的定點(diǎn)數(shù)據(jù)類(lèi)型,適用于貨幣運(yùn)算。4.字節(jié)型(Byte)的數(shù)據(jù)類(lèi)型表示(0~255)無(wú)符號(hào)的數(shù),常用于訪(fǎng)問(wèn)二進(jìn)制文件、圖形和聲音文件等。當(dāng)需要把數(shù)據(jù)存放成字節(jié)且必須訪(fǎng)問(wèn)各字節(jié)時(shí)可采用字節(jié)類(lèi)型。一、基本數(shù)據(jù)類(lèi)型127一、基本數(shù)據(jù)類(lèi)型5.字符型(String)的數(shù)據(jù)類(lèi)型只存放文本,它是用雙引號(hào)括起來(lái)的一串字符。其中的西文字符按ASCII編碼表示,占一個(gè)字節(jié)。一個(gè)漢字或全角字符占兩個(gè)字節(jié)。不含任何字符的串稱(chēng)為空串在VisualBasic中有兩種類(lèi)型字符串:
(1)變長(zhǎng)字符串最多可包含大約20億個(gè)字符。
(2)定長(zhǎng)字符串可以包含1到大約64K個(gè)字符。1286.布爾型(Boolean)數(shù)據(jù)。其值只有兩個(gè):真(True)和假(False),經(jīng)常被用來(lái)表示邏輯判斷的結(jié)果。任何時(shí)候只有兩種狀態(tài)的數(shù)據(jù),如“True/False”、“Yes/No”、“On/Off”等,都可以表示為Boolean型,在VisualBasic中0表示False,非0表示True。7.日期型(Date)數(shù)據(jù)用來(lái)表示日期和時(shí)間,用8個(gè)字節(jié)存放??梢员硎径喾N格式的日期和時(shí)間。在程序使用時(shí),日期類(lèi)型必需用“#”括起來(lái)。
1298.對(duì)象(Object)型數(shù)據(jù)用來(lái)表示應(yīng)用程序中或其他某些應(yīng)用程序中的對(duì)象??梢杂肧et語(yǔ)句指定一個(gè)被聲明為Object的變量去引用應(yīng)用程序所識(shí)別的任何實(shí)際對(duì)象。例如:DimobjDbAsObjectSetobjDb=OpenDatabase(“d:\Vb\Biblio.mdb”)
9.Variant類(lèi)型的數(shù)據(jù)能夠表示所有系統(tǒng)定義的數(shù)據(jù)類(lèi)型,當(dāng)把它們賦予Variant型時(shí),不必在這些數(shù)據(jù)的類(lèi)型間進(jìn)行轉(zhuǎn)換,VisualBasic會(huì)自動(dòng)完成任何必要的轉(zhuǎn)換。Variant數(shù)據(jù)類(lèi)型還包含三種特定值:Empty、Null、Error。130Empty值用于確定是否已將一個(gè)值賦予所創(chuàng)建的變量。賦值之前,Variant變量具有空值(Empty)。用IsEmpty函數(shù)可以測(cè)定一個(gè)變量建立后是否被賦過(guò)值。Null值常用于數(shù)據(jù)庫(kù)應(yīng)用程序,表示求未知或丟失為空的數(shù)據(jù)。用IsNull函數(shù)可以判斷一個(gè)Variant變量的值是否為Null。Error值是指已發(fā)生過(guò)程中的錯(cuò)誤狀態(tài)。
Variant是最為靈活的數(shù)據(jù)類(lèi)型可以根據(jù)不同的需要進(jìn)行各種數(shù)據(jù)類(lèi)型的轉(zhuǎn)換。正是由于它的靈活性,又使得它存在著明顯的缺點(diǎn),Variant數(shù)據(jù)類(lèi)型比其它類(lèi)型的數(shù)據(jù)占有更多的內(nèi)存空間。131二、用戶(hù)自定義數(shù)據(jù)類(lèi)型
可以把不同類(lèi)型的變量組合起來(lái)創(chuàng)建用戶(hù)定義的類(lèi)型。使用Type語(yǔ)句創(chuàng)建用戶(hù)定義類(lèi)型,它必須放在模塊的聲明部分。用戶(hù)定義類(lèi)型可用關(guān)鍵字聲明為Private或Public,用Type語(yǔ)句創(chuàng)建用戶(hù)定義類(lèi)型格式如下:
[Private|Public]Type數(shù)據(jù)類(lèi)型名
數(shù)據(jù)類(lèi)型元素名As數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型元素名As數(shù)據(jù)類(lèi)型
……EndType132例如:定義一個(gè)地址數(shù)據(jù)
TypeAddressStreetAsStringZipCodeAsStringPhoneAsStringEndType
這個(gè)地址數(shù)據(jù)里包括三個(gè)屬性,街區(qū)、郵政編碼和電話(huà),可把某數(shù)據(jù)定義成為此類(lèi)型:
DimMyHomeAsAddress
上面語(yǔ)句是將MyHome定義為地址數(shù)據(jù)。
133
要調(diào)用或改變“MyHome”的值時(shí),類(lèi)似于對(duì)對(duì)象的屬性的操作:變量名.域名=“……”
為了簡(jiǎn)化書(shū)寫(xiě)重復(fù)的部分,可以用關(guān)鍵字“With”;例如上面的MyHome
數(shù)據(jù):
WithMyHome.Street=“阜成路”
.ZipCode=“100037”.Phone=“12345678”EndWith
134三、枚舉類(lèi)型
1、枚舉的概念所謂枚舉是指將變量的值一一列舉出來(lái),變量的值只限于列舉出來(lái)的值的范圍。2、聲明枚舉型的格式如下:
[Private|Public]Enum類(lèi)型名稱(chēng)成員名[=常量表達(dá)式]
成員名[=常量表達(dá)式]……EndEnum3、格式說(shuō)明
[Private]
可選項(xiàng)。表示該枚舉類(lèi)型只在說(shuō)明它的模塊中有效。135三、枚舉類(lèi)型
[Public]
可選項(xiàng)。表示該枚舉類(lèi)型是公有的,其作用范圍是整個(gè)程序。
[類(lèi)型名稱(chēng)]
必需的,為該枚舉類(lèi)型的名稱(chēng)。
[成員名]
必需的,用來(lái)指定該枚舉類(lèi)型的組成元素。
[=常量表達(dá)式]
可選項(xiàng)。指明元素的值。在缺省的情況下,在枚舉中的第一個(gè)常數(shù)被初始化為0,其后的常數(shù)為比其前面的常數(shù)加1的數(shù)值。136【例3-1】下面的枚舉Days中,包含了一個(gè)數(shù)值為0的常數(shù)Sun,數(shù)值為1常數(shù)的Mon,數(shù)值為2常數(shù)Tue等。PublicEnumDaysSunMonTueWedThuFriSatEndEnum137
VB提供了內(nèi)置的枚舉vbDayOfweek,包括了與星期的七天相對(duì)應(yīng)的常數(shù)。如希望查閱預(yù)定義的枚舉常數(shù),在代碼窗口中鍵入vbDayOfweek,后跟一個(gè)句號(hào),VB將自動(dòng)顯示該枚舉常數(shù)的內(nèi)容。如下頁(yè)圖3-1所示138圖3-1VB內(nèi)部常數(shù)自動(dòng)列出成員139
可以使用賦值語(yǔ)句給枚舉中的常數(shù)賦值??梢再x值為任何長(zhǎng)整數(shù),包括負(fù)數(shù)。例如,可能希望常數(shù)數(shù)值小于0以便代表出錯(cuò)條件。在以下的枚舉數(shù)據(jù)中,常數(shù)Invalid被賦值為-1,而常數(shù)Sun被賦值為0。因?yàn)镾at是枚舉數(shù)據(jù)中的第一個(gè)元素,所以也被賦值為0,Mon的數(shù)值為1(比Sun的數(shù)值大1),Tue的數(shù)值為的數(shù)值為2等。140PublicEnumWorkDaysSatSun=0MonTueWedThuFriInvalid=-1EndEnum141
注意,VB將枚舉中的常量數(shù)值看作長(zhǎng)整數(shù)。如果將一個(gè)浮點(diǎn)數(shù)值賦值給一個(gè)枚舉中的常數(shù),VB將會(huì)使該數(shù)值取為最接近的長(zhǎng)整數(shù)。當(dāng)引用單個(gè)常數(shù)時(shí),為了避免模糊引用,應(yīng)在常數(shù)名稱(chēng)前加上枚舉名。下列代碼引用Days和WorkDays枚舉中Sat常數(shù),并在立即窗口中顯示它們不同的數(shù)值如圖3-2所示。142即:Days.Sat=6,WorkDays.Sat=0。
Debug.Print“Days.Sat=”&Days.SatDebug.Print“WorkDays.Sat=”&_WorkDays.Sat
圖3-2143
當(dāng)向一個(gè)枚舉中的常數(shù)賦值時(shí),也可以使用另一個(gè)枚舉中的常數(shù)的數(shù)值。例如,下述WorkDays枚舉的聲明與前述的聲明是等同的。PublicEnumWorkDaysSun=0MonTueWedThuFriSat=Days.Sat–6’Days.Sat的值為6Invalid=-1EndEnum
144
聲明枚舉類(lèi)型后,就可以聲明該枚舉類(lèi)型的變量,然后使用該變量存儲(chǔ)枚舉常數(shù)的數(shù)值。下列代碼使用WorkDays類(lèi)型的變量存儲(chǔ)與WorkDays枚舉中的常數(shù)相關(guān)聯(lián)的整數(shù)值:
DimMyDayAsWorkDaysMyDay=SatIfMyDay<MonThen‘Mon為1所以VB顯示一個(gè)消息框
MsgBox“Saturday是無(wú)效的工作日!”EndIf145
注意,當(dāng)在代碼窗口中鍵入示例中的第二行代碼MyDay=時(shí),VB“自動(dòng)列出成員”列表中顯示W(wǎng)orkDays枚舉的常數(shù),如圖3-3所示
圖3-3自動(dòng)列出成員146
因?yàn)槌?shù)Sun的數(shù)值也為0,所以如果在示例中的第二行用“星期日”替換“星期六”,VB也將顯示消息框:如圖3-4所示。
MyDay=Sun‘Sun的數(shù)值也為0圖3-4顯示消息框147§3.2常量
常量是指在程序運(yùn)行過(guò)程中,它的值始終保持不變的量。在VB中,有兩種形式的常量:直接常量和符號(hào)常量。一、直接常量直接常量分為:字符串常量、數(shù)值常量、布爾常量、日期常量。字符串常量就是用雙括號(hào)括起來(lái)的一串字符。例如:“A”,“123”,“Computer”。數(shù)值常量就是常數(shù),它們是可以:整型常量、長(zhǎng)整型常量、單精度常量、雙精度常量、貨幣型常量和字節(jié)型常量。例如:234,2.89,1.34E05等為數(shù)值常量。148§3.2常量
布爾常量只有兩個(gè)值:True(真)和false(假)。日期型常量,用兩個(gè)“#”符號(hào)把日期和時(shí)間的值
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 司機(jī)雇傭勞務(wù)合同范本
- 化學(xué)助劑采購(gòu)合同范本
- 丹廈店面租房合同范本
- 中央團(tuán)校培訓(xùn)心得體會(huì)
- 運(yùn)城小學(xué)英語(yǔ)試卷
- 低壓電工試題庫(kù)含參考答案
- 會(huì)員服裝租賃合同范本
- 體現(xiàn)返利合同范本
- 中級(jí)電工考試模擬題(附參考答案)
- 烹飪?cè)现R(shí)??荚囶}含參考答案
- 部編版語(yǔ)文小學(xué)五年級(jí)下冊(cè)第一單元集體備課(教材解讀)
- 暖通12yn5通風(fēng)與防排煙工程
- GB/T 26559-2011機(jī)械式停車(chē)設(shè)備分類(lèi)
- GB/T 1598-2010鉑銠10-鉑熱電偶絲、鉑銠13-鉑熱電偶絲、鉑銠30-鉑銠6熱電偶絲
- 數(shù)字化轉(zhuǎn)型中數(shù)據(jù)底座湖倉(cāng)一體化
- 保護(hù)野生動(dòng)物
- 統(tǒng)編版五年級(jí)下冊(cè)道德與法治全冊(cè)優(yōu)秀課件
- 《教育管理學(xué)》課件
- 凈水設(shè)備技術(shù)參數(shù)要求
- 《M公司員工忠誠(chéng)度分析案例報(bào)告》
- 腦血管造影護(hù)理課件
評(píng)論
0/150
提交評(píng)論