版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章Visual Basic概述1.1知識(shí)點(diǎn)歸納1VB的特點(diǎn)(1)面向?qū)ο蟮目梢暬幊?。把程序和?shù)據(jù)“封裝”起來(lái)成為一個(gè)對(duì)象;每個(gè)對(duì)象都是可視的;從VB工具箱中選用控件(即現(xiàn)成部件,如文本框、命令按鈕等),構(gòu)成應(yīng)用程序的用戶界面。(2)事件驅(qū)動(dòng)的編程機(jī)制。 傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言面向過(guò)程,VB語(yǔ)言面向?qū)ο笸ㄟ^(guò)事件來(lái)觸發(fā)執(zhí)行相應(yīng)的事件過(guò)程(“事件驅(qū)動(dòng)”) ,從而執(zhí)行對(duì)象的操作,達(dá)到運(yùn)算、處理的目的。(3)結(jié)構(gòu)化的設(shè)計(jì)語(yǔ)言。(4)友好的VB集成開(kāi)發(fā)環(huán)境。2VB中對(duì)象的基本概念(1)類(lèi)和對(duì)象 類(lèi):一組用來(lái)定義對(duì)象的相關(guān)屬性和數(shù)據(jù)的集合。類(lèi)是創(chuàng)建對(duì)象的模型,對(duì)象則是按模型生產(chǎn)出來(lái)的成品。 例如,人可以稱
2、之為類(lèi),而每一個(gè)人,卻只能看做是對(duì)象。對(duì)象是VB系統(tǒng)中的基本運(yùn)行實(shí)體,是一組程序代碼和數(shù)據(jù)的集合。(2)對(duì)象的三要素 對(duì)象的三要素包括:屬性、方法和事件。 屬性:對(duì)象的外部特征,即用來(lái)描述和反映對(duì)象特征的參數(shù)。不同的對(duì)象有不同的屬性。每一個(gè)對(duì)象都有一組特定的屬性,可以通過(guò)屬性窗口或代碼窗口對(duì)對(duì)象的屬性進(jìn)行設(shè)置。方法:是對(duì)象能夠執(zhí)行的動(dòng)作。它是對(duì)象本身內(nèi)含的一些特殊函數(shù)或過(guò)程,用于完成某種特定的功能,供用戶直接調(diào)用。事件:由系統(tǒng)預(yù)先設(shè)置好的、能被對(duì)象識(shí)別的動(dòng)作。一個(gè)對(duì)象可以識(shí)別響應(yīng)多個(gè)不同的事件。3事件、事件過(guò)程及事件驅(qū)動(dòng) 事件:由系統(tǒng)預(yù)先設(shè)置好的、能被對(duì)象識(shí)別的動(dòng)作。發(fā)生在用戶與應(yīng)用程序交互時(shí)
3、。如單擊控件、鼠標(biāo)移動(dòng)、鍵盤(pán)按下等。 事件過(guò)程:指附在對(duì)象上的用戶編寫(xiě)的程序代碼,是事件的處理程序。由事件控制整個(gè)程序的執(zhí)行流程,當(dāng)某個(gè)事件(一般由用戶操作來(lái)觸發(fā)) 發(fā)生時(shí),系統(tǒng)就會(huì)自動(dòng)執(zhí)行此事件的事件過(guò)程。 事件驅(qū)動(dòng)方式:是圖形用戶界面的本質(zhì),由用戶控制而代碼作出響應(yīng)。 即事件過(guò)程要經(jīng)過(guò)事件的觸發(fā)才能被執(zhí)行,這種工作模式稱為事件驅(qū)動(dòng)方式。4設(shè)計(jì)VB應(yīng)用程序的步驟VB應(yīng)用程序的開(kāi)發(fā),大致分為兩大部分的工作:設(shè)計(jì)用戶界面和編寫(xiě)程序代碼。即先要確定對(duì)象,然后針對(duì)這些對(duì)象編寫(xiě)代碼?;静襟E如下: (1) 建立工程; (2) 設(shè)計(jì)用戶界面; (3) 設(shè)置對(duì)象的屬性值; (4) 編寫(xiě)程序代碼,建立事件過(guò)
4、程; (5)保存應(yīng)用程序; (6)運(yùn)行和調(diào)試應(yīng)用程序;(7)生成可執(zhí)行文件。5控件控件是建立VB應(yīng)用程序的基本元素,是VB中預(yù)先定義好的、編程能直接使用的對(duì)象,可視化設(shè)計(jì)就是通過(guò)控件實(shí)現(xiàn)的。利用控件創(chuàng)建對(duì)象是VB編程的一項(xiàng)重要工作。VB中的控件一般可分為三大類(lèi):內(nèi)部控件、ActiveX控件和可插入的對(duì)象控件(也叫插件):(1)內(nèi)部控件(也稱標(biāo)準(zhǔn)控件):包含在VB系統(tǒng)中,默認(rèn)狀態(tài)下在工具箱中以圖形的形式顯示,這些控件既不能添加,也不能刪除。如:文本框、標(biāo)簽、命令按鈕等。(2)ActiveX控件:存放于擴(kuò)展名為.ocx的獨(dú)立文件中,其中包括VB各種版本提供的控件和僅在專(zhuān)業(yè)版和企業(yè)版中提供的控件,另
5、外還有許多第三方提供的ActiveX控件。(3)可插入的對(duì)象控件:是指能夠添加到工具箱中的對(duì)象,添加的方法是選擇“工程|部件”菜單選項(xiàng)打開(kāi)部件窗口,在“可插入對(duì)象”選項(xiàng)卡選擇相應(yīng)文件,添加到工具箱中。每個(gè)控件都有自己的屬性、方法和能夠識(shí)別響應(yīng)的事件。6VB的工作模式VB是一個(gè)集成編輯、編譯與運(yùn)行于一起的集成開(kāi)發(fā)系統(tǒng)。在程序設(shè)計(jì)過(guò)程中其工作狀態(tài)可分為3中模式:設(shè)計(jì)模式、運(yùn)行模式和中斷模式。為了調(diào)試程序,用戶必須知道系統(tǒng)當(dāng)前所處的工作模式及其能實(shí)施的相關(guān)操作。 (1)設(shè)計(jì)模式:用于用戶基本界面的設(shè)計(jì)、相關(guān)控件的屬性設(shè)置和程序代碼編制。 (2)運(yùn)行模式:用于在編輯代碼過(guò)程中編譯執(zhí)行應(yīng)用程序,以觀察運(yùn)
6、行效果或進(jìn)行代碼調(diào)試。在該模式下,不能對(duì)程序界面及代碼進(jìn)行編輯。 (3)中斷模式:用于程序運(yùn)行過(guò)程中的暫時(shí)中斷,這時(shí)可以編輯程序代碼,并可在“立即窗口”中顯示變量值、中間結(jié)果或運(yùn)行其他命令,但不可編輯界面。該模式主要用作程序代碼的調(diào)試和中間結(jié)果的檢查。在此模式下,選擇“運(yùn)行”菜單下的“繼續(xù)”選項(xiàng)可以繼續(xù)運(yùn)行程序,選擇“結(jié)束”選項(xiàng)可以中止程序的運(yùn)行。7VB 常見(jiàn)的錯(cuò)誤類(lèi)型(1)編輯錯(cuò)誤:在編輯代碼時(shí),VB會(huì)對(duì)鍵入的代碼直接進(jìn)行語(yǔ)法檢查。當(dāng)發(fā)現(xiàn)代碼存在打字錯(cuò)誤,遺漏關(guān)鍵字或標(biāo)點(diǎn)符等語(yǔ)法錯(cuò)誤,VB在Form窗口中彈出一個(gè)子窗口,提示出錯(cuò)信息,出錯(cuò)的那一行變成紅色。這時(shí),用戶必須單擊“確定”按鈕,關(guān)閉
7、出錯(cuò)提示窗,然后對(duì)出錯(cuò)行進(jìn)行修改。(2)編譯錯(cuò)誤:指按了“啟動(dòng)”按鈕,VB開(kāi)始運(yùn)行程序前,先編譯執(zhí)行的程序段時(shí),產(chǎn)生的錯(cuò)誤。此類(lèi)錯(cuò)誤由于用戶未定義變量、遺漏關(guān)鍵字等原因產(chǎn)生。這時(shí),Visual Basic也彈出一個(gè)子窗口,提示出錯(cuò)信息,出錯(cuò)的那一行被高亮度顯示。(3) 運(yùn)行錯(cuò)誤:指VB在編譯通過(guò)后,運(yùn)行代碼時(shí)發(fā)生的錯(cuò)誤。這類(lèi)錯(cuò)誤往往是指令代碼執(zhí)行了一非法操作引起的。例如類(lèi)型不匹配、試圖打開(kāi)一個(gè)不存在的文件等。(4) 邏輯錯(cuò)誤:程序運(yùn)行后,得不到所期望的結(jié)果,這說(shuō)明程序存在邏輯錯(cuò)誤。這類(lèi)錯(cuò)誤往往是程序存在邏輯上的缺陷所引起。例如,運(yùn)算符使用不正確、語(yǔ)句的次序不對(duì)、循環(huán)語(yǔ)句的起始、終值不正確等。通
8、常,邏輯錯(cuò)誤不會(huì)產(chǎn)生錯(cuò)誤提示信息,故錯(cuò)誤較難排除,需要程序員仔細(xì)地閱讀分析程序以及設(shè)置斷點(diǎn)進(jìn)行調(diào)試。8VB 程序的調(diào)試測(cè)試、調(diào)試程序的過(guò)程是查找、排除和修改程序中錯(cuò)誤的過(guò)程。VB中可通過(guò)如下方式調(diào)試程序:(1)進(jìn)入中斷模式通常系統(tǒng)在中斷模式下,用戶可查看各變量及屬性的當(dāng)前值,觀察界面狀況,從而了解程序執(zhí)行是否正常,并且可以修改程序代碼、修改變量及屬性值等。在程序調(diào)試時(shí),使系統(tǒng)進(jìn)入中斷模式的方法有以下幾種:程序運(yùn)行時(shí)發(fā)生錯(cuò)誤,被系統(tǒng)檢測(cè)到而中斷。程序運(yùn)行中,按組合鍵“Ctrl+Break”,也可以單擊調(diào)試工具欄中“中斷”按鈕,或選擇“運(yùn)行/中斷”菜單項(xiàng),就會(huì)產(chǎn)生中斷。在程序代碼中設(shè)置斷點(diǎn),當(dāng)程序
9、運(yùn)行到斷點(diǎn)處就會(huì)產(chǎn)生中斷。采用逐語(yǔ)句或逐過(guò)程運(yùn)行,每執(zhí)行一行語(yǔ)句或一個(gè)過(guò)程就會(huì)產(chǎn)生中斷。在程序代碼中使用Stop語(yǔ)句,每執(zhí)行到Stop語(yǔ)句時(shí),也會(huì)產(chǎn)生中斷。在中斷模式下,最便捷的查看程序中變量或?qū)傩缘姆椒ㄊ菍⑹髽?biāo)指針停留在要查看的變量上,系統(tǒng)就會(huì)在隨后彈出的一個(gè)小方框中顯示指針?biāo)傅淖兞炕驅(qū)傩缘漠?dāng)前值。當(dāng)在中斷模式下調(diào)試完畢后,退出中斷模式的方法有:如果要退出并繼續(xù)運(yùn)行程序,則可選擇“運(yùn)行/繼續(xù)”菜單項(xiàng),或單擊調(diào)試工具欄中“繼續(xù)”按鈕。如要結(jié)束運(yùn)行,則可選擇“運(yùn)行/結(jié)束”菜單項(xiàng),或單擊調(diào)試工具欄中的“結(jié)束”按鈕。(2)控制程序的運(yùn)行。逐語(yǔ)句運(yùn)行。即單擊運(yùn)行,每次只執(zhí)行一條語(yǔ)句,之后運(yùn)行中斷,按
10、F8快捷鍵或選擇“調(diào)試/逐語(yǔ)句”菜單項(xiàng)執(zhí)行下一條語(yǔ)句。這樣可逐個(gè)語(yǔ)句地檢查每條語(yǔ)句的執(zhí)行情況。逐過(guò)程運(yùn)行。當(dāng)程序運(yùn)行到調(diào)用過(guò)程時(shí),逐過(guò)程運(yùn)行可將整個(gè)被調(diào)用過(guò)程作為整體來(lái)執(zhí)行。按Shift+F8快捷鍵或選擇“調(diào)試/逐過(guò)程”菜單項(xiàng)均可實(shí)現(xiàn)逐過(guò)程運(yùn)行。(3)設(shè)置斷點(diǎn)調(diào)試。找出程序代碼中能反映程序執(zhí)行狀況的關(guān)鍵代碼行,單擊其左邊的邊框位置,設(shè)置斷點(diǎn)。程序運(yùn)行到斷點(diǎn)設(shè)置的代碼行自動(dòng)停止執(zhí)行,并進(jìn)入中斷模式,觀察運(yùn)行情況。(4)立即窗口。立即窗口用于顯示在程序運(yùn)行過(guò)程中與當(dāng)前過(guò)程有關(guān)的信息,可以顯示某個(gè)變量或?qū)傩灾?,或?zhí)行單個(gè)過(guò)程或表達(dá)式。在立即窗口中可以實(shí)現(xiàn)以下功能: 用Debug.Print方法輸出信
11、息。調(diào)試程序時(shí)可在程序代碼中添加Debug.Print n等語(yǔ)句,將變量或表達(dá)式的值輸出到立即窗口中。程序調(diào)試完成后,應(yīng)將Debug.Print語(yǔ)句刪除。 在設(shè)計(jì)時(shí)用來(lái)測(cè)試表達(dá)式。在設(shè)計(jì)模式下,可以在立即窗口中使用Print方法或?直接輸出一些表達(dá)式的結(jié)果。例如:在立即窗口中輸入:?Int(Rnd*5) ,按Enter鍵立即顯示一個(gè)隨機(jī)產(chǎn)生的整數(shù)。 直接從立即窗口打印。在中斷模式下,通過(guò)使用Print方法或?可在立即窗口中檢查變量或表達(dá)式的值。例如:在立即窗口中輸入:?i,j,i*j 從“立即”窗口編輯變量或?qū)傩灾怠T谥袛嗄J较?,可在立即窗口中設(shè)置變量或?qū)傩缘闹?。例如:?dāng)程序中斷時(shí),在立即窗口
12、中給屬性重新賦值:Text1.ForeColor=vbRed,當(dāng)程序繼續(xù)運(yùn)行時(shí),文本框中字體的顏色就可變成紅色。 從立即窗口中測(cè)試過(guò)程。從立即窗口可以通過(guò)指定參數(shù)值來(lái)調(diào)用過(guò)程,以測(cè)試程序程序的正確性。例如:使用新參數(shù)來(lái)計(jì)算調(diào)用函數(shù)fac()的結(jié)果:n=5:?fac(n)9VB應(yīng)用程序的結(jié)構(gòu)在VB中,一個(gè)VB應(yīng)用程序就是一個(gè)工程,以*.vbp工程文件的形式保存,一個(gè)工程通常包含多種類(lèi)型的文件模塊,其中最常見(jiàn)的有: 窗體模塊(*.frm):是創(chuàng)建應(yīng)用程序的基礎(chǔ)。在窗體模塊中包含窗體及其控件的屬性設(shè)置值,同時(shí)還包含在該窗體的代碼窗口中編寫(xiě)的對(duì)常量、變量、類(lèi)型和外部過(guò)程的聲明以及sub和functio
13、n過(guò)程。 標(biāo)準(zhǔn)模塊(*.bas):存放與窗口或控件無(wú)關(guān)的代碼,通常是其他模塊共同使用的聲明和過(guò)程代碼。 類(lèi)模塊文件(*.cls):用來(lái)定義類(lèi),并可用它創(chuàng)建能被應(yīng)用程序中的過(guò)程所調(diào)用的對(duì)象。 *.frx二進(jìn)制文件:系統(tǒng)自動(dòng)產(chǎn)生,包含屬性窗口裝入的圖片等信息。 資源文件(.res):是指將在程序運(yùn)行時(shí)用到的資源集中在一起的一個(gè)文件。一個(gè)資源文件可以包括文字(TEXT)、位圖(BITMAP)、圖標(biāo)(ICON)等。并且在程序中調(diào)用時(shí)不用指明路徑,這就簡(jiǎn)化了程序的編寫(xiě)并減少了發(fā)生錯(cuò)誤的可能。1.2 常見(jiàn)錯(cuò)誤和難點(diǎn)分析1. 對(duì)象名稱(Name)屬性輸入錯(cuò)誤在窗體上創(chuàng)建的每個(gè)控件對(duì)象都有一個(gè)唯一標(biāo)識(shí)它的默認(rèn)
14、名稱。用戶也可以在屬性列表窗口中修改對(duì)象名。在編寫(xiě)代碼時(shí)引用該對(duì)象的屬性或方法時(shí)需要指明對(duì)象名。當(dāng)程序中的對(duì)象名錯(cuò)誤時(shí),系統(tǒng)會(huì)顯示“要求對(duì)象”的信息。2對(duì)象的屬性名、方法名輸入錯(cuò)誤當(dāng)對(duì)象的屬性名或方法名輸入出錯(cuò),編譯時(shí)系統(tǒng)會(huì)顯示“方法或數(shù)據(jù)成員未找到”的提示信息。編寫(xiě)代碼時(shí)盡量使用自動(dòng)列出成員功能。即當(dāng)用戶在輸入控件對(duì)象名和句點(diǎn)后,系統(tǒng)自動(dòng)列出該控件對(duì)象在運(yùn)行模式下允許使用的屬性和方法,用戶可通過(guò)按空格鍵或雙擊鼠標(biāo)左鍵選擇,以防止此類(lèi)錯(cuò)誤的出現(xiàn)。正確的系統(tǒng)按規(guī)定的大小寫(xiě)表示。3混淆控件的Name屬性和Caption屬性Name屬性的值用于在程序中唯一的標(biāo)識(shí)該控件對(duì)象,在窗體上不可見(jiàn);而Capt
15、ion屬性的值是在窗體上顯示的內(nèi)容。4. 混淆使用文本框的text屬性和標(biāo)簽的Caption屬性文本框的Text屬性和Caption屬性都可以用于表示控件在窗體上顯示的內(nèi)容的,但兩個(gè)屬性屬于不同的控件,文本框除了用于顯示信息以外,還可以用于輸入信息。5在編譯程序時(shí)出現(xiàn)“無(wú)效字符”錯(cuò)誤提示,對(duì)應(yīng)行以紅色字顯示。在VB中要注意英文環(huán)境下的半角符號(hào)和中文環(huán)境下全角符號(hào)的使用。VB只允許使用英文環(huán)境下的半角符號(hào)。最常見(jiàn)的如:逗號(hào) , 與 ,雙引號(hào) “ ”與“” 句號(hào) . 與 。的區(qū)別。6. 字母和數(shù)字形狀相似輸入代碼時(shí)注意小寫(xiě)字母“l(fā)”和數(shù)字“1”形式相同、小寫(xiě)字母“o”與數(shù)字“0”。7. 添加多個(gè)相
16、同類(lèi)型的控件時(shí),無(wú)意形成控件數(shù)組在添加多個(gè)相同類(lèi)型的控件時(shí),可在窗體上先添加一個(gè)控件,然后“復(fù)制”“粘貼”,此時(shí)會(huì)出現(xiàn)對(duì)話框詢問(wèn)是否創(chuàng)建控件數(shù)組,單擊“否”按鈕,在窗體上添加同類(lèi)型不同名稱的控件。如果單擊“是”則形成控件數(shù)組。8語(yǔ)句書(shū)寫(xiě)位置錯(cuò)誤。在VB中,除了在“通用聲明”段使用Dim等變量聲明、Option語(yǔ)句外,任何其他語(yǔ)句都應(yīng)放在事件過(guò)程中,否則程序運(yùn)行時(shí)會(huì)顯示“無(wú)效外部過(guò)程”的提示信息。9. 打開(kāi)工程時(shí)找不到對(duì)應(yīng)的文件一個(gè)最簡(jiǎn)單的VB應(yīng)用程序至少也應(yīng)包括一個(gè)工程文件.vbp和一個(gè)窗體文件.frm組成。工程文件記錄該工程內(nèi)所有文件包括窗體文件.frm、標(biāo)準(zhǔn)模塊文件.bas、類(lèi)模塊文件.c
17、ls等的名稱和存放路徑。若用戶在上機(jī)結(jié)束后,把文件保存到磁盤(pán)上,而又遺漏了某個(gè)文件,下次打開(kāi)工程時(shí)就會(huì)顯示“文件未找到”的提示信息?;蛘咴诖疟P(pán)上對(duì)某個(gè)文件進(jìn)行重命名,這樣也會(huì)造成打開(kāi)工程時(shí)顯示“文件未找到”的提示信息。建議用戶在編保存一個(gè)工程時(shí),將該工程包含的所有文件保存在同一個(gè)文件夾中,通常將該工程作為一個(gè)整體復(fù)制或移動(dòng)。10誤用“文件”菜單中的“添加工程”選項(xiàng),形成工程組。用戶誤選“文件|添加工程”菜單選項(xiàng),無(wú)意形成一個(gè)工程組?!拔募辈藛沃械摹肮こ塘泶鏋椤边x項(xiàng),現(xiàn)在變成“工程組另存為”選項(xiàng)。解決的辦法:在工程資源管理器窗口,選中不需要的工程,單擊鼠標(biāo)右鍵打開(kāi)快捷菜單,選“移除工程”選項(xiàng),
18、刪除工程文件夾下的工程組文件*.vbg,再重新打開(kāi)工程就可以了。1.3 習(xí)題一、選擇題1VB是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,構(gòu)成對(duì)象的三要素是_。(A)屬性、控件和方法 (B)屬性、事件和方法(C)窗體、控件和過(guò)程 (D) 控件、過(guò)程和模塊2窗體編輯器的主要功能是_。(A)設(shè)計(jì)窗體的外觀 (B)編寫(xiě)源程序代碼(C)建立用戶界面 (D) 設(shè)置對(duì)象屬性3在代碼窗口中,當(dāng)從對(duì)象列表框中選定了某一對(duì)象后,在_中會(huì)列出適用該對(duì)象的事件。(A)過(guò)程框 (B)屬性窗口 (C)事件列表框 (D工具欄4要設(shè)置窗體上個(gè)控件的屬性,可在_中進(jìn)行。(A)窗體布局窗口 (B)工程資源管理器窗口(C)屬性窗口 (D) 窗體
19、窗口5某一窗體的name屬性為myForm,它的Load事件過(guò)程名稱為_(kāi)。(A)MyForm_Load (B)Me_Load (C)Form_Load (D) Form1_load6要在窗體Form1內(nèi)顯示字符串”MyForm”,可以使用的語(yǔ)句是_。(A)Form.Caption=”MyForm” (B)Form1. Caption=”MyForm”(C)Form1.Print ”MyForm” (D) Form.Print ”MyForm”7以下不能在"工程資源管理器"窗口中列出的文件類(lèi)型是 _。(A).bas (B).res (C).frm ( D).ocx8設(shè)窗體上有
20、一個(gè)文本框,名稱為text1,程序運(yùn)行后,要求該文本框只能顯示信息,不能接受輸入的信息,以下能實(shí)現(xiàn)該操作的語(yǔ)句是_。(A) Text1.MaxLength=0 (B) Text1.Enabled=Flase (C) Text1.Visible=Flase (D) Text1.Width=0 9以下能在窗體Form1的標(biāo)題欄中顯示“VisualBasic窗體"的語(yǔ)句是 _。(A) Form1.Name="VisualBasic窗體" (B) Form1.Title="VisualBasic窗體" (C) Form1.Caption="V
21、isualBasic窗體" (D) Form1.Text="VisualBasic窗體”10添加一個(gè)命令按鈕“開(kāi)始”。若要為命令按鈕設(shè)置快捷鍵鍵,即按下Alt及字母S時(shí),能夠執(zhí)行"開(kāi)始"命令按鈕的事件過(guò)程,方法是:_。(A) 把Caption屬性設(shè)置為&Start (B) 把Caption屬性設(shè)置為S& Start(C) 把Name屬性設(shè)置為&Start (D) 把Name屬性設(shè)置為S& tart11以下敘述中錯(cuò)誤的是 _。(A) 事件過(guò)程是響應(yīng)特定事件的一段程序 (B) 不同的對(duì)象可以具有相同名稱的方法 (C) 對(duì)象的方
22、法是執(zhí)行指定操作的過(guò)程 (D) 對(duì)象事件的名稱可以由編程者指定 12下列關(guān)于Visual Basic 6.0的控件的敘述中,正確的是_。 (A) Visual Basic 6.0的控件分為3類(lèi):內(nèi)部控件、標(biāo)準(zhǔn)控件和ActivateX控件 (B) 標(biāo)準(zhǔn)控件可以添加,但不能刪除 (C) 啟動(dòng)Visual Basic 6.0后,ActivateX控件就出現(xiàn)在工具箱 (D) ActivateX控件是擴(kuò)展名為.ocx的獨(dú)立文件13下列說(shuō)法錯(cuò)誤的是_。(A) 窗體文件的擴(kuò)展名為.frm (B) 一個(gè)窗體對(duì)應(yīng)一個(gè)窗體文件 (C) Visual Basic中一個(gè)工程只包含一個(gè)窗體文件 (D) Visual B
23、asic中的一個(gè)工程最多可包含255個(gè)窗體 14以下關(guān)于Visual Basic特點(diǎn)的敘述中,錯(cuò)誤的是( )(A) Visual Basic是采用事件驅(qū)動(dòng)編程機(jī)制的語(yǔ)言 (B) Visual Basic程序既可以編譯運(yùn)行,也可以解釋運(yùn)行 (C) 構(gòu)成Visual Basic程序的多個(gè)過(guò)程沒(méi)有固定的執(zhí)行順序 (D) Visual Basic程序不是結(jié)構(gòu)化程序,不具備結(jié)構(gòu)化程序的三種基本結(jié)構(gòu) 15VB6.0集成開(kāi)發(fā)環(huán)境中不能完成的功能是_。(A) 編輯源程序 (B)編譯生成可執(zhí)行文件(C) 調(diào)試運(yùn)行程序 (D) 自動(dòng)查找并改正程序中的語(yǔ)法錯(cuò)誤 16 確定一個(gè)控件在窗體上的位置的屬性是_。 (A)
24、Width和 Height (B)Width或Height (C)Top和Left (D)Top或Left17若要使標(biāo)簽空間顯示時(shí)不覆蓋其背景內(nèi)容,要進(jìn)行設(shè)置的屬性是_。 (A) BackColor (B) BackStyle (C) ForeColor (D) BordStyle18若要使某一文本框控件在程序運(yùn)行過(guò)程中能用鼠標(biāo)單擊獲得輸入焦點(diǎn),但不能用按下Tab鍵的方式獲得輸入焦點(diǎn),則應(yīng)_。(A)將其Enabled屬性設(shè)置為False,且其TabStop屬性設(shè)置為False(B)將其Enabled屬性設(shè)置為T(mén)rue,且其TabStop屬性設(shè)置為False(C)將其Enabled屬性設(shè)置為Fa
25、lse,且其TabStop屬性設(shè)置為T(mén)rue(D) 將其Enabled屬性設(shè)置為T(mén)rue,且其TabStop屬性設(shè)置為T(mén)rue19以下可以產(chǎn)生工程組文件(.vbg)的情況是_。(A)當(dāng)一個(gè)程序中包含了兩個(gè)以上的窗體時(shí)(B)當(dāng)一個(gè)程序中包含了兩個(gè)以上的標(biāo)準(zhǔn)模塊時(shí)(C) 當(dāng)一個(gè)程序中包含了兩個(gè)以上的工程時(shí)(D) 當(dāng)一個(gè)程序中包含了兩個(gè)以上的類(lèi)模塊時(shí)。20當(dāng)窗體上的文字或圖形被覆蓋或窗體最小化后能恢復(fù)原貌,需要將窗體的_屬性設(shè)置為T(mén)rue。 (A)Visible (B)AutoRedraw (C)Paint (D) Resize二、填空題 1與傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言相比,VB最突出的特點(diǎn)是采用_編程機(jī)制
26、。 2VB提供兩種控制程序運(yùn)行的方式,一種是_方式,另一種是_方式。3Visual Basic 6.0有3中工作模式,即_,_和_。4如果要在單擊命令按鈕Command1時(shí)執(zhí)行一段程序代碼,則應(yīng)將這段代碼寫(xiě)在_事件過(guò)程中。5在窗體上已經(jīng)建立了多個(gè)控件如label1、Label2、Text1和Command1,要使程序一運(yùn)行時(shí)焦點(diǎn)就定位在Command1控件上,應(yīng)對(duì)Command1控件設(shè)置_屬性的值為_(kāi)。6要清除一個(gè)文本框Text1中的文字,則在程序代碼中應(yīng)書(shū)寫(xiě)的語(yǔ)句是_。三、編程題1編寫(xiě)一個(gè)簡(jiǎn)單的程序,在窗體上有兩個(gè)命令按鈕(“顯示”與“隱藏”)和一個(gè)標(biāo)簽(標(biāo)題為“歡迎使用”),單擊“顯示”按
27、鈕時(shí),將標(biāo)簽顯示出來(lái),單擊“隱藏”按鈕時(shí),將標(biāo)簽隱藏起來(lái)。2窗體上含有兩個(gè)標(biāo)簽、兩個(gè)文本框和兩個(gè)命令按鈕, 兩個(gè)標(biāo)簽分別用于顯示文字“邊長(zhǎng)”和“面積”,兩個(gè)文本框用于輸入數(shù)據(jù)和顯示計(jì)算結(jié)果。運(yùn)行時(shí),用戶在“邊長(zhǎng)”文本框中輸入某一個(gè)正整數(shù),當(dāng)單擊“計(jì)算”按鈕時(shí),則在“面積”文本框中顯示該數(shù)的平方數(shù)。單擊“結(jié)束”按鈕,則結(jié)束程序的運(yùn)行。1.4參考答案一、選擇題12345678910BCACCCDBCA11121314151617181920DDCDDCBBCB二、填空題1事件驅(qū)動(dòng) 2逐語(yǔ)句 , 逐過(guò)程3設(shè)計(jì)模式 , 運(yùn)行模式 , 中斷模式4Command1_Click5TabIndex ,06Te
28、xt1.Text=”三、編程題1 Private Sub Command1_Click() Label1.Visible = TrueEnd SubPrivate Sub Command2_Click() Label1.Visible = FalseEnd Sub2 Private Sub Command1_Click() Dim x As Single x = Val(Text1.Text) Text2.Text = x * xEnd SubPrivate Sub Command2_Click() EndEnd Sub第二章順序結(jié)構(gòu)的程序設(shè)計(jì)2.1 知識(shí)點(diǎn)歸納1VB提供的數(shù)據(jù)類(lèi)型數(shù)據(jù)是程序處
29、理的對(duì)象。為了更好地處理各種各樣的數(shù)據(jù),VB定義了多種數(shù)據(jù)類(lèi)型,不同類(lèi)型的數(shù)據(jù),所占的存儲(chǔ)空間不一樣。VB提供的數(shù)據(jù)類(lèi)型主要分為:標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型:整型(Integer)、長(zhǎng)整型(Long)、字節(jié)型(Byte)、單精度型(Single)、雙精度型(Double)、貨幣型(Currency)、字符串型(String)、邏輯型(Boolean)、日期型(Date)和變體型(Variant)。用戶自定義類(lèi)型:可以用TypeEnd Typy語(yǔ)句創(chuàng)建用戶定義的類(lèi)型。枚舉類(lèi)型:可以用EnumEnd Enum語(yǔ)句來(lái)定義相關(guān)的命名常數(shù)集合。2變量和常量(1) 變量的定義和作用域 用類(lèi)型說(shuō)明符來(lái)標(biāo)識(shí),常用類(lèi)型說(shuō)明符
30、有:?jiǎn)尉雀↑c(diǎn)數(shù)!、雙精度浮點(diǎn)數(shù)、整型數(shù)據(jù)、長(zhǎng)整型數(shù)據(jù)&、貨幣型數(shù)據(jù)、字符串型數(shù)據(jù)$。 在定義變量時(shí)指定類(lèi)型,其格式如下:PublicPrivateStatic Dim 變量名 As 數(shù)據(jù)類(lèi)型 變量的作用域指的是變量的有效范圍。根據(jù)定義位置和使用的變量定義語(yǔ)句的不同,分為3種: 局部變量:是在過(guò)程(事件過(guò)程或通用過(guò)程)內(nèi)定義的變量,其作用域是其所在的過(guò)程。局部變量在過(guò)程內(nèi)用Dim或Static聲明。 模塊變量:包括窗體變量和標(biāo)準(zhǔn)模塊變量,其作用于窗體內(nèi)的所有過(guò)程。模塊變量用Private或Dim聲明。 全局變量:作用域最大,在工程中的每一模塊和窗體都能訪問(wèn)的變量。全局變量用Public
31、或Global聲明。當(dāng)局部變量和全部變量同名時(shí),在局部變量所在過(guò)程中該變量為局部變量,離開(kāi)此過(guò)程為全局變量。變量名必須以字母或漢字開(kāi)頭,由字母、數(shù)字或下劃線組成,長(zhǎng)度小于等于255個(gè)字符;不能使用VB中的關(guān)鍵字、過(guò)程名、符號(hào)常量名和函數(shù)名;在為變量命名時(shí)應(yīng)見(jiàn)名知義,盡可能簡(jiǎn)單明了,盡量采用Visual Basic建議的變量名前綴或后綴的約定來(lái)命名,以便區(qū)分變量的類(lèi)型,在同一個(gè)范圍內(nèi)變量名必須是唯一的。(2)在VB中,常量分三類(lèi),分別為:一般常量:在程序代碼中直接給出的數(shù)據(jù)。包括字符串常量(用雙引號(hào)括起來(lái)的一系列字符)、數(shù)值常量(包括整型常量、長(zhǎng)整型常量、單精度常量、雙精度常量)、布爾常量(只有
32、True和False兩個(gè)值)、日期常量(用一對(duì)# #括起來(lái))。 用戶自定義常量聲明常量的語(yǔ)法為:PublicPrivate Const 常量名 As 數(shù)據(jù)類(lèi)型=<表達(dá)式>通常,為區(qū)分明顯,用戶定義的常量名用大寫(xiě)字母;常量名在程序中智能引用,不能重新賦值。 VB提供的系統(tǒng)常量系統(tǒng)定義好的常量位于對(duì)象庫(kù)中,在“對(duì)象瀏覽器”中的Visual Basic(VB)、Visual Basic for Applications(VBA)等對(duì)象庫(kù)中列舉了VB的系統(tǒng)常量。如:VbOkonly、VbYesno3運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符:(乘方)、*、/(除法)、(整除)、mod(求余)、, 優(yōu)先級(jí)從左
33、到右依次降低。字符串運(yùn)算符有兩個(gè):&和+,區(qū)別是“ + ”兩邊必須是字符串,“& ”不一定。關(guān)系運(yùn)算符:=、>、>=、<、<=、<>,運(yùn)算結(jié)果為邏輯值。邏輯運(yùn)算符:Not、And、Or、Xor、Eqv(相等)和Imp(蘊(yùn)含),其運(yùn)算結(jié)果為邏輯值。日期運(yùn)算符:、。注意:兩個(gè)日期可以相減,但不能相加。日期運(yùn)算的結(jié)果可能是日期,也可能是相隔的天數(shù)。優(yōu)先級(jí):當(dāng)一個(gè)表達(dá)式中存在多種運(yùn)算符是時(shí),按如下優(yōu)先級(jí)的先后順序進(jìn)行運(yùn)算:函數(shù)>算術(shù)運(yùn)算(乘方>取負(fù)>乘法/除法>整除>求余>加/減)>字符串運(yùn)算符>關(guān)系運(yùn)
34、算符>邏輯運(yùn)算符(Not>And>Or),同級(jí)從左到右,有括號(hào)時(shí)括號(hào)內(nèi)優(yōu)先。4 常用內(nèi)部函數(shù)VB提供了大量的內(nèi)部函數(shù)供用戶在編程時(shí)調(diào)用。內(nèi)部函數(shù)按其功能可分為:數(shù)學(xué)函數(shù)、轉(zhuǎn)換函數(shù)、字符串函數(shù)、日期函數(shù)和格式輸出函數(shù)等。函數(shù)的一般調(diào)用格式:<函數(shù)名>(<參數(shù)表>)說(shuō)明:參數(shù)表可以是一個(gè)參數(shù)或用逗號(hào)分隔開(kāi)的多個(gè)參數(shù);參數(shù)可以是變量、常量、表達(dá)式,也可以是函數(shù)。5賦值語(yǔ)句格式: Let <變量>=<表達(dá)式> 或: Let 對(duì)象名.<屬性名>=<表達(dá)式>功能:將等號(hào)右邊表達(dá)式的值,賦值給等號(hào)左邊的變量或?qū)傩?。說(shuō)明
35、:(1)關(guān)鍵字Let可以省略。(2)向?qū)ο筚x值時(shí),應(yīng)指明對(duì)象名和屬性名,系統(tǒng)默認(rèn)的對(duì)象是當(dāng)前窗口。(3)等號(hào)在這里稱為賦值號(hào)。(4)變量和對(duì)象一旦被賦值,新值將代替舊值。(5)賦值語(yǔ)句具有計(jì)算和賦值的雙重功能。(6)等號(hào)右邊的變量(對(duì)象)必須和等號(hào)右邊的數(shù)據(jù)類(lèi)型一致。 注意:在代碼中區(qū)分賦值語(yǔ)句“”與關(guān)系運(yùn)算符“”。6程序的基本構(gòu)成。程序通常由若干條語(yǔ)句共同協(xié)作完成一個(gè)完整的功能,一般情況下,一個(gè)完整的程序應(yīng)該包含4個(gè)部分:說(shuō)明部分:說(shuō)明程序中使用的變量的類(lèi)型、初始值、特性等。輸入部分:輸入程序中需要處理的原始數(shù)據(jù)。加工部分:對(duì)程序中的數(shù)據(jù)按需要進(jìn)行加工和處理。輸出部分:將結(jié)果以某種形式進(jìn)行輸
36、出。7VB程序的書(shū)寫(xiě)規(guī)則在編寫(xiě)程序代碼時(shí),要遵守一定的規(guī)則。不能超越其規(guī)定來(lái)自由發(fā)揮。 (1) 一行可寫(xiě)多條語(yǔ)句,語(yǔ)句間用冒號(hào) “:” 分隔,一行最多可有255個(gè)字符。 (2) 一條語(yǔ)句可分成多行書(shū)寫(xiě)。在VB中一般是一行寫(xiě)一條語(yǔ)句,但若單行語(yǔ)句太長(zhǎng),也可以分若干行書(shū)寫(xiě),但在行末須加入續(xù)行符(一個(gè)空格緊跟一個(gè)下劃線 “_”)。 (3) VB代碼中不區(qū)分大小寫(xiě)字母,自動(dòng)將關(guān)鍵字的首字母轉(zhuǎn)換成大寫(xiě)。(4) 各關(guān)鍵字之間,關(guān)鍵字和變量名、常量名、過(guò)程名之間一定要有空格分隔。 (5)使用縮進(jìn)格式。為了便于閱讀,編寫(xiě)程序代碼時(shí),可以使用縮進(jìn)來(lái)反映代碼的邏輯結(jié)構(gòu)和嵌套關(guān)系。(6)嚴(yán)格按照VB規(guī)定的格式和符號(hào)
37、編寫(xiě)程序。與其他高級(jí)語(yǔ)言一樣,在VB中使用的分號(hào)、引號(hào)、括號(hào)等符號(hào)都是英文狀態(tài)下的半角符號(hào),而不能使用中文狀態(tài)下的全角符號(hào)。(7)程序中可使用注釋?zhuān)⑨屢訰em開(kāi)頭或用撇號(hào)“”引導(dǎo)注釋內(nèi)容,用撇號(hào)“”引導(dǎo)的注釋內(nèi)容,可直接出現(xiàn)在語(yǔ)句的后面。8數(shù)據(jù)的輸入輸出 一個(gè)完整的VB應(yīng)用程序,應(yīng)包括數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個(gè)部分。通過(guò)數(shù)據(jù)輸入和數(shù)據(jù)輸出實(shí)現(xiàn)應(yīng)用程序與用戶交互的功能。 數(shù)據(jù)輸入除了利用賦值語(yǔ)句“”為變量和對(duì)象屬性設(shè)置新值(在程序運(yùn)行前的編碼階段輸入數(shù)據(jù)),或利用文本框控件供用戶在程序運(yùn)行過(guò)程中輸入數(shù)據(jù)外,還可以使用InputBox()函數(shù)在程序運(yùn)行過(guò)程中從鍵盤(pán)輸入數(shù)據(jù)。<變量名&
38、gt;=InputBox(<提示信息>,標(biāo)題,默認(rèn)內(nèi)容)說(shuō)明:運(yùn)行InputBox()函數(shù)可以屏幕上產(chǎn)生一個(gè)對(duì)話框供用戶輸入數(shù)據(jù),并將其輸入的內(nèi)容作為函數(shù)返回值向變量賦值。 數(shù)據(jù)輸出除了可以在窗體、標(biāo)簽等標(biāo)準(zhǔn)控件上顯示信息以外,還可以使用MsgBox過(guò)程或MsgBox()函數(shù)彈出對(duì)話框顯示信息。MsgBox <提示信息>,按鈕圖標(biāo),標(biāo)題說(shuō)明:彈出一個(gè)MsgBox對(duì)話框,顯示提示信息,只有一個(gè)按鈕,無(wú)返回值?;?<變量名>=MsgBox (<提示信息>,按鈕圖標(biāo),標(biāo)題) 說(shuō)明:彈出MsgBox對(duì)話框,提示用戶選擇按鈕,將用戶選擇按鈕的結(jié)果返回,控制
39、程序的流向。9Print方法 Print方法可以在窗體上或其它圖形對(duì)象上以及打印機(jī)上輸出信息,而信息輸出的位置非常關(guān)鍵。(1)Print方法的格式 對(duì)象名. Print 表達(dá)式列表,| ;表達(dá)式表可以是一個(gè)或多個(gè)表達(dá)式,可以是數(shù)值表達(dá)式,也可以是字符串。對(duì)于數(shù)值表達(dá)式,打印表達(dá)式的值(即:Print語(yǔ)句具有計(jì)算和輸出雙重功能,先計(jì)算后打印);而字符串則原樣輸出。當(dāng)輸出多個(gè)表達(dá)式或字符串時(shí),各表達(dá)式之間要用分隔符隔開(kāi)(,或 ;):若用 ,分隔,則按標(biāo)準(zhǔn)格式顯示數(shù)據(jù)項(xiàng)(以14個(gè)字符為一區(qū)段);若用 ;分隔,則按緊湊格式輸出數(shù)據(jù)項(xiàng)(字符之間無(wú)空格);若表達(dá)式結(jié)尾無(wú)標(biāo)點(diǎn)符號(hào),則執(zhí)行完該語(yǔ)句后,自動(dòng)換行
40、;若Print語(yǔ)句中無(wú)表達(dá)式列表,則輸出空行。(2)用Tab()和Spc()函數(shù)定位 Tab()函數(shù)格式:Tab(<n>)功能:使用在Print語(yǔ)句中,把光標(biāo)移動(dòng)到由參數(shù)n指定的位置,并從該位置開(kāi)始輸出數(shù)據(jù)。說(shuō)明:要輸出的內(nèi)容放在Tab函數(shù)后,并用 ;號(hào)隔開(kāi)。在一個(gè)Print方法中有多個(gè)Tab函數(shù)時(shí),每一個(gè)Tab函數(shù)對(duì)應(yīng)一個(gè)輸出項(xiàng),之間用 ;號(hào)分隔。參數(shù)n可以是數(shù)值表達(dá)式,但其值是一整數(shù)。Spc()函數(shù)格式:Spc(<n>)功能:在Print輸出中,用Spc()函數(shù)可以跳過(guò)n個(gè)空格。說(shuō)明:Spc函數(shù)和輸出項(xiàng)之間用 ;號(hào)分隔,其作用和Tab函數(shù)類(lèi)似,可以相互替代。但Tab
41、函數(shù)是從對(duì)象的左端開(kāi)始記數(shù),而Spc()函數(shù)只是表示兩輸出項(xiàng)之間的間隔。2.2常見(jiàn)錯(cuò)誤和難點(diǎn)分析1. 變量名使用系統(tǒng)關(guān)鍵字、系統(tǒng)常量、函數(shù)名等。 如:Dim date As Integer 這里Date是日期函數(shù)名。2無(wú)意聲明了變體型的變量。如:Dim a,b,c As Integer 這里聲明的a和b為變體型變量,正確的應(yīng)該是:Dim a As Integer,b As Integer , c As Integer3賦值號(hào)“”兩邊的表達(dá)式數(shù)據(jù)類(lèi)型不匹配如:a為整型變量,文本框Text1中輸入的內(nèi)容是welcome,代碼a=Text1.Text運(yùn)行過(guò)程中提示“類(lèi)型不匹配”。4同時(shí)給多個(gè)變量賦值
42、,造成邏輯錯(cuò)誤。要給多個(gè)變量a、b、c賦值,有的用戶寫(xiě)成a=b=c=5,這條語(yǔ)句在C語(yǔ)言中是正確的,但在VB中由于賦值號(hào)與邏輯等號(hào)書(shū)寫(xiě)相同,所以此語(yǔ)句中b和c之間、c和5之間的“=”系統(tǒng)會(huì)認(rèn)為是邏輯等號(hào),所以不會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤,而形成邏輯錯(cuò)誤。5漏掉乘法運(yùn)算符*在VB中書(shū)寫(xiě)S=ab數(shù)學(xué)表達(dá)式時(shí),習(xí)慣性的省略了乘法運(yùn)算符,系統(tǒng)會(huì)認(rèn)為是ab是一個(gè)變量,不會(huì)認(rèn)為是求a乘以b ,導(dǎo)致邏輯錯(cuò)誤。6算術(shù)運(yùn)算符 / 和 的使用混淆。在VB中,/ 是除法運(yùn)算符, 是整除運(yùn)算符,有的用戶混淆了這兩個(gè)運(yùn)算符,在求3除以2的結(jié)果時(shí),寫(xiě)成s=32,結(jié)果只有商的整數(shù)部分。7字符串連接運(yùn)算出錯(cuò)。字符串的連接運(yùn)算賦有&
43、;和+兩種,在編寫(xiě)代碼過(guò)程中,有的用戶會(huì)寫(xiě)出這樣的代碼:Dim s as String , n as Integer s=”計(jì)算的結(jié)果為:”+ n系統(tǒng)提示錯(cuò)誤信息“類(lèi)型不匹配”。在進(jìn)行字符串連接運(yùn)算時(shí),如果使用+進(jìn)行連接運(yùn)算,連接符兩邊應(yīng)全為字符型,在使用&連接運(yùn)算符進(jìn)行運(yùn)算時(shí),可以不全是字符型,系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)換。所以這里換用&運(yùn)算符或用str(n)進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換。8. 邏輯表達(dá)式書(shū)寫(xiě)錯(cuò)誤,編譯時(shí)沒(méi)有造成語(yǔ)法錯(cuò)而形成邏輯錯(cuò)。要在VB中表示數(shù)學(xué)表達(dá)式0<=x<1,有的用戶寫(xiě)成:0<=x<1,編譯時(shí)沒(méi)有造成語(yǔ)法錯(cuò)誤而形成邏輯錯(cuò)。因?yàn)檫@里x的值不管是多少,這個(gè)
44、邏輯表達(dá)式的結(jié)果都是True。在VB中,當(dāng)兩個(gè)不同類(lèi)型的變量或常量參加運(yùn)算時(shí),有自動(dòng)向精度高的類(lèi)型轉(zhuǎn)換的功能。如邏輯常量True轉(zhuǎn)換為數(shù)值型的值為1,F(xiàn)alse為0;反之?dāng)?shù)值非0轉(zhuǎn)換為邏輯型的值為T(mén)rue,0為False。表達(dá)式0<=x<1的計(jì)算過(guò)程為:先計(jì)算0<=x,結(jié)果為true(-1)或False(0);不管是哪個(gè)結(jié)果,始終是<1的,表達(dá)式結(jié)果永遠(yuǎn)都是True。正確的書(shū)寫(xiě)應(yīng)該是:x>=0 And x<1 。9數(shù)據(jù)溢出錯(cuò)誤。有的用戶在編寫(xiě)代碼求解s=10!時(shí),定義一個(gè)整型變量s(Dim s As Integer)來(lái)表示10!的結(jié)果,編譯提示錯(cuò)誤信息“溢出
45、”。在VB定義了多種數(shù)據(jù)類(lèi)型,不同類(lèi)型的數(shù)據(jù),所占的存儲(chǔ)空間不一樣。整型變量2個(gè)字節(jié)的存儲(chǔ)空間無(wú)法滿足10!結(jié)果的需要,發(fā)生溢出。解決的辦法是:Dim s as Long,長(zhǎng)整型數(shù)據(jù)有4個(gè)字節(jié)的存儲(chǔ)空間。另外對(duì)于浮點(diǎn)型數(shù)據(jù)也要根據(jù)實(shí)際的數(shù)據(jù)值來(lái)決定聲明為單精度型(Single)還是雙精度型(Double)。10標(biāo)準(zhǔn)函數(shù)名輸入錯(cuò)誤VB提供了很多事先定義好具有特定功能的內(nèi)部函數(shù),供用戶使用。當(dāng)函數(shù)名寫(xiě)錯(cuò)時(shí),運(yùn)行程序,系統(tǒng)顯示錯(cuò)誤提示信息“子程序或函數(shù)未定義”,單擊“確定”按鈕,在指示位置檢查函數(shù)名是否輸入正確。 11聲明局部變量和窗體級(jí)變量的問(wèn)題。在VB程序中,需要用變量用來(lái)暫時(shí)存放一些中間結(jié)果,
46、這些變量在使用前需要聲明。變量一般在過(guò)程內(nèi)部聲明使用,稱為局部變量。但當(dāng)多個(gè)過(guò)程需要用到同一個(gè)變量的值時(shí),該變量必須放在所有代碼的最前面即“通用聲明”段聲明,稱為窗體級(jí)變量。12在Form_Load事件過(guò)程中print 和set_focus方法不起作用 Form_Load過(guò)程即系統(tǒng)在窗體裝入內(nèi)存時(shí)無(wú)法同步地用Print、SetFocus方法顯示或定位控件的焦點(diǎn)。解決方法:Print顯示信息:方法一、在屬性窗口將窗體AutoRedraw屬性設(shè)置為T(mén)rue。方法二、在Form_Load事件過(guò)程第一行添加Show語(yǔ)句SetFocus方法定位焦點(diǎn):在屬性窗口中對(duì)要定位焦點(diǎn)的控件的TabIndex屬性值
47、設(shè)置為0。13在使用計(jì)時(shí)器控件實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫(huà)時(shí),計(jì)時(shí)器不工作。一個(gè)計(jì)時(shí)器兩個(gè)屬性(Enabled和Interval)一個(gè)事件(Timer):只有在保證給計(jì)時(shí)器的Enabled屬性賦值True,Interval屬性值非0,timer事件過(guò)程編寫(xiě)正確的情況下,計(jì)時(shí)器正常工作。2.3 習(xí)題一、選擇題1在一個(gè)語(yǔ)句行內(nèi)寫(xiě)多條語(yǔ)句,語(yǔ)句之間應(yīng)該用_來(lái)分隔。(A)逗號(hào) (B) 分號(hào) (C) 頓號(hào) (D) 冒號(hào)2以下可以作為Visual Basic變量名的是_。(A)F1.1 (B)Int (C)F2A (D)2FA3當(dāng)標(biāo)簽的標(biāo)題內(nèi)容太長(zhǎng),需要根據(jù)題目自動(dòng)調(diào)整標(biāo)簽的大小時(shí),應(yīng)設(shè)置標(biāo)簽的_屬性為T(mén)rue。(A)
48、AutoSize (B)WordWrap (C) Enabled (D) Visible4在窗體上已經(jīng)建立了多個(gè)控件,如Text1,Label1,Command1。若要程序開(kāi)始運(yùn)行時(shí)焦點(diǎn)定位在Text1上,應(yīng)將Text1的TabIndex屬性設(shè)置為_(kāi)。(A)0 (B)1 (C) 2 (D) 35在程序中將變量i,t,s,d分別定義為Integer類(lèi)型,Boolean類(lèi)型,String類(lèi)型和Date類(lèi)型,下來(lái)賦值語(yǔ)句正確的是_。(A)s=5+”abc” (B)t=#True# (C) i=”354”+”613” (D) d=#10/05/04#6下列語(yǔ)句中錯(cuò)誤的是 _。(A)A$=”abc” (
49、B)x=5+6 (C)print “abc” (D) print x=a+b7Visual Basic認(rèn)為下面_組變量是同一個(gè)變量。 (A) A1和a1 (B) Sum和Summary(C).Aver和Average (D) A1和A_18表達(dá)式 5 Mod 3+35*2的值是 _。(A) 0 (B) 2 (C) 4 (D) 6 9 設(shè)x=4,y=8,z=7,以下表達(dá)式x>z Or z<y的值是 _。(A) 1 (B) -1 (C) True (D) False10、/、Mod、*、四個(gè)算術(shù)運(yùn)算符中,優(yōu)先級(jí)最低的是_。(A) (B)/ (C)Mod (D)*11設(shè) A、B、C 表示
50、三角形的三條邊,表示條件“任意兩邊之和大于第三邊”的布爾表達(dá)式正確的是_。(A)A+B>=C OR A+C>=B OR B+C>=A(B)Not(A+B<=C AND A+C<=B AND B+C<=A)(C)A+B<C OR A+C<B OR B+C<A(D)A+B>C AND A+C>B AND B+C>A12表達(dá)式(73+1)*(185-1)的值是 _。(A)8.67 (B)7.8 (C) 6 (D)6.6713代數(shù)式x - +ln10+sin(x+2)/cos(57°) 對(duì)應(yīng)的Visual Basic表達(dá)
51、式是_。(A) X1 Abs(A) +Log(10)+Sin(X2+2*3.14)/Cos(57*3.14/180)(B) X1 Abs(A) +Log(10)+Sin(X2+2*)/Cos(57*3.14/180)(C) X1 Abs(A) +Log(10)+Sin(X2+2*3.14)/Cos(57)(D) X1 Abs(A) +Log(10)+Sin(X2+2*)/Cos(57)14求一個(gè)三位正整數(shù)N的十位數(shù)的正確方法是 _。(A) Int(N/10)-Int(N/100)*10(B) Int(N/10)-Int(N/100)(C) N-Int(N/100)*100(D) Int(N-I
52、nt(N/100)*100)15 表達(dá)式Left(“asdf”,2)+UCase(“as”)的值為 _。(A) asas (B) ASAS (C) dfas (D) asAS16下列日期型常量表達(dá)正確的是 _。(A)”2/1/02” (B)2/1/02 (C)#2/1/02# (D)2/1/0217設(shè)A=”12345678”,則表達(dá)式Val(Left(A,4)+Mid(A,4,2)的值為_(kāi)。(A)123456 (B)123445 (C)8 (D)618代數(shù)式 對(duì)應(yīng)的 Visual Basic 表達(dá)式是 _。(A)a/b+c/d (B)a/(b+c)/d (C) (a/b+c)/d (D)a/(b+c/d)19函數(shù)Len(Str(Val(“123.4”)的值為 _。(A)11 (B)5 (C)6 (D)820下列表達(dá)式計(jì)算的結(jié)果不是”1234”的是_。(A)”12”+”34” (B)”12”&”34” (
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年親子園所特許經(jīng)營(yíng)協(xié)議
- 二零二五版環(huán)保管家技術(shù)服務(wù)合同樣本:企業(yè)環(huán)保審計(jì)服務(wù)3篇
- 2025年度臨床試驗(yàn)知識(shí)產(chǎn)權(quán)合同主體權(quán)益保護(hù)措施4篇
- 二零二五年度退休人員勞動(dòng)解除合同及退休金領(lǐng)取及后續(xù)保障合同
- 2025年度臨時(shí)工崗位臨時(shí)性加班合同
- 2025年度電影演員演出合同書(shū):科幻災(zāi)難片主演合約
- 2025年度門(mén)窗安裝與智能化系統(tǒng)集成合同4篇
- 2025年度城市綜合體門(mén)頭租賃管理服務(wù)協(xié)議
- 二零二五年度C型鋼智能化生產(chǎn)系統(tǒng)建設(shè)合同3篇
- 二零二五年度鋰電池回收利用項(xiàng)目投資合作協(xié)議
- 二年級(jí)數(shù)學(xué)上冊(cè)100道口算題大全 (每日一套共26套)
- 物流無(wú)人機(jī)垂直起降場(chǎng)選址與建設(shè)規(guī)范
- 肺炎臨床路徑
- 外科手術(shù)鋪巾順序
- 創(chuàng)新者的窘境讀書(shū)課件
- 如何克服高中生的社交恐懼癥
- 聚焦任務(wù)的學(xué)習(xí)設(shè)計(jì)作業(yè)改革新視角
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)三 APP的品牌建立與價(jià)值提供
- 電子競(jìng)技范文10篇
- 食堂服務(wù)質(zhì)量控制方案與保障措施
- VI設(shè)計(jì)輔助圖形設(shè)計(jì)(2022版)
評(píng)論
0/150
提交評(píng)論