版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章VB程序概述1.1 VB概述1.2 基本概念1.3 集成開發(fā)環(huán)境1.1概述 VB的發(fā)展歷程 Visual BASIC語言是從最初的BASIC語言上發(fā)展而來的,是專門為初學(xué)者設(shè)計(jì)的計(jì)算機(jī)語言。BASIC語言于1964年問世。1987年Microsoft公司開發(fā)了Quick BASIC, Visual BASIC是Microsoft公司在Quick BASIC的基礎(chǔ)上為開發(fā)Windows應(yīng)用程序而提供的強(qiáng)有力的開發(fā)環(huán)境和工具,是具有很好的圖形用戶界面(Graphic User Interface,簡稱GUI)的程序設(shè)計(jì)語言。 1.1概述 VB的特點(diǎn)1.可視化的程序設(shè)計(jì)工具 傳統(tǒng)程序設(shè)計(jì)語言編
2、程時(shí),需要通過編程計(jì)算來設(shè)計(jì)程序界面,在設(shè)計(jì)過程中看不到程序的實(shí)際顯示效果,必須在運(yùn)行程序的時(shí)候才能界面的設(shè)計(jì)效果。如果對(duì)程序的界面不滿意,還要回到程序中去修改,這一過程反復(fù)多次會(huì)大大影響編程的效率。VB提供的可視化的設(shè)計(jì)平臺(tái),在界面設(shè)計(jì)時(shí),利用提供的“工具箱”直接把各種工具放入用戶界面,“工具箱”中放的是被稱之為“控件”的工具。程序員不必再為界面的設(shè)計(jì)而編寫大量的程序代碼,只需按設(shè)計(jì)的要求,用系統(tǒng)提供的工具在屏幕上“畫出”各種對(duì)象,VB自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序員所需要編寫的只是實(shí)現(xiàn)程序功能的那部分代碼,從而大大提高了編程的效率。2.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 對(duì)象是指具體的實(shí)體,在VB編程中對(duì)
3、象就是用戶界面上的每個(gè)實(shí)體,例如按鈕、菜單、文本框等都是“實(shí)體”。VB采用的面向?qū)ο蟮木幊谭椒▽?shí)際上就是對(duì)這些對(duì)象的操作,不同的對(duì)象賦予它不同的功能。例如有兩個(gè)文本框,一個(gè)用于輸入數(shù)據(jù),一個(gè)用于顯示計(jì)算后的數(shù)據(jù),這是兩個(gè)不同的對(duì)象,完成的功能也不相同,在編程時(shí)就需要對(duì)其編寫不同的程序代碼,這種編程的思想和方法就是面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。1.1概述 VB的特點(diǎn)3.事件驅(qū)動(dòng)機(jī)制 對(duì)于一個(gè)對(duì)象來說,它一般能夠響應(yīng)一些操作。比如對(duì)于一個(gè)按鈕來說,可以單擊也可以雙擊,那么它對(duì)于單擊或雙擊會(huì)有什么樣的反應(yīng),即如何響應(yīng)單擊或雙擊這樣的操作,這就依賴于我們分別對(duì)“單擊”和“雙擊”事件所編寫的不同程序代碼。VB
4、中采用的事件驅(qū)動(dòng)機(jī)制就是一個(gè)事件的發(fā)生能夠驅(qū)動(dòng)一段代碼的執(zhí)行,從而完成某對(duì)象的某個(gè)功能。1.1概述 VB的特點(diǎn)4.開放的數(shù)據(jù)庫功能與網(wǎng)絡(luò)支持 VB具有很強(qiáng)的數(shù)據(jù)庫管理功能,能夠訪問包括Microsoft SQL Server和其他企業(yè)數(shù)據(jù)庫在內(nèi)的大部分?jǐn)?shù)據(jù)庫格式和前端應(yīng)用程序。同時(shí)它也具有較強(qiáng)的網(wǎng)絡(luò)支持,在應(yīng)用程序內(nèi)很容易通過Internet訪問文檔和應(yīng)用程序。VB提供的網(wǎng)絡(luò)設(shè)計(jì)工具使用戶可以在VB中開發(fā)多功能的網(wǎng)絡(luò)應(yīng)用軟件。 1.1概述 VB的特點(diǎn)1.對(duì)象 對(duì)象是具有某些特性的事務(wù)的具體描述。每個(gè)對(duì)象都具有描述它自身特征的屬性及行為與方法,這些自身的屬性中既有它區(qū)別于其他對(duì)象的特征,也有一些
5、與其他對(duì)象相同的特性。例如一個(gè)人、一張桌子等都是一個(gè)對(duì)象,在VB中,窗體、控件都是對(duì)象,它們有自己的屬性和方法,能夠通過觸發(fā)特定的事件過程響應(yīng)外部事件。1.2 程序設(shè)計(jì)的基本概念2.屬性 屬性就是對(duì)象的特征,例如對(duì)象的名字、大小、顏色等都是屬性。每種對(duì)象都有一組特定的屬性,這些屬性可以在設(shè)計(jì)時(shí)的屬性窗口進(jìn)行設(shè)置。不同的對(duì)象有不同的屬性,一般說來,屬性窗口中的每個(gè)屬性都有一個(gè)默認(rèn)值,在設(shè)計(jì)時(shí)可以對(duì)默認(rèn)值進(jìn)行修改以更改對(duì)象的特性。屬性的修改或設(shè)置有兩種方法:在設(shè)計(jì)階段通過屬性窗口進(jìn)行設(shè)置在運(yùn)行階段通過寫入代碼來修改通過代碼設(shè)置屬性的一般格式如下:對(duì)象名.屬性名屬性值1.2 程序設(shè)計(jì)的基本概念3.
6、方法 對(duì)象的方法就是對(duì)象可以進(jìn)行的操作。對(duì)象的方法可能是函數(shù),也可能是過程,主要用于完成特定的功能,這給用戶編程提供了很大的便利。例如窗體有Print方法,它是用來在窗體上進(jìn)行打印的,調(diào)用該方法時(shí)就能夠在完成在窗體上進(jìn)行打印這個(gè)動(dòng)作。方法只能在代碼中使用,其用法依賴于方法所需的參數(shù)個(gè)數(shù)及它是否具有返回值,當(dāng)方法沒有參數(shù)也沒有返回值時(shí),調(diào)用格式如下: 對(duì)象名.方法名1.2 程序設(shè)計(jì)的基本概念4.事件 事件就是對(duì)象上發(fā)生的事情。在VB中,系統(tǒng)實(shí)現(xiàn)定義好了一系列事件,這些事件能夠直接被系統(tǒng)所識(shí)別,例如單擊(Click)事件、雙擊(DblClick)事件、加載(Load)事件等,不同的對(duì)象能夠識(shí)別不同
7、的事件。這些事件可由系統(tǒng)所識(shí)別,但不一定能產(chǎn)生結(jié)果,即不編寫相應(yīng)的事件過程對(duì)象就不能作出相應(yīng)的響應(yīng)。1.2 程序設(shè)計(jì)的基本概念Visual Basic的啟動(dòng)常用的方式有兩種:一種是通過雙擊桌面上的快捷方式,另一種是單擊桌面左下角的“開始”菜單中的“程序”,在彈出的應(yīng)用程序列表中找到“Microsoft Visual Basic6.0 中文版”單擊該命令即可啟動(dòng)Visual Basic。1.3 Visual Basic集成開發(fā)環(huán)境的組成 Visual Basic的啟動(dòng)與退出單擊圖1-1中的“打開”命令后,打開的集成環(huán)境如圖1-2所示。1.3 Visual Basic集成開發(fā)環(huán)境的組成 Visua
8、l Basic 環(huán)境組成 1.3 Visual Basic集成開發(fā)環(huán)境的組成 Visual Basic的集成開發(fā)環(huán)境標(biāo)題欄菜單欄工具欄工具箱 窗體設(shè)計(jì)器 工程資源管理器窗口 屬性窗口 代碼窗口 立即窗口 窗體布局窗口 1.4 Visual Basic可視化編程步驟例 【1-1】 設(shè)計(jì)學(xué)生管理系統(tǒng)中的用戶登錄界面,界面上有2個(gè)文本框、兩個(gè)命令按鈕和3個(gè)標(biāo)簽,如圖1-15所示。首先在兩個(gè)文本框中輸入用戶名和密碼,然后單擊“確定”按鈕,系統(tǒng)會(huì)根據(jù)輸入的用戶名和密碼判斷是否允許進(jìn)入系統(tǒng)。1.4 Visual Basic可視化編程步驟完成此程序步驟如下:1. 新建工程:啟動(dòng)VB6.0應(yīng)用程序,選擇“標(biāo)準(zhǔn)
9、EXE”并單擊“打開”按鈕。2. 設(shè)計(jì)界面:向窗體中添加控件。如圖1-16所示,在窗體Form1中依次添加2個(gè)文本框Text1和Text2,兩個(gè)命令按鈕Command1和Command2,3個(gè)標(biāo)簽Label1Label3。3. 設(shè)置屬性:先選中文本框Text1,在“屬性窗口”找到Text屬性,將該屬性后的屬性值刪除,同樣的操作刪除Text2中的Text屬性值Text2,修改Text1的“名稱”屬性為txtUserID,修改Tex2的“名稱”屬性為txtPassword;對(duì)命令按鈕Command1和Command2,修改二者的Caption屬性,將Command1的Caption值設(shè)置為“確定”
10、,將其“名稱”屬性設(shè)置為cmdOk,同樣的方式將Command2的Caption屬性設(shè)置為“取消”,“名稱”屬性設(shè)置為cmdCancel;對(duì)于3個(gè)標(biāo)簽控件Label1Label3,把Label1的Caption屬性修改為“學(xué)生信息管理系統(tǒng)”,并找到Font屬性,單擊后面的空白出,這時(shí)會(huì)出現(xiàn)一個(gè)小按鈕“”,點(diǎn)擊該按鈕,從彈出的對(duì)話框中選擇字體“華文彩云”、粗體,字體大小為17即可。1.4 Visual Basic可視化編程步驟4. 編寫代碼:雙擊命令按鈕Command1進(jìn)入“代碼窗口”,分別編寫Command1和Command2的單擊Click事件如下:Private Sub cmk0k_Cli
11、ck()If LCase(txtUserID.Text) = admin And LCase(txtPassword.Text) = 123456 ThenUnload Me 如果用戶名是admin,密碼是123456,那么卸載本窗體Form2.Show 顯示窗體Form2End IfEnd SubPrivate Sub cmdCancel_Click()Unload Me 卸載本窗體End Sub說明:事件過程的首尾兩行是系統(tǒng)自動(dòng)給出的代碼,不必手動(dòng)書寫。1.4 Visual Basic可視化編程步驟5. 調(diào)試運(yùn)行:單擊工具欄上的“啟動(dòng)”按鈕,或者單擊“運(yùn)行”菜單下的“啟動(dòng)”按鈕,即可進(jìn)入運(yùn)
12、行狀態(tài)。 如果程序有錯(cuò)誤,可單擊工具欄中的“中斷”按鈕進(jìn)行調(diào)試,如果要在某一行設(shè)置斷點(diǎn)進(jìn)行調(diào)試,可以在這一行代碼左側(cè)單擊,即可出現(xiàn)一個(gè)小圓點(diǎn),這就是設(shè)置了斷點(diǎn),同樣的方法可以取消斷點(diǎn)。 結(jié)束運(yùn)行狀態(tài)可以單擊工具欄中的“結(jié)束”按鈕。1.4 Visual Basic可視化編程步驟6. 保存工程:程序調(diào)試完畢后就可以保存工程了,單擊工具欄中的“保存工程”按鈕或單擊“文件”菜單下的“保存工程”都可以將程序保存下來。對(duì)于我們這個(gè)例子來說,單擊“保存工程”按鈕后,系統(tǒng)會(huì)彈出如圖1-17所示的兩個(gè)對(duì)話框,分別保存窗體文件和工程文件。1.4 Visual Basic可視化編程步驟第2章 簡單的Visual B
13、asic程序設(shè)計(jì) 2.1 窗體 2.2 基本控件 2.3 程序編碼規(guī)則 2.4 基本語句 2.1 窗體 窗體也稱作表單(Form),是一種特定的類,它用于定義一個(gè)窗口。窗體是設(shè)計(jì)VB應(yīng)用程序的基本平臺(tái),幾乎所有的控件都是添加在窗體上的,大多數(shù)應(yīng)用程序也是由窗體開始執(zhí)行的。 窗體的結(jié)構(gòu)與Windows環(huán)境下的窗口很類似,程序運(yùn)行前后都可以稱為窗體。2.1.1 窗體的屬性 窗體屬性決定了窗體的外觀、位置和行為等。設(shè)置窗體屬性可以在程序設(shè)計(jì)時(shí)在屬性窗口中手工設(shè)置,也可以在程序運(yùn)行時(shí)由代碼實(shí)現(xiàn)。大部分屬性及可以通過屬性窗口設(shè)置,也可以通過程序代碼設(shè)置,而有些屬性只能用屬性窗口或代碼設(shè)置。通常把只能通過
14、屬性窗口設(shè)置的屬性稱為“只讀屬性”。 窗體的屬性很多,以下列出了窗體的常用屬性以及相應(yīng)的說明。 2.1.1 窗體的屬性 Name屬性 Name屬性允許用戶給窗體設(shè)置合適的名字,一個(gè)新窗體的缺省名是窗體Form加上一個(gè)特定的整數(shù)。例如,第一個(gè)新窗體是Form1。窗體不能用系統(tǒng)中的關(guān)鍵字來命名,否則可能在用戶的代碼中引起沖突。引用窗體的Name屬性的語法形式為: Form1.Name其中Form1為窗體名。 Caption屬性 Caption屬性決定窗體標(biāo)題欄中顯示的文本。當(dāng)用戶創(chuàng)建一個(gè)新窗體時(shí),其標(biāo)題欄的缺省值也是窗體Form加上一個(gè)特定的整數(shù),例如Form1等。引用窗體的Caption屬性的語
15、法是: Form1.Caption2.1.1 窗體的屬性 BorderStyle屬性 BorderStyle屬性可以控制窗體邊界類型及是否可以調(diào)整大小,缺省值是2。允許用戶通過窗體邊緣的熱點(diǎn)改變窗體的大小和形狀。在代碼中引用BorderStyle屬性的方法是: Form1.BorderStyle=【Value】 當(dāng)Value值是0時(shí),設(shè)置窗體無框架; Value值為1時(shí),設(shè)置窗體不可調(diào)整大小且具有單線框架; Value值為2時(shí),設(shè)置窗體可調(diào)整大小且具有雙線框架; Value值為3時(shí),設(shè)置窗體不可調(diào)整大小且具有雙線框架。2.1.1 窗體的屬性 ControlBox屬性 當(dāng)用戶運(yùn)行應(yīng)用程序時(shí)該屬性
16、有效,用來在窗體標(biāo)題欄左邊設(shè)置一個(gè)控制框,單擊控制框顯示一個(gè)控制菜單,有【最大化】、【最小化】、【關(guān)閉】等菜單選項(xiàng)。ControlBox屬性缺省設(shè)置為True,能夠使窗體顯示控制框。當(dāng)窗體的BorderStyle屬性設(shè)置為0時(shí)控制框?qū)⒉荒茱@示。 BackColor和ForeColor屬性 BackColor屬性決定窗體的背景顏色,F(xiàn)oreColor屬性決定窗體的前景顏色。引用這兩種屬性的語法是: Form1.BackColor=【Color】 Form1.ForeColor=【Color】 2.1.1 窗體的屬性 AutoRedraw屬性 AutoRedraw屬性控制窗體圖像的重建,可以設(shè)置為
17、True或False。在其他窗口覆蓋某窗口后,又返回該窗口時(shí),如果將AutoRedraw屬性設(shè)置為True,將自動(dòng)刷新或者重畫該窗體的所有圖形。如果將該屬性設(shè)置為False,則必須調(diào)用一事件過程來執(zhí)行該項(xiàng)任務(wù)。此屬性是使用圖形方法如Circle、Point、Cls和Print的核心,設(shè)置AutoRedraw為True,可以在窗體中重畫這些方法的輸出。其默認(rèn)值為False。 2.1.1 窗體的屬性 Height和Width屬性 Height屬性和Width屬性可以確定窗體的初始高度和寬度,包括邊框和標(biāo)題欄。對(duì)于一個(gè)窗體,Height和Width屬性隨用戶或代碼確定的窗體大小而改變,它們的最大值由
18、系統(tǒng)決定。 Left和Top屬性 Left和Top屬性根據(jù)屏幕左上角確定窗體的位置。Left屬性確定窗體最左端和它的包容器最左端之間的距離;Top屬性確定窗體最上端和它的包容器最上端之間的距離。通常Left和Top屬性在一個(gè)窗體中總是成對(duì)出現(xiàn),當(dāng)用戶或通過代碼移動(dòng)窗體時(shí),這兩個(gè)屬性值都會(huì)隨之改變。 2.1.1 窗體的屬性 MaxButton和MinButton屬性 MaxButton屬性和MinButton屬性決定窗體是否能最大化或最小化。Maxbutton屬性為True時(shí),表明窗體有最大化按鈕;為False時(shí),表明窗體沒有最大化按鈕。MinButton屬性為True時(shí),表明窗體有最小化按鈕;
19、為False時(shí),表明窗體沒有最小化按鈕。要顯示最大化或最小化按鈕,BoderStyle屬性應(yīng)設(shè)置為1或2。當(dāng)一個(gè)窗體被最大化時(shí),最大化按鈕會(huì)自動(dòng)變?yōu)榛謴?fù)按鈕。 2.1.1 窗體的屬性 Enable屬性 Enable屬性決定窗體是否對(duì)用戶產(chǎn)生的事件發(fā)生反應(yīng)。該屬性為True時(shí),允許窗口對(duì)事件作出反應(yīng),為False時(shí),禁止窗體對(duì)事件作出反應(yīng)。 Visible屬性 Visible屬性確定窗體是被顯示還是被隱藏。設(shè)置為True時(shí),能夠使窗體可見;設(shè)置為False時(shí),窗體將被隱藏。若要在啟動(dòng)時(shí)隱藏一個(gè)對(duì)象,可設(shè)置Visible屬性為False。 FontSize屬性 FontSize屬性確定窗體中文本大
20、小,缺省時(shí)由系統(tǒng)定義。用戶想要改變字體,可以設(shè)置FontSize屬性為不同的值。 2.1.2 窗體的事件 Click事件 如果說屬性決定了對(duì)象的外觀,方法決定了對(duì)象的行為,那么事件就決定了對(duì)象之間聯(lián)系的手段。與窗體有關(guān)的事件主要有以下幾種: DbClick事件 在程序運(yùn)行時(shí)單擊窗體內(nèi)某個(gè)位置,VB將調(diào)用Form_Click事件過程。如果單擊的是窗體內(nèi)的控件,這時(shí)只能調(diào)用相應(yīng)控件的Click事件。 在程序運(yùn)行時(shí)雙擊窗體內(nèi)某個(gè)位置,就觸發(fā)了兩個(gè)事件。第一次按動(dòng)鼠標(biāo),觸發(fā)Click事件,第二次按動(dòng)鼠標(biāo)時(shí)觸發(fā)DblClick事件。 2.1.1 窗體的事件 Load事件 一旦裝載窗體,啟動(dòng)應(yīng)用程序就自動(dòng)
21、產(chǎn)生該事件,Load事件適用于在啟動(dòng)應(yīng)用程序時(shí)對(duì)屬性和變量的初始化。 UnLoad事件 卸載窗體時(shí)發(fā)生Unload事件。當(dāng)該窗體在被裝載時(shí),它的所有控件都要重新初始化。這個(gè)事件是由用戶動(dòng)作(用控件菜單關(guān)閉窗體)或一個(gè)Unload語句觸發(fā)的。 GotFocus、LostFocus事件 當(dāng)窗體收到或失去焦點(diǎn)時(shí),GotFocus或LostFocus事件會(huì)發(fā)生。2.2 基本控件 在VB中設(shè)計(jì)窗口界面是通過使用窗體對(duì)象和各種控件對(duì)象來完成的??丶脕慝@取用戶的輸入信息和顯示輸出信息。應(yīng)用程序中可用的控件包括文本框、命令按鈕和列表框等。每個(gè)控件都有一組屬性、方法和事件 。2.2.1 控件的基本概念 VB的
22、控件在廣義上分為三類:內(nèi)部控件、ActiveX控件和可插入的對(duì)象。在本節(jié)中主要介紹內(nèi)部控件,其它兩類會(huì)在以后的章節(jié)中涉及到。 表2-1總結(jié)了VB工具箱中常用的內(nèi)部控件。 2.2.1 控件的基本概念 圖標(biāo) 控件名 類名 缺省屬性 描述 標(biāo)簽Label Caption顯示用戶不可交互操作或不可修改的文本 命令按鈕CommandButton Value在用戶選定命令或操作后執(zhí)行它 文本框TextBox Text 顯示True/False或Yes/No選項(xiàng)。一次可在窗體上選定任意數(shù)目的復(fù)選框 框架Frame Caption復(fù)選框CheckBox Value選項(xiàng)按鈕CaptionButton Value
23、列表框Listbox Text 組合框ComboBox Text 將文本框和列表框組合起來,使用戶可以輸入選項(xiàng),也可從下拉列表中選擇選項(xiàng) 形狀Shape Shape向窗體、框架或圖片添加矩形、正方形、橢圓或圓 圖像Image Picture 顯示位圖、圖標(biāo)或Windows圖元文件、JPEG或GIF圖像文件 圖片框PictureBox Picture 顯示位圖、圖標(biāo)或Windows圖元文件、JPEG或GIF文件,也可顯示文本或充任其它控件的可視容器 水平滾動(dòng)條HScrollBarValue 為那些不能自動(dòng)提供滾動(dòng)條的控件提供水平滾動(dòng)條 垂直滾動(dòng)條VScrollBarValue 為那些不能自動(dòng)提供
24、滾動(dòng)條的控件提供垂直滾動(dòng)條 定時(shí)器 TimerEnable按指定時(shí)間間隔執(zhí)行定時(shí)事件 表2-1 VB的內(nèi)部控件 2.2.2 焦點(diǎn)的概念 焦點(diǎn)是接收用戶鼠標(biāo)和鍵盤輸入的能力。當(dāng)對(duì)象具有焦點(diǎn)時(shí),可接受用戶的輸入。在Windows操作系統(tǒng)中,任一時(shí)刻可運(yùn)行幾個(gè)應(yīng)用程序,但具有焦點(diǎn)的應(yīng)用程序才有活動(dòng)標(biāo)題欄,才能接受用戶輸入。再有幾個(gè)TextBox的VB窗體中,只有具有焦點(diǎn)的TextBox才顯示有鍵盤輸入的文本。 當(dāng)對(duì)象得到或失去焦點(diǎn)時(shí),會(huì)產(chǎn)生GotFocus或LostFocus事件。對(duì)象得到焦點(diǎn)時(shí)發(fā)生GotFocus事件;對(duì)象失去焦點(diǎn)時(shí)發(fā)生LostFocus事件。窗體和大多數(shù)控件支持這兩個(gè)事件。 2.
25、2.3 標(biāo)簽(Label控件) Caption屬性 Label控件用于在窗體或其它容器中顯示文本。標(biāo)簽的內(nèi)容是只讀的,用戶不能直接修改顯示的內(nèi)容。通常用標(biāo)簽來標(biāo)注本身不具有Caption屬性的控件。在編程中常用Label作為其它控件的標(biāo)志,用來說明它們的意義或用法,還可以用于顯示標(biāo)題、說明性文字或幫助信息等。可以編寫代碼改變Label控件顯示的文本以響應(yīng)運(yùn)行時(shí)的事件。 用來改變Label控件中顯示的文本。其允許的文本長度最多為1024個(gè)字符。缺省情況下,當(dāng)文本超過控件寬度時(shí),文本會(huì)自動(dòng)換行,而當(dāng)文本超過控件的高度時(shí),超出部分將被裁掉。 2.2.3 標(biāo)簽(Label控件) Alignment屬性
26、 用于設(shè)置Caption中文本的對(duì)齊方式,共有3種可選值。如表2-2所示。 值對(duì)齊方式0左對(duì)齊(LeftJustify) 1右對(duì)齊(RightJustify)2居中對(duì)齊CentreJustify) 表2-2 Alignment屬性的可選值 2.2.3 標(biāo)簽(Label控件) BackStyle屬性 用于確定標(biāo)簽的背景是否透明。有兩種可選值:值為0時(shí),背景透明,標(biāo)簽后的背景和圖形可見;值為1時(shí),背景不透明,標(biāo)簽后的背景和圖形不可見。 Autosize和Wordwrap屬性 Autosize屬性確定標(biāo)簽是否會(huì)隨標(biāo)題內(nèi)容的多少自動(dòng)變化。值為True,則隨Caption內(nèi)容多少自動(dòng)調(diào)整控件本身的大小,
27、且不換行;值為False,表示標(biāo)簽的尺寸不能自動(dòng)調(diào)整,超出尺寸范圍的內(nèi)容不予顯示。Wordwrap屬性用來設(shè)置當(dāng)標(biāo)簽在水平方向上不能容納標(biāo)簽中的文本時(shí)是否換行顯示文本。值為True時(shí),表示文本換行顯示,標(biāo)簽在垂直方向上放大或縮小以適合文本的大小,標(biāo)簽水平方向的寬度保持不變;值為False時(shí),表示文本不換行。 2.2.4 文本框(TextBox控件) 文本框控件用來在運(yùn)行時(shí)顯示用戶輸入的信息,或者在設(shè)計(jì)或運(yùn)行時(shí),通過對(duì)控件的Text屬性賦值,作為信息輸出的對(duì)象。 Text屬性 該屬性的值就是文本框控件內(nèi)顯示的內(nèi)容。當(dāng)文本內(nèi)容改變時(shí),Text屬性也隨之變化。通常,Text屬性允許的最大字符數(shù)為20
28、48。 MaxLength屬性 該屬性用于設(shè)置在文本框中允許輸入的最大字符數(shù),缺省值為0,表示字符數(shù)無限制;若給該屬性賦一個(gè)具體的數(shù)值,該數(shù)值就作為文本的長度限制 。2.2.4 文本框(TextBox控件) MultiLine屬性 該屬性缺省值為False,表示只允許單行輸入,并忽略回車鍵的作用。當(dāng)該屬性值為True時(shí),表示允許多行輸入,當(dāng)文本長度超過文本框?qū)挾葧r(shí),文本會(huì)自動(dòng)換行,同時(shí),允許的文本容量也會(huì)相應(yīng)增加。 PassWordChar屬性 設(shè)置該屬性是為了掩蓋文本框中輸入的字符。它常用于設(shè)置密碼輸入,只顯示同一個(gè)字符,如PassWordChar設(shè)定為“*”,則無論用戶在文本框輸入什么字符
29、,文本框中只顯示用戶設(shè)置替代的字符,顯示形式為“*”。 2.2.4 文本框(TextBox控件) Scrollbar屬性 由于受文本框大小的限制,可能無法完全顯示文本的內(nèi)容,這就可以用ScrollBar屬性來指定是否在文本框中添加水平或垂直滾動(dòng)條,該屬性有四個(gè)值,見表2-3。系統(tǒng)常量數(shù)值意義None0無滾動(dòng)條Horizonal1只添加水平滾動(dòng)條Vertical2只添加垂直滾動(dòng)條Both3同時(shí)添加水平和垂直滾動(dòng)條表2-3 Scrollbar屬性 2.2.5 命令按鈕(CommandButton控件) Caption屬性 命令按鈕主要用來設(shè)計(jì)用戶和應(yīng)用程序的交互式訪問,常常用它來接收用戶的操作信息
30、,激發(fā)某些事件,實(shí)現(xiàn)一個(gè)命令的啟動(dòng)、中斷和結(jié)束等。 用于設(shè)置命令按鈕上顯示的文本。Caption屬性最多包含255個(gè)字符。若標(biāo)題超過了命令按鈕的寬度,文本將會(huì)自動(dòng)換行。 Style屬性 該屬性的作用是設(shè)置控件的外觀是標(biāo)準(zhǔn)的(標(biāo)準(zhǔn)Windows)或者是圖形的(帶有自定義圖片)。其值為0時(shí)是標(biāo)準(zhǔn)的,為1時(shí)是圖形的。 2.2.5 命令按鈕(CommandButton控件) Default和Cancel屬性 在每個(gè)窗體上都可選擇一個(gè)命令按鈕作為缺省的命令按鈕,也就是說,不管窗體上的哪個(gè)控件有焦點(diǎn),只要用戶按Enter鍵,就已單擊此缺省按鈕。為了指定一個(gè)缺省命令按鈕,應(yīng)將其Default屬性設(shè)置為Tru
31、e。 把命令按鈕的Cancel屬性設(shè)置為True后,就指定了缺省的取消按鈕,不管窗體的哪個(gè)控件有焦點(diǎn),按Esc鍵,就已單擊此缺省按鈕。 2.2.5 命令按鈕(CommandButton控件) 命令按鈕事件 Click事件是命令按鈕最重要的觸發(fā)方式,單擊命令按鈕將觸發(fā)按鈕的Click事件,并調(diào)用已寫入Click事件過程中的代碼。單擊命令按鈕后也將生成MouseDown和MouseUp事件。如果要在這些相關(guān)事件中附加事件過程,則應(yīng)確保操作不發(fā)生沖突??丶煌?,這三個(gè)事件發(fā)生的順序也不同,命令按鈕中發(fā)生的順序?yàn)椋篗ouseDown、Click、MouseUp。命令按鈕不支持雙擊事件 。2.2.6 定
32、時(shí)器 (Timer控件) 該屬性指定Timer事件被觸發(fā)的間隔毫秒數(shù),其值在0 64767之間。若將其設(shè)為0或負(fù)數(shù),定時(shí)器停止工作。其語法格式為: Timer . Interval = 時(shí)間間隔 定時(shí)器控件主要有兩個(gè)功能:一個(gè)是用于定時(shí)完成某項(xiàng)任務(wù),即每隔一段固定時(shí)間就執(zhí)行一次相同的任務(wù);另一個(gè)是進(jìn)行某種后臺(tái)處理。 計(jì)時(shí)器控件運(yùn)行時(shí)不可見,所以它的位置無關(guān)緊要,通常只需在工具箱中雙擊計(jì)時(shí)器控件圖標(biāo)即可。 Interval屬性 2.2.6 定時(shí)器 (Timer控件) 該屬性決定定時(shí)器控件是否能響應(yīng)Timer事件,設(shè)置為True時(shí),定時(shí)器以Interval屬性值為時(shí)間間隔觸發(fā)Timer事件,若設(shè)置
33、為False定時(shí)器控件失效。 定時(shí)器控件只能響應(yīng)Timer事件。每隔固定時(shí)間所運(yùn)行的程序代碼就是寫在這個(gè)事件中。 Interval屬性 事件2.3 程序編碼規(guī)則 VB的窗體和控件提供程序的可視化界面,但是程序中大部分的實(shí)際工作是由程序代碼來處理的。和其他的高級(jí)語言一樣,在編寫程序代碼時(shí)VB也有自己的編碼規(guī)則。 2.3.1 注釋 VB在編譯程序時(shí)會(huì)自動(dòng)跳過注釋行。 要添加注釋,有三種情況: 1.用撇號(hào)“”開始引導(dǎo)注釋行; 2.用Rem開頭引導(dǎo)注釋行; 3.使用【編輯】工具欄中的【設(shè)置注釋塊】、【解除注釋塊】命令將若干語句行或文字設(shè)置/取消為注釋塊注釋可以和語句在同一行,并寫在語句的后面,也可占據(jù)
34、一整行。例如: 這是編寫的第一個(gè)程序 Form1.Width = 400 將窗體的寬度設(shè)置為400 2.3.2 語句書寫自由 1. 如果想在一行中寫下多條語句,則每條語句中間必須用冒號(hào)“:”作為分隔符號(hào)。但是,為了方便閱讀,一行最好只寫一條語句。 2. 一條語句如果在一行內(nèi)寫不下,VB允許將單行語句分成若干行書寫,只要在行后加入續(xù)行符(一個(gè)空格后跟一個(gè)下劃線“_”)將長語句分成多行。 3. 一行最多允許255個(gè)字符。 4. 在VB代碼中,字母不區(qū)分大小寫。 (1) VB對(duì)用戶程序代碼中關(guān)鍵字的首字母總被轉(zhuǎn)換成大寫字母,其余字母轉(zhuǎn)換成小寫字母; (2) 對(duì)于用戶自定義的變量名、過程名、函數(shù)名、,
35、VB以第一次定義的為準(zhǔn),以后輸入的自動(dòng)轉(zhuǎn)換成首次定義的形式。 2.3.3良好的編程習(xí)慣 良好的編程習(xí)慣實(shí)際上就是一些編碼約定,可讀性強(qiáng)且意義清楚,并且盡可能的直觀。 1. 使用縮進(jìn) 在編寫代碼時(shí),習(xí)慣上對(duì)過程、判斷語句、循環(huán)結(jié)構(gòu)的正文部分進(jìn)行縮進(jìn),使程序代碼的可讀性大為改善。例如下面一段程序: Const N = 6 Private Sub Command1_Click ( ) Dim i As Integer, j As Integer, Temp As Integer For i = 1 To N-1 For j = i+1 To N If a(i)a(j) Then Temp = a(i
36、): a(i) = a(j): a(j) = TempEnd If Next jNext I End Sub2.3.3 良好的編程習(xí)慣 2. 添加注釋 每個(gè)人的編程思路會(huì)不一樣,添加注釋后會(huì)使接替別人的程序工作或閱讀別人的程序變得相對(duì)容易一些。 3. 當(dāng)一行代碼過長時(shí),應(yīng)使用下劃線連接字符“_”將代碼截短為多行代碼,這樣便于打印和調(diào)試字符串。尤其是需要一個(gè)比較長的字符串;來顯示一個(gè)消息框(MsgBox),或輸入框(InputBox),或產(chǎn)生一個(gè)SQL字符串時(shí),這一技術(shù)比較有用。 4. 變量命名 在程序中,常量和變量應(yīng)該用一致的前綴來命名,這樣很容易識(shí)別他們的數(shù)據(jù)類型。給變量加前綴可以指明他們的
37、數(shù)據(jù)類型,例如:StrUserName為字符型變量,DblTotal為雙精度型變量等等。而且變量或過程名的主體應(yīng)該使用大小寫混合形式,并且應(yīng)該足夠長以描述它的作用,如SaveFile、RasterData。2.4 基本語句 程序是由語句、常量和聲明部分等組成的,一條條的語句是程序的主體部分。在VB語言中,常見的基本語句有:賦值語句、輸入函數(shù)、輸出語句、消息框函數(shù)。 2.4.1 賦值語句 賦值語句是所有的程序設(shè)計(jì)中最基本的語句,可以把指定的值賦給某個(gè)變量或某個(gè)帶有屬性的對(duì)象。其語句格式為: 格式1:變量名 = 表達(dá)式 格式2:對(duì)象名屬性名 = 表達(dá)式 在格式2中,如果對(duì)象名省略,則默認(rèn)對(duì)象為當(dāng)前
38、窗體。 功能:把“=”右邊的表達(dá)式的值賦給“=”左邊的變量或?qū)ο蟮膶傩浴?例: Name = “ZhangSan” Con = True 賦值語句兼有計(jì)算和賦值的雙重功能。首先計(jì)算賦值號(hào)右邊的值,然后把結(jié)果賦給左邊的變量或?qū)ο蟮膶傩浴?2.4.1 賦值語句 在賦值時(shí),需要注意下列問題: 1. 在賦值語句中,”=”是賦值號(hào),與數(shù)學(xué)意義上的符號(hào)不一樣。VB系統(tǒng)會(huì)根據(jù)所處的位置自動(dòng)判斷是賦值號(hào)還是等號(hào)。VB系統(tǒng)默認(rèn):在條件表達(dá)式中出現(xiàn)的是等號(hào),否則為賦值號(hào)。 2. 賦值號(hào)左邊只能是變量,不能是常量、符號(hào)常量或表達(dá)式。例如: -a = 4 a + b = 2 Abs(a) = a + b 都是不合法的
39、賦值語句,尤其負(fù)號(hào)的使用,-a相當(dāng)于(-1)*a,故-a是表達(dá)式。 2.4.1 賦值語句 在賦值時(shí),需要注意下列問題: 1. 在賦值語句中,”=”是賦值號(hào),與數(shù)學(xué)意義上的符號(hào)不一樣。VB系統(tǒng)會(huì)根據(jù)所處的位置自動(dòng)判斷是賦值號(hào)還是等號(hào)。VB系統(tǒng)默認(rèn):在條件表達(dá)式中出現(xiàn)的是等號(hào),否則為賦值號(hào)。 2. 賦值號(hào)左邊只能是變量,不能是常量、符號(hào)常量或表達(dá)式。例如: -a = 4 a + b = 2 Abs(a) = a + b 都是不合法的賦值語句,尤其負(fù)號(hào)的使用,-a相當(dāng)于(-1)*a,故-a是表達(dá)式。 2.4.1 賦值語句 3. 利用賦值語句在給對(duì)象的屬性賦值時(shí),必須將類型相容的數(shù)據(jù)賦給它,否則會(huì)產(chǎn)生
40、錯(cuò)誤。當(dāng)賦值號(hào)右邊表達(dá)式的類型與左邊變量的類型不一致的時(shí)候,系統(tǒng)會(huì)作以下處理: (1) 當(dāng)數(shù)值型表達(dá)式與左邊的變量精度不同時(shí),右邊的表達(dá)式會(huì)強(qiáng)制轉(zhuǎn)化為左邊變量的精度。例如: a%=2.7 a為整型變量,轉(zhuǎn)換時(shí)四舍五入,a中的結(jié)果為3 (2) 當(dāng)邏輯型數(shù)據(jù)賦給數(shù)值型時(shí),True轉(zhuǎn)化為-1,F(xiàn)alse轉(zhuǎn)化為0。 (3) 當(dāng)數(shù)值型數(shù)據(jù)賦給邏輯型時(shí),非0轉(zhuǎn)化為True,0轉(zhuǎn)化為False。 (4) 當(dāng)左邊是數(shù)值類型,右邊是數(shù)字字符串時(shí),右邊會(huì)自動(dòng)轉(zhuǎn)換成數(shù)值類型,然后在賦值。當(dāng)右邊的數(shù)字字符串中有非數(shù)字字符或空字符串時(shí),就會(huì)出現(xiàn)錯(cuò)誤。例如: a% = “123” a中的結(jié)果是123,相當(dāng)于執(zhí)行a% =
41、Val( “123” ) a% = “12b3” 系統(tǒng)出錯(cuò)?!邦愋筒黄ヅ洹?(5) 任何非字符型數(shù)據(jù)賦值給字符型,都自動(dòng)轉(zhuǎn)換為字符型。 (6) 任何類型的表達(dá)式都可以賦值給變體數(shù)據(jù)類型的變量。 2.4.1 賦值語句 3. 利用賦值語句在給對(duì)象的屬性賦值時(shí),必須將類型相容的數(shù)據(jù)賦給它,否則會(huì)產(chǎn)生錯(cuò)誤。 4. 不允許在同一個(gè)賦值語句中,同時(shí)給多個(gè)變量賦值。例如: Dim a%, b%, c% a = b = c = 1 當(dāng)程序執(zhí)行到Dim語句時(shí),會(huì)自動(dòng)為a,b,c三個(gè)變量賦初值0。執(zhí)行a = b = c = 1時(shí),系統(tǒng)會(huì)認(rèn)為右邊的兩個(gè)”=”是等號(hào),而左邊的”=”是賦值號(hào)。首先系統(tǒng)要計(jì)算右邊表達(dá)式的
42、值,b = c結(jié)果為True,然后與1比較,True的值為-1,所以結(jié)果為False,最后將False賦給數(shù)值型變量a,a的值為0。故三個(gè)變量的結(jié)果仍然都為0。 正確的書寫格式為: a = 1: b =1: c = 12.4.2 輸入函數(shù) 在VB中,數(shù)據(jù)的輸入主要是用函數(shù)和文本框來實(shí)現(xiàn)的。最常見的是InputBox()函數(shù)語句,程序通過此語句得到用戶的輸入語句。 InputBox()函數(shù)可以打開一個(gè)對(duì)話框,等待用戶輸入內(nèi)容或按下按鈕,當(dāng)用戶按下【確定】按鈕或回車鍵時(shí),函數(shù)返回所輸入的值。其語法格式如下: InputBox(prompt , title ,default ,xPos ,yPos)
43、 InputBox()函數(shù)一次只能輸入一個(gè)值。如果想輸入多個(gè)值,必須多次調(diào)用InputBox()函數(shù)。該函數(shù)經(jīng)常與循環(huán)語句一起使用,進(jìn)行多個(gè)指定的輸入。2.4.3 輸出語句 在VB中,數(shù)據(jù)的輸出主要是通過Print語句和Print方法實(shí)現(xiàn)的。 Print語句 Print語句不僅可以在窗體上顯示文本字符串和表達(dá)式的值,而且還可以在其它圖形對(duì)象或打印機(jī)上輸出信息。其語法格式為: Print 表達(dá)式表 , | ; 說明: (1) 表達(dá)式表:是要輸出的一個(gè)或多個(gè)數(shù)值或字符串表達(dá)式。如果省略該項(xiàng),則輸出一個(gè)空行。對(duì)于數(shù)值表達(dá)式,打印出表達(dá)式的值;對(duì)于字符串則原樣輸出。2.4.3 輸出語句 (2) 當(dāng)輸出
44、多個(gè)表達(dá)式或字符串時(shí),各個(gè)表達(dá)式之間用分隔符(逗號(hào)、分號(hào)或空格)隔開。如果表達(dá)式之間用逗號(hào)分隔,則按標(biāo)準(zhǔn)輸出格式顯示數(shù)據(jù)項(xiàng),即以14個(gè)字符位置為單位把一個(gè)輸出行分為若干個(gè)區(qū)域段,逗號(hào)后面的表達(dá)式在下一個(gè)區(qū)域段輸出;如果用分號(hào)或空格作為分隔符,則按緊湊輸出格式輸出數(shù)據(jù)。 (3) 對(duì)于數(shù)值型數(shù)據(jù)輸出時(shí),系統(tǒng)會(huì)在數(shù)值的前面自動(dòng)加一個(gè)符號(hào)位,后面加一個(gè)空格,而字符串前后都沒有空格。 (4) 若Print語句的末尾使用了逗號(hào)或分號(hào),則表示顯示的數(shù)據(jù)不換行,下一個(gè)Print語句仍在該行輸出;當(dāng)輸出的數(shù)據(jù)超過顯示行的寬度時(shí),多余的數(shù)據(jù)自動(dòng)輸出到下一行。 2.4.3 輸出語句 (5) Print語句具有計(jì)算和
45、輸出雙重功能。對(duì)于表達(dá)式,是先計(jì)算后輸出。例如: a = 3:b =6 Print a+b 該例中的Print語句是先計(jì)算表達(dá)式a+b的值,然后輸出。但是,Print語句沒有賦值功能。語句Print c=a+b不能輸出c=9,輸出結(jié)果為False。 2.4.3 輸出語句 Print方法 Print方法的功能是在對(duì)象上輸出信息。其格式為: 對(duì)象名稱Print Spc(n)|Tab(n)表達(dá)式表,|; 說明: (1) 與Print語句相同的參數(shù)使用方法也一樣。 (2) 對(duì)象名稱可以是窗體(Form)、圖片框(PictureBox)或打印機(jī)(Printer),也可以是立即窗口(Debug),如果省略
46、“對(duì)象名稱”,則在當(dāng)前窗體上輸出。例如: Printer.Print “VB程序設(shè)計(jì)” 該語句中,對(duì)象名為Printer(打印機(jī)),作用是把字符串“VB程序設(shè)計(jì)”輸出到打印機(jī)上。2.4.3 輸出語句 (3) Spc(n)函數(shù):用于在輸出時(shí)插入n個(gè)空格,允許重復(fù)使用。參數(shù)n是一個(gè)數(shù)值表達(dá)式,其取值范圍為0 32767之間的整數(shù)。Spc(n)函數(shù)與輸出項(xiàng)用分號(hào)隔開。例如: Print 123;Spc(3); “abc”首先輸出123,同時(shí)在前后各加一個(gè)空格,然后跳過3個(gè)空格,顯示字符串”abc”。 (4) Tab(n)函數(shù):用于在第n個(gè)位置輸出表達(dá)式列表。要輸出的內(nèi)容和Tab( )函數(shù)之間用分號(hào)隔
47、開。如果有多個(gè)Tab( )函數(shù)時(shí),每一個(gè)函數(shù)對(duì)應(yīng)一個(gè)輸出項(xiàng),各個(gè)輸出項(xiàng)之間用分號(hào)隔開。例如: Print Tab(4);”學(xué)號(hào)” 是在第4個(gè)位置上輸出字符串“學(xué)號(hào)”。2.4.4 消息框 在使用Windows時(shí),如果執(zhí)行了誤操作,屏幕上就會(huì)顯示一個(gè)消息框,讓用戶進(jìn)行選擇。用VB中的MsgBox( )函數(shù)和過程就可以實(shí)現(xiàn)該功能。它可以向用戶傳送消息,并通過用戶在對(duì)話框上的操作,接收用戶所作的響應(yīng)。 2.4.4 消息框 與InputBox相對(duì),Msgbox消息框用于輸出內(nèi)容。 Msgbox( )函數(shù)的格式如下: Msgbox( )函數(shù) 參數(shù)的含義如下: prompt:輸出消息。它是顯示在對(duì)話框中的消
48、息。 title:標(biāo)題,對(duì)話框標(biāo)題區(qū)顯示的信息。 button:按鈕。當(dāng)buttons參數(shù)省略時(shí),消息框中就只顯示一個(gè)【確定】按鈕 MsgBox(prompt , buttons, title)2.4.4 消息框 說明: (1) prompt、title參數(shù)與InputBox函數(shù)中對(duì)應(yīng)參數(shù)相同。 (2) MsgBox( )函數(shù)返回17中的一個(gè)整數(shù)。具體返回哪個(gè)整數(shù)與所選的命令按鈕有關(guān)。 (3) button參數(shù)是可選項(xiàng),可由多項(xiàng)值組成,形式如下: + + (4) MsgBox( )函數(shù)中的參數(shù),只有”prompt”是必需的,其它參數(shù)都可省略,如果省略中間的部分,逗號(hào)占位符不能省略。如果省略“b
49、utton”參數(shù),則對(duì)話框只顯示一個(gè)【確定】按鈕,并把按鈕設(shè)置為活動(dòng)按鈕,不顯示任何圖標(biāo)。如果省略標(biāo)題,則對(duì)話框的標(biāo)題為當(dāng)前工程的名稱。 2.4.4 消息框 函數(shù)有返回值,而過程沒有。如果不想要MsgBox( )函數(shù)的返回值,就可以使用MsgBox過程。使用MsgBox過程顯得更加簡練。例: Msgbox過程 MsgBox 密碼輸入錯(cuò)誤,請(qǐng)重新輸入!, vbExclamation 調(diào)用過程和調(diào)用函數(shù)是不同的,過程的參數(shù)兩邊沒有圓括號(hào),并且函數(shù)不能獨(dú)立成一條語句,而過程可以。 不論是消息框函數(shù),還是消息框過程,它們共同的特點(diǎn)就是,出現(xiàn)消息框后,必須做出選擇,否則不能執(zhí)行其它的任何操作。第3章 V
50、B編程基礎(chǔ) 3.1 數(shù)據(jù)類型3.2 變量3.3 常量3.4 常用內(nèi)部函數(shù)3.1 數(shù)據(jù)類型 根據(jù)數(shù)據(jù)描述信息的含義,將數(shù)據(jù)分為不同的種類,對(duì)數(shù)據(jù)種類的區(qū)分規(guī)定,稱為數(shù)據(jù)類型。數(shù)據(jù)類型的不同,則在內(nèi)存中的存儲(chǔ)結(jié)構(gòu)也不同,占用空間也不同。 在VB語言中數(shù)據(jù)類型大致可分為兩類:基本數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型。本節(jié)只介紹基本數(shù)據(jù)類型及其互相轉(zhuǎn)換,用戶自定義數(shù)據(jù)類型在第七章再作詳細(xì)介紹。3.1.1 基本數(shù)據(jù)類型 VB中的基本數(shù)據(jù)類型有:數(shù)值型(Numeric)、字符串型(String)、日期型(Data)、字節(jié)型 (Byte)、貨幣型(Currency)、布爾型(Boolean)、對(duì)象型(Object)
51、、變體型(Variant)。 3.1.1 基本數(shù)據(jù)類型 數(shù)值型數(shù)據(jù)類型 數(shù)值型數(shù)據(jù)類型分為整數(shù)型和實(shí)數(shù)型兩大類。 (1)整數(shù)型 整數(shù)型是指不帶小數(shù)和指數(shù)符號(hào)的數(shù)值。按表示范圍整數(shù)型分為整型和長整型。 整型(Integer,類型符是% ) 整型數(shù)據(jù)占據(jù)2個(gè)字節(jié)(16位),能夠處理的數(shù)據(jù)范圍是:-32768 32767。 長整型( Long,類型符&) 長整型數(shù)據(jù)占據(jù)4個(gè)字節(jié)(32位),能夠處理的數(shù)據(jù)范圍是:-2147483648 2147483647。3.1.1 基本數(shù)據(jù)類型 (2)實(shí)數(shù)型 實(shí)數(shù)型數(shù)據(jù)是指帶有小數(shù)部分的數(shù)。實(shí)數(shù)型數(shù)據(jù)分為浮點(diǎn)數(shù)和定點(diǎn)數(shù),本書中涉及的實(shí)數(shù)大多用浮點(diǎn)數(shù)來表示。 在VB
52、中浮點(diǎn)數(shù)分為兩種:單精度浮點(diǎn)數(shù)(Single)、雙精度浮點(diǎn)數(shù)(Double) 單精度數(shù)(類型符!) 單精度數(shù)占據(jù)4個(gè)字節(jié)(32位),能夠處理的數(shù)據(jù)范圍負(fù)數(shù)為:-3.402823E38 -1.401298E-45,正數(shù)為:1.401298E-45 3.402823E38。 雙精度數(shù) ( 類型符# ) 雙精度數(shù)占據(jù)8個(gè)字節(jié)(64位),其數(shù)據(jù)范圍負(fù)數(shù)為:-1.79769313486232D308 -4.94065645841247D-324,正數(shù)為:4.94065645841247D-324 1.79769313486232D308。這里用D來表示10的次方。 3.1.1 基本數(shù)據(jù)類型 字符串型 字
53、符串是一個(gè)字符序列,其字符碼范圍是0 255。我們?cè)谔幚碜址畷r(shí)使用String類型。字符串變量值必須用雙引號(hào)括起來。 使用字符串類型可以聲明兩種字符串變長與定長的字符串。 在缺省情況下,String變量是一個(gè)可變長度的字符串,隨著對(duì)字符串變量賦予新數(shù)據(jù),它的長度可增可減。如果要聲明字符串具有固定長度,可以用以下格式: String*字符串長度例,為了聲明一個(gè)長度為20字符的字符串,可以用下列語句: Dim strTemp As String*203.1.1 基本數(shù)據(jù)類型 日期型 日期型數(shù)據(jù)類型表示日期,占據(jù)8個(gè)字節(jié)??杀硎镜娜掌诜秶鷱?00年1月1日 9999年12月31日,時(shí)間范圍是0:0
54、0 23:59:59。 日期型數(shù)據(jù)需要用雙井號(hào)(#)括起來。它可以是單獨(dú)日期的數(shù)據(jù),也可以是單獨(dú)時(shí)間的數(shù)據(jù),也可以是日期和時(shí)間數(shù)據(jù)的組合,允許用各種表示日期和時(shí)間的格式。 3.1.1 基本數(shù)據(jù)類型 字節(jié)型 字節(jié)型(Byte)數(shù)據(jù)占據(jù)空間大小為1個(gè)字節(jié),它是無符號(hào)類型,即1個(gè)字節(jié)8bit都表示數(shù)值。因此,其數(shù)值范圍為0 255,由此可知,Byte不能表示負(fù)數(shù),只能表示0 255的正整數(shù)。字節(jié)數(shù)據(jù)類型跟其他數(shù)值類型的數(shù)據(jù)一樣參與各種運(yùn)算。 3.1.1 基本數(shù)據(jù)類型 貨幣型 貨幣型數(shù)據(jù)類型主要用來表示貨幣值,在內(nèi)存中占8個(gè)字節(jié)(64位)。整數(shù)部分為15位,可以精確到小數(shù)點(diǎn)后4位,第5位四舍五入,屬于
55、定點(diǎn)實(shí)數(shù)。其取值范圍為:-922337203685447.5808 922337203685447.5807 3.1.1 基本數(shù)據(jù)類型 布爾型 許多問題都需要我們進(jìn)行邏輯判斷是“對(duì)”還是“錯(cuò)”。例如,52其結(jié)果是“對(duì)”;52語句后,在窗體上打印出True,當(dāng)執(zhí)行Print52語句后,在窗體上打印出False。布爾型數(shù)據(jù)占據(jù)2個(gè)字節(jié)。 當(dāng)數(shù)值類型轉(zhuǎn)換成布爾類型時(shí),0轉(zhuǎn)化為False,非0轉(zhuǎn)化為True。反之,F(xiàn)alse轉(zhuǎn)化為0,True轉(zhuǎn)化為-1。3.1.1 基本數(shù)據(jù)類型 變體型 變體數(shù)據(jù)類型是一種特殊的數(shù)據(jù)類型,靈活性很強(qiáng),除了定長String數(shù)據(jù)和用戶自定義類型外,它可以表示其它任何種類的數(shù)
56、據(jù)類型,Variant包括系統(tǒng)定義的所有數(shù)據(jù)類型,在具體運(yùn)用時(shí),Variant會(huì)自動(dòng)變成其中一種數(shù)據(jù)類型。 除了可以包含各種類型的數(shù)據(jù)外,Variant類型的變量還可以是Null、Empty及Error等特殊值。3.1.2 數(shù)據(jù)類型轉(zhuǎn)換 VB中提供了幾種類型轉(zhuǎn)換函數(shù),表5-1中,列出了一些常用的類型轉(zhuǎn)換函數(shù)及其目標(biāo)類型。函數(shù)返回值類型功能例子結(jié)果Val(x)Double將數(shù)字字符串x轉(zhuǎn)換成數(shù)值Val(“10”)+3Val(“12ab”)1312Str(x)String將數(shù)值轉(zhuǎn)換成字符串,字符串首位表示符號(hào)Str(123)Str(-123)“ 123”“-123”Asc(x)Integer求字符
57、串首字母的ASCII值A(chǔ)sc(“aac”)97Chr(x)String將ASCII值x轉(zhuǎn)換為對(duì)應(yīng)字符Chr(65)“A”Cint(x)Integer將x轉(zhuǎn)換成整型數(shù),小數(shù)部分四舍五入Cint(12.36)12Clng(x)Long將x轉(zhuǎn)換成長整型數(shù),小數(shù)部分四舍五入Clng(22.52)23Csng(x)Single將x舍入為單精度數(shù)Csng(50.2664597)50.26646Cdbl(x)Double將x舍入為雙精度數(shù)Cdbl(50.266)50.266Ccur(x)Currency把x轉(zhuǎn)換成貨幣型數(shù),小數(shù)部分最多保留4位且自動(dòng)四舍五入Ccur(24.23569)24.2357Cvar(
58、x)Variant把x轉(zhuǎn)為變體類型Cvar(“bac”&123)“bac123”Hex(x)String把十進(jìn)制數(shù)x轉(zhuǎn)換成十六進(jìn)制數(shù)Hex(25)19Oct(x)String把十進(jìn)制數(shù)x轉(zhuǎn)換成八進(jìn)制數(shù)Oct(25)313. 2 變量 在程序處理數(shù)據(jù)時(shí),用戶把信息暫時(shí)存儲(chǔ)在計(jì)算機(jī)的內(nèi)存里。要存儲(chǔ)信息,用戶必須指定存儲(chǔ)信息的單元,以便獲取信息,這就是變量的功能。在所有的編程語言中,變量都為內(nèi)存中的某個(gè)特定的位置命名,一旦定義了某個(gè)變量,該變量表示的都將是同一個(gè)內(nèi)存位置,直到釋放該變量,但在程序運(yùn)行期間代表變量的存儲(chǔ)空間中的值是可以變化的。 3.2.1 變量的命名規(guī)則 在VB中,變量的命名要遵循以下
59、規(guī)則: 1. 變量名必須以字母或漢字開頭,例如Name,C用戶,f23等變量名是合法的,而3jk,#Num等變量明是非法的。 2. 變量名中不能包含除字母、漢字、數(shù)字和下劃線以外的字符。 3. 變量名不能和關(guān)鍵字同名。 4. 變量名在有效的范圍內(nèi)必須是唯一的。 5. 變量名的長度不得超過255個(gè)字符。3.2.2 變量的聲明 聲明變量的語法格式是: :Dim、Static、Public、Private其中之一。 :編程者所起的符合命名規(guī)則的變量名稱。 :Integer、String、Long、Currency等數(shù)據(jù)類型之一。 例:Dim x As Integer x為整型數(shù)據(jù)Public y y
60、為變體數(shù)據(jù)類型 As 3.3 常量在VB語言中,常量可以分為兩類:直接常量和符號(hào)常量。 直接常量就是指在程序代碼中,以直接明顯的形式給出的數(shù)據(jù)。 包括數(shù)值常量、字符串常量、布爾常量、日期常量等。 直接常量3.3 常量 符號(hào)常量可以分為系統(tǒng)提供的符號(hào)常量和用戶聲明的符號(hào)常量。 (1) 系統(tǒng)提供的符號(hào)常量 VB為不用的活動(dòng)提供了多個(gè)常量集合,有顏色定義常量、數(shù)據(jù)訪問常量、形狀常量等等。如vbRed、vbGreen。 單擊“視圖”菜單中的“對(duì)象瀏覽器”,系統(tǒng)彈出如圖5-1所示的對(duì)話框,可使用該對(duì)話框中的列表來找到所需的常量,選中常量后,對(duì)話框底端的文本區(qū)域?qū)@示常量的值和功能。 符號(hào)常量3.3 常量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東淄博文昌湖省級(jí)旅游度假區(qū)面向大學(xué)生退役士兵專項(xiàng)崗位招聘1人備考題庫及完整答案詳解1套
- 2026廣東佛山市第二人民醫(yī)院招聘高層次人才(第一批)1人備考題庫及完整答案詳解
- 2026天津中醫(yī)藥大學(xué)第二批招聘4人備考題庫及答案詳解(奪冠系列)
- 2026四川九洲教育投資管理有限公司招聘駐場2人備考題庫有完整答案詳解
- 2026上半年貴州事業(yè)單位聯(lián)考黔南民族師范學(xué)院招聘13人備考題庫及答案詳解(考點(diǎn)梳理)
- 駐馬店2025年河南駐馬店市驛城區(qū)引進(jìn)高層次人才62人筆試歷年參考題庫附帶答案詳解
- 阜陽2025年安徽阜陽阜南縣人民醫(yī)院招聘專業(yè)技術(shù)人員30人筆試歷年參考題庫附帶答案詳解
- 蘇州2025年江蘇蘇州市相城區(qū)人民檢察院招聘公益性崗位工作人員筆試歷年參考題庫附帶答案詳解
- 秦皇島2025年河北秦皇島市直醫(yī)療衛(wèi)生單位選聘96人筆試歷年參考題庫附帶答案詳解
- 甘肅2025下半年甘肅省工業(yè)和信息化廳事業(yè)單位招聘56人筆試歷年參考題庫附帶答案詳解
- 2025年接觸網(wǎng)覆冰舞動(dòng)處置預(yù)案
- 剪映電腦剪輯課件
- 人教版七年級(jí)英語上冊(cè)全冊(cè)語法知識(shí)點(diǎn)梳理
- 母乳喂養(yǎng)的新進(jìn)展
- 2025年浙江省中考科學(xué)試題卷(含答案解析)
- 要素式民事起訴狀(房屋租賃合同糾紛)
- 急性呼吸窘迫綜合征病例討論
- DB11∕T 510-2024 公共建筑節(jié)能工程施工質(zhì)量驗(yàn)收規(guī)程
- 英語滬教版5年級(jí)下冊(cè)
- T/CPFIA 0005-2022含聚合態(tài)磷復(fù)合肥料
- GB/T 43590.507-2025激光顯示器件第5-7部分:激光掃描顯示在散斑影響下的圖像質(zhì)量測試方法
評(píng)論
0/150
提交評(píng)論