![教學(xué)課件:Visual_第1頁(yè)](http://file4.renrendoc.com/view/b999a90909724bec37955ed5c6bb7d50/b999a90909724bec37955ed5c6bb7d501.gif)
![教學(xué)課件:Visual_第2頁(yè)](http://file4.renrendoc.com/view/b999a90909724bec37955ed5c6bb7d50/b999a90909724bec37955ed5c6bb7d502.gif)
![教學(xué)課件:Visual_第3頁(yè)](http://file4.renrendoc.com/view/b999a90909724bec37955ed5c6bb7d50/b999a90909724bec37955ed5c6bb7d503.gif)
![教學(xué)課件:Visual_第4頁(yè)](http://file4.renrendoc.com/view/b999a90909724bec37955ed5c6bb7d50/b999a90909724bec37955ed5c6bb7d504.gif)
![教學(xué)課件:Visual_第5頁(yè)](http://file4.renrendoc.com/view/b999a90909724bec37955ed5c6bb7d50/b999a90909724bec37955ed5c6bb7d505.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用1第1章 Visual Basic概述1.1 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言簡(jiǎn)介 1.2 Visual Basic的基本特點(diǎn) 1.3 Visual Basic的安裝、啟動(dòng)和退出 1.4 Visual Basic集成開(kāi)發(fā)環(huán)境 1.5 開(kāi)發(fā)Visual Basic應(yīng)用程序的基本步驟 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用21.1 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言簡(jiǎn)介 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言是人類與計(jì)算機(jī)交流信息的主要途徑。通過(guò)語(yǔ)法、語(yǔ)義、描述記號(hào)來(lái)表述各種運(yùn)算和處理過(guò)程,能夠被計(jì)算機(jī)所識(shí)別、理解、執(zhí)行,最終完成某項(xiàng)工作任務(wù)。計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言和程序設(shè)計(jì)方法都在不斷發(fā)展。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用3 1.1.1 程序設(shè)計(jì)
2、語(yǔ)言的發(fā)展 1機(jī)器語(yǔ)言 機(jī)器語(yǔ)言是指由0、1二進(jìn)制代碼組成的,能被計(jì)算機(jī)直接識(shí)別的機(jī)器指令的集合。2匯編語(yǔ)言 匯編語(yǔ)言采用一定的助記符號(hào)表示機(jī)器語(yǔ)言中的指令和數(shù)據(jù) 。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用4 1.1.1 程序設(shè)計(jì)語(yǔ)言的發(fā)展 3高級(jí)語(yǔ)言 高級(jí)語(yǔ)言采用一組通用的英語(yǔ)單詞、數(shù)學(xué)式及規(guī)定的符號(hào),按嚴(yán)格的語(yǔ)法規(guī)則和邏輯關(guān)系表述各種運(yùn)算和處理過(guò)程。 44GL語(yǔ)言 一般被稱為“第四代語(yǔ)言”,是一種交互式、非過(guò)程化的、面向用戶的編程語(yǔ)言,與高級(jí)語(yǔ)言相比它更接近人類自然語(yǔ)言。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用5 1.1.2 程序設(shè)計(jì)語(yǔ)言的發(fā)展趨勢(shì) 1智能化逐步提高 現(xiàn)在的計(jì)算機(jī)語(yǔ)言已經(jīng)逐步具有一定的智能化的特點(diǎn),使
3、軟件開(kāi)發(fā)逐步走向更高級(jí)的階段。進(jìn)一步發(fā)展,應(yīng)用計(jì)算機(jī)的智能化程度將會(huì)更高。 2具有較強(qiáng)的可移植性 程序在不同的計(jì)算機(jī)或操作系統(tǒng)平臺(tái)上,不需要重新編譯即可執(zhí)行,真正做到“與系統(tǒng)無(wú)關(guān)”是人們追求的理想目標(biāo)。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用6 1.1.2 程序設(shè)計(jì)語(yǔ)言的發(fā)展趨勢(shì) 3適應(yīng)網(wǎng)絡(luò)的特性 網(wǎng)絡(luò)編程語(yǔ)言隨著Internet的深入和普及,將會(huì)更快發(fā)展并得到廣泛應(yīng)用。基于Web開(kāi)發(fā)標(biāo)準(zhǔn)結(jié)合,將會(huì)被廣泛應(yīng)用在網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)中。 4高效與安全性 社會(huì)對(duì)軟件的需求增長(zhǎng)很快,要求軟件開(kāi)發(fā)具有較高的時(shí)效性和安全性,這對(duì)現(xiàn)代程序設(shè)計(jì)語(yǔ)言提出了更高的要求。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用7 1.1.3 計(jì)算機(jī)程序設(shè)計(jì)方
4、法發(fā)展概況 1模塊化程序設(shè)計(jì)2結(jié)構(gòu)化程序設(shè)計(jì)3面向?qū)ο蟮某绦蛟O(shè)計(jì)4計(jì)算機(jī)輔助軟件工程(CASE)VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用81.2 Visual Basic的基本特點(diǎn)1可視化的設(shè)計(jì)平臺(tái) 可視化程序設(shè)計(jì)為開(kāi)發(fā)Windows風(fēng)格的應(yīng)用程序,提供了簡(jiǎn)化編程難度的有效方法,大幅度提高了編程的效率。 2事件驅(qū)動(dòng)的編程機(jī)制 事件驅(qū)動(dòng)是一種適用于圖形用戶界面的編程方式。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用91.2 Visual Basic的基本特點(diǎn)3能夠充分利用系統(tǒng)資源VB 支持DDE,并可以實(shí)現(xiàn)和其他支持DDE的應(yīng)用程序進(jìn)行動(dòng)態(tài)數(shù)據(jù)交換或通信。 4具有較強(qiáng)的數(shù)據(jù)庫(kù)管理功能可以直接在VB 中建立或訪問(wèn)Access桌面數(shù)
5、據(jù)庫(kù)系統(tǒng),也能夠訪問(wèn)其他外部數(shù)據(jù)庫(kù)。 5全面支持多媒體技術(shù)VB提供了多種功能的多媒體控件 。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用101.3 VB的安裝、啟動(dòng)和退出成功安裝VB之后,便可以啟動(dòng)VB系統(tǒng)了。運(yùn)行VB系統(tǒng)的方法有多種。退出VB的方法和退出其他Windows應(yīng)用程序的方法類似 。VB 6.0有三個(gè)版本,不同的版本是為不同層次的人員和不同的開(kāi)發(fā)需求設(shè)計(jì)的,用戶可以根據(jù)自己的情況和需要購(gòu)買、安裝相應(yīng)的軟件。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用111.4 Visual Basic集成開(kāi)發(fā)環(huán)境 VB系統(tǒng)為用戶開(kāi)發(fā)應(yīng)用程序提供了一個(gè)良好的集成開(kāi)發(fā)環(huán)境,它集成了各種不同的功能。1.4.1 主窗口 1標(biāo)題欄標(biāo)題欄與Wind
6、ows其他應(yīng)用程序相似,另外說(shuō)明了當(dāng)前的工程文件名和VB的當(dāng)前工作模式狀態(tài)。 (1)設(shè)計(jì)模式該模式下,用戶可以進(jìn)行程序界面的設(shè)計(jì)和代碼的編寫工作。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用121.4.1 主窗口 (2)運(yùn)行模式程序界面和代碼的設(shè)計(jì)完成后,運(yùn)行應(yīng)用程序時(shí)處于該模式。(3)中斷模式應(yīng)用程序運(yùn)行出現(xiàn)錯(cuò)誤時(shí),處于中斷模式。 2菜單欄菜單欄中包含VB系統(tǒng)所有的可用命令,這是程序開(kāi)發(fā)過(guò)程中用于設(shè)計(jì)、調(diào)試、運(yùn)行和保存應(yīng)用程序所需要的命令,共有13個(gè)菜單項(xiàng)。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用131.4.1 主窗口 3工具欄工具欄中集中了各種用圖標(biāo)表示的按鈕,每個(gè)按鈕對(duì)應(yīng)一個(gè)命令,單擊按鈕,即可執(zhí)行對(duì)應(yīng)的命令。 4控件工
7、具箱控制部件簡(jiǎn)稱控件,是用戶設(shè)計(jì)應(yīng)用程序界面的工具。VB的標(biāo)準(zhǔn)工具箱包含建立應(yīng)用程序所需的各種控件。 1.4.2 工程窗口工程是應(yīng)用程序各種類型文件的集合,應(yīng)用程序是建立在工程的基礎(chǔ)上完成的,工程文件的擴(kuò)展名為.Vbp。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用141.4.3 屬性窗口在VB集成環(huán)境中,屬性窗口的默認(rèn)位置是在工程窗口的下方。應(yīng)用程序中的窗體及其控件的屬性,均可以通過(guò)屬性窗口設(shè)置 。1.4.4 窗體設(shè)計(jì)器 “窗體設(shè)計(jì)器”是用戶設(shè)計(jì)應(yīng)用程序界面的窗口,也稱為“對(duì)象窗口”。窗體是VB應(yīng)用程序的主要部分,用戶通過(guò)與窗體上的控件進(jìn)行交互得到操作結(jié)果。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用151.4.5 代碼編輯窗口“
8、代碼編輯窗口”是用來(lái)對(duì)過(guò)程或事件過(guò)程的代碼進(jìn)行編輯的窗口,也稱為“代碼窗口”。VB系統(tǒng)為用戶提供了較強(qiáng)的代碼編輯功能,可以通過(guò)多種方式打開(kāi)代碼編輯窗口。 1代碼窗口的組成(1)對(duì)象下拉列表框(2)過(guò)程下拉列表框(3)代碼編輯區(qū)(4)查看視圖按鈕VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用161.4.5 代碼編輯窗口2代碼編輯器的自動(dòng)功能用戶在編輯程序代碼時(shí)可以直接輸入語(yǔ)句、函數(shù)、對(duì)象的屬性或方法等內(nèi)容,也可以利用VB提供的自動(dòng)功能簡(jiǎn)化輸入過(guò)程。 (1)自動(dòng)提示信息 (2)自動(dòng)列出成員 (3)自動(dòng)語(yǔ)法檢查1.4.6 立即窗口立即窗口是在中斷模式狀態(tài)下用來(lái)觀察處理結(jié)果、調(diào)試程序使用的窗口。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用1
9、71.5 開(kāi)發(fā)Visual Basic應(yīng)用程序的基本步驟VB可視化編程采用了面向?qū)ο蠛褪录?qū)動(dòng)的編程方法。用VB開(kāi)發(fā)應(yīng)用程序,包括兩部分工作:設(shè)計(jì)用戶界面和編寫程序代碼。1.5.1 Visual Basic示例 1題目要求和運(yùn)行效果 2操作步驟 3程序代碼(prjexp1_1.vbp)VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用181.5.2 基本步驟 通過(guò)以上對(duì)程序示例處理過(guò)程的描述,可以歸納出開(kāi)發(fā)VB應(yīng)用程序的基本步驟如下:1界面設(shè)計(jì)應(yīng)用程序界面由窗體和控件兩部分組成,用戶可以在窗體中放置各種控件,以構(gòu)成用戶所需要的程序界面。 2屬性設(shè)置可以在屬性窗口中靜態(tài)設(shè)置對(duì)象的屬性,也可以在程序中對(duì)屬性進(jìn)行設(shè)置或修改,
10、進(jìn)行動(dòng)態(tài)的設(shè)置。 3編寫程序代碼在VB中,程序代碼是集中在“過(guò)程”中組織編寫的。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用191.5.2 基本步驟 4運(yùn)行和保存程序可以通過(guò)多種方式運(yùn)行VB應(yīng)用程序。保存VB應(yīng)用程序的操作與其他Windows應(yīng)用程序類似。但是,在VB的一個(gè)工程中包含多個(gè)不同類型的文件,這些文件需要分別保存。 5獨(dú)立運(yùn)行VB應(yīng)用程序VB應(yīng)用程序可以脫離VB的集成環(huán)境,直接運(yùn)行在Windows狀態(tài)。因此需要對(duì)應(yīng)用程序進(jìn)行編譯,生成.EXE文件。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用20習(xí)題1 1-6 設(shè)計(jì)一個(gè)程序,運(yùn)行中,當(dāng)用鼠標(biāo)雙擊窗體時(shí),在窗體上顯示“Visual Basic 大家都愛(ài)學(xué)!”;單擊【顯示】按
11、鈕時(shí),在窗體上顯示“學(xué)習(xí)IT 非常重要!”。程序運(yùn)行結(jié)果見(jiàn)教材圖1-12。解題思路:1.在窗體上添加命令按鈕的控件,將該按鈕的Caption 屬性設(shè)置為“顯示”。2.在窗體的Bbclick事件過(guò)程中,編寫用Print輸出文字的代碼。在按鈕的Click事件過(guò)程中,編寫用Print輸出文字的代碼。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用21第2章 Visual Basic編程基礎(chǔ)2.1 建立第一個(gè)Visual Basic應(yīng)用程序 2.2 Visual Basic基本概念2.3 Visual Basic常用內(nèi)部控件簡(jiǎn)介 2.4 工程管理VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用222.1 建立第一個(gè)Visual Basic應(yīng)用程序2
12、.1.1 “Say Hello” 程序簡(jiǎn)介包括1個(gè)“歡迎”窗體窗體上有1個(gè)編輯框、1個(gè)【確定】按鈕在編輯框中輸入用戶名,如Tom單擊【確定】按鈕窗體上出現(xiàn)“Hello Tom!”文字,并從左向右勻速移動(dòng)當(dāng)文字從窗體最右邊消失時(shí),程序自動(dòng)結(jié)束VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用232.1.2 新建工程1. 選擇工程類型啟動(dòng)VB,從“新建工程”對(duì)話框中選擇【標(biāo)準(zhǔn) EXE】選項(xiàng)標(biāo)準(zhǔn) EXE工程以窗體(Form)為核心2. 定義工程名稱新建工程的默認(rèn)工程名為“工程1”改為以小寫字母 prj 開(kāi)頭本例將工程命名為 prjSayHello3.定義窗體名稱窗體文件名默認(rèn)為“Form1”窗體文件的文件名應(yīng)以 frm 開(kāi)頭
13、本例將窗體命名為 frmMainVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用242.1.3 添加控件 1. 向窗體上添加控件 雙擊工具箱中的工具圖標(biāo) 單擊工具圖標(biāo),用鼠標(biāo)在窗體上拖拽 添加控件后需對(duì)位置和大小進(jìn)行調(diào)整向frmMain窗體添加4個(gè)控件1個(gè)TextBox(編輯框)控件1個(gè)Label(標(biāo)簽)控件1個(gè)CommandButton(命令按鈕)控件1個(gè)Timer(定時(shí)器)控件 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用252.1.3 添加控件 2. 定義控件名稱 控件名應(yīng)反映控件的類型和作用 選定控件,在“屬性”窗口中修改【名稱】項(xiàng)給控件命名時(shí),應(yīng)以控件類型的縮寫字母作為前綴 推薦使用英文字母作為控件的名稱在“Say Hello
14、”例子中,將標(biāo)簽控件的名稱由默認(rèn)的Label1改為lblHello、編輯框的名稱改為txtInput、定時(shí)器控件命名為tmrMove、命令按鈕的名稱由Command1改為cmdOKVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用262.1.3 添加控件 3.設(shè)置控件外觀默認(rèn)情況下,屬性是按字母順序排列的控件的“外觀”類屬性決定控件的視覺(jué)效果在“Say Hello”例子中,將lblHello標(biāo)簽控件的ForeColor屬性設(shè)置為藍(lán)色;字體設(shè)置為楷體、規(guī)則、二號(hào)字VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用272.1.3 添加控件 4.設(shè)置其它屬性“位置”類屬性中的Left和Top決定控件左上角相對(duì)于窗體工作區(qū)(不包括窗體邊框和標(biāo)題欄)左上
15、角的坐標(biāo)值Height和Width屬性決定控件的長(zhǎng)度和寬度屬性的長(zhǎng)度單位默認(rèn)為緹(Twip,1緹=1/1440英寸)在“Say Hello”例子中,將lblHello標(biāo)簽的Left屬性改為0;將lblHello控件的Caption屬性及txtInput控件的Text屬性清空;將cmdOk按鈕控件的Caption屬性改為“確定” ;將tmrMove控件的Interval設(shè)為100;Enabled屬性設(shè)為FalseVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用282.1.4 編寫代碼1. 設(shè)計(jì)工作流程自然語(yǔ)言描述流程圖描述偽代碼描述2. 選擇驅(qū)動(dòng)事件“代碼”窗口的頂部有兩個(gè)下拉列表框:左邊是“對(duì)象”列表,右邊為“過(guò)程”
16、列表在“Say Hello”例子中,需在兩個(gè)事件中運(yùn)行代碼:cmdOk按鈕的Click事件;tmrMove定時(shí)器的Timer事件直接雙擊窗體上的控件,可以在“代碼”窗口添加事件框架 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用292.1.4 編寫代碼3.編寫事件程序&符號(hào)是Visual Basic中的字符串連接運(yùn)算符,用于連接兩個(gè)字符串VB中用單引號(hào)作為注釋符,注釋文字不參與程序運(yùn)行IfThen語(yǔ)句是VB中的條件判斷語(yǔ)句End語(yǔ)句可無(wú)條件終止程序 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用302.1.5 運(yùn)行程序1.保存文件 單擊工具欄上的“保存”按鈕選擇【文件】菜單中的【保存工程】新建工程在第一次保存時(shí),將顯示“文件另存為”對(duì)話
17、框VB窗體文件的擴(kuò)展名為.frm,工程文件的擴(kuò)展名為.vbp 本例中將窗體文件保存為frmMain.frm。工程文件保存為prjSayHello.vbpVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用312.1.5 運(yùn)行程序2. 啟動(dòng)程序 單擊工具欄上的“啟動(dòng)”按鈕 選擇【運(yùn)行】菜單下的【啟動(dòng)】“標(biāo)準(zhǔn)”工具欄上還有“中斷”和“結(jié)束”兩個(gè)按鈕程序代碼或界面在暫停或編輯狀態(tài)下可以修改VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用322.1.6 編譯工程 編譯成可執(zhí)行文件,即擴(kuò)展名為EXE的文件可以獨(dú)立運(yùn)行 從【文件】菜單選擇【生成XXXX.exe】可完成編譯“Say Hello”例子中菜單顯示的內(nèi)容為“生成prjSayHello.exe”默認(rèn)
18、情況下,編譯生成的可執(zhí)行文件與窗體文件的圖標(biāo)相同VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用332.2 Visual Basic基本概念2.2.1 對(duì)象1.什么是對(duì)象Visual Basic是一種面向?qū)ο蟮拈_(kāi)發(fā)工具對(duì)象(Object)就是事物對(duì)象的所有屬性、方法和事件統(tǒng)稱為對(duì)象的成員 2. 什么是類類是由具體事物抽象而成的每個(gè)類擁有自己的屬性、方法和事件每個(gè)具體的對(duì)象都屬于某個(gè)類 每個(gè)具體對(duì)象的屬性值可以不同 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用342.2.1 對(duì)象 3.VB中的對(duì)象 “工具箱”中的每種控件都是一個(gè)類VB還提供了很多看不見(jiàn)的類供編程使用VB允許用戶定義自己的類4.對(duì)象瀏覽器從【視圖】菜單下選擇【對(duì)象瀏覽器】按
19、快捷鍵F2可打開(kāi)“對(duì)象瀏覽器” VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用352.2.2 對(duì)象的成員 1.屬性 屬性(Property)用來(lái)描述對(duì)象的特性VB中的每個(gè)類都有自己的屬性集合從“屬性”窗口中設(shè)置屬性值在代碼中設(shè)置(控件名.屬性名 = 屬性值)2.方法函數(shù)(Function)是有返回值的方法過(guò)程(Sub)是沒(méi)有返回值的方法3. 事件事件是在某種特定狀態(tài)下由系統(tǒng)觸發(fā)的方法VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用362.3 Visual Basic常用內(nèi)部控件簡(jiǎn)介2.3.1 Label控件 標(biāo)簽控件用于在窗體上顯示各種靜態(tài)文字Caption屬性可設(shè)置/返回標(biāo)簽文本控件名、函數(shù)名和變量名等屬于標(biāo)示符 VB規(guī)定:標(biāo)示符的第一
20、個(gè)字符必須是字母,只能由字母、數(shù)字和下劃線組成 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用372.3.2 TextBox控件 編輯框控件用于向程序輸入文本Text屬性可設(shè)置/返回編輯框文本編輯框中的內(nèi)容改變時(shí),觸發(fā)Change( )事件 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用382.3.3 CommandButton控件 命令按鈕控件用于接收用戶的指令用戶單擊命令按鈕時(shí)觸發(fā)Click( )事件VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用392.4 工程管理2.4.1 工程的組成每個(gè)應(yīng)用程序的源程序是一個(gè)工程 最常用工程類型是標(biāo)準(zhǔn)EXE工程其它常用工程類型還有ActiveX EXE工程、ActiveX DLL工程、ActiveX 控件工程、VB企
21、業(yè)版控件等 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用402.4.1 工程的組成VB工程中可以包含以下幾種文件: 工程組文件(.vbg)工程文件(.vbp)窗體模塊文件(.frm)窗體數(shù)據(jù)文件(.frx)標(biāo)準(zhǔn)模塊文件(.bas)類模塊文件(.cls)用戶控件文件(.ctl)ActiveX控件文件(.ocx)其他文件VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用412.4.2 工程的建立、打開(kāi)與保存 1.新建工程 從【文件】菜單中選擇【新建工程】,會(huì)出現(xiàn)“新建工程”對(duì)話框2.打開(kāi)現(xiàn)有工程 從【文件】菜單選擇【打開(kāi)工程】單擊工具欄上的“打開(kāi)”按鈕 彈出“打開(kāi)工程”對(duì)話框VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用422.4.2 工程的建立、打開(kāi)與保存 3.
22、保存工程單擊工具欄上的“保存”按鈕從【文件】菜單選擇【保存工程】 選擇【工程另存為】,會(huì)出現(xiàn)“文件另存為”對(duì)話框從中可以重新選擇保存路徑和文件名4. 設(shè)置工程屬性從【工程】菜單選擇【XXXX屬性】可以打開(kāi)“工程屬性”對(duì)話框在“SayHello”例子里,菜單項(xiàng)為【prjSayHello屬性】VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用432.4.3 工程內(nèi)文件的添加、保存與刪除 1.添加文件從【工程】菜單下選擇【添加窗體】項(xiàng) 單擊工具欄中的【添加窗體】按鈕 在“工程資源管理器”中單擊鼠標(biāo)右鍵,并從快捷菜單中選擇【添加】【添加窗體】 2.保存文件 選擇【文件】菜單下的【保存XXXX】或【XXXX另存為】在“工程資源管
23、理器”中單擊鼠標(biāo)右鍵,并從快捷菜單中選擇【保存XXXX】或【XXXX另存為】3. 刪除文件在“工程資源管理器”中單擊鼠標(biāo)右鍵,并從快捷菜單中選擇【移除XXXX】VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用44習(xí)題 2 解題思路2-7 決定標(biāo)簽文字顏色的屬性為ForeColor。在“Say Hello”例子中,將標(biāo)簽lblHello的ForeColor屬性設(shè)為紅色(vbRed)即可。2-9 可以將定時(shí)器tmrMove的Interval屬性減小一半,或在tmrMove_Timer( )事件中將語(yǔ)句lblHello.Left=lblHello.Left+100改為lblHello.Left=lblHello.Left+
24、200VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用45習(xí)題 2 解題思路2-10 在tmrMove_Timer( )事件中將語(yǔ)句lblHello.Left=lblHello.Left+100改為lblHello.Left=lblHello.Left-100在程序啟動(dòng)時(shí)將標(biāo)簽定位在窗體最右邊:lblHello.Left=frmMain.Width-lblHello.Width并在標(biāo)簽到達(dá)窗體左邊界時(shí)結(jié)束:If lblHello.Left + lblHello.Width 0 Then EndVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用46第三章 程序設(shè)計(jì)語(yǔ)言基礎(chǔ)3.1 數(shù)據(jù)類型3.2 常量與變量3.3 表達(dá)式和運(yùn)算符3.4 Visua
25、l Basic的常用函數(shù)3.5 順序結(jié)構(gòu)程序設(shè)計(jì) VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用473.1 數(shù)據(jù)類型數(shù)據(jù)是指能夠輸入到計(jì)算機(jī)中、被計(jì)算機(jī)識(shí)別并加工處理的符號(hào)的集合。數(shù)值、字符、圖形、圖像和聲音都是數(shù)據(jù)。數(shù)據(jù)是計(jì)算機(jī)程序處理的對(duì)象,也是運(yùn)算產(chǎn)生的結(jié)果。數(shù)據(jù)按其構(gòu)造、處理方式、用途及基本屬性,又分為若干不同的類型。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用48 3.1.1 基本數(shù)據(jù)類型 類型名稱 數(shù)據(jù)類型 存儲(chǔ)空間(Byte)整型 integer 2 長(zhǎng)整型 long 4單精度浮點(diǎn)型 single 4雙精度浮點(diǎn)型 double 8貨幣型 currency 8字節(jié)型 byte 1VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用49 3.1.1
26、基本數(shù)據(jù)類型 類型名稱 數(shù)據(jù)類型 存儲(chǔ)空間(Byte) 變長(zhǎng)字符串 string 字符串長(zhǎng) 定長(zhǎng)字符串 string*size size日期型 date 8邏輯型 boolean 2對(duì)象型 object 8變體型(數(shù)值) variant 16變體型(字符) variant 字符串長(zhǎng)度 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用50用戶自定義類型 用戶自定義類型又稱為“記錄類型”,類適于C語(yǔ)言中的“結(jié)構(gòu)體”類型。它由若干個(gè)基本類型的數(shù)據(jù)項(xiàng)組成,可描述同一對(duì)象的不同屬性。例如:學(xué)生對(duì)象的學(xué)號(hào)、姓名、性別、出生日期等屬性,它們分別由字符和日期型數(shù)據(jù)組成。 可以用Type語(yǔ)句創(chuàng)建用戶自定義類型,其格式為: Type 數(shù)
27、據(jù)類型名 數(shù)據(jù)類型數(shù)據(jù)項(xiàng)名 As 類型名 數(shù)據(jù)類型數(shù)據(jù)項(xiàng)名 As 類型名 End Type【例3-1】 源代碼見(jiàn)exp3-1.vbp ,后同。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用51 3.2 常量和變量常量是在程序運(yùn)行過(guò)程中始終保持不變的常數(shù)、字符串等。 常量的兩種形式:直接常量符號(hào)常量VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用52直接常量直接常量字符串常量、數(shù)值常量(整數(shù),長(zhǎng)整數(shù),定點(diǎn)數(shù),浮點(diǎn)數(shù),貨幣)、邏輯常量和日期常量。 1、字符串常量 “ABC”,“123” 2、數(shù)值常量 整數(shù),長(zhǎng)整數(shù),定點(diǎn)數(shù),浮點(diǎn)數(shù),貨幣 3、邏輯常量 True , False 4、日期常量 #03/20/2003#VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用53符
28、號(hào)常量符號(hào)常量是指用事先定義的符號(hào)(即常量名)代表具體的常量。系統(tǒng)內(nèi)部常量 內(nèi)部常量是VB和控件提供的 ,以 VB打頭。 例如 VByCsNo 用戶定義常量 Public | Private Const as = 例如:Const Conpi = 3.1415926 Const Max=234 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用54 3.2 .2 變量變量是指在程序運(yùn)行過(guò)程中,取值可以改變的數(shù)據(jù),變量是命名的內(nèi)存單元位置.VB有兩大類型變量: (1) 屬性變量 (2)聲明(內(nèi)存)變量。屬性變量是用戶在設(shè)計(jì)界面時(shí)VB自動(dòng)產(chǎn)生的,它為每個(gè)對(duì)象創(chuàng)建一組變量,即屬性變量,并為每個(gè)變量設(shè)置其默認(rèn)值 變量的特性:
29、(1)名字 (2)數(shù)據(jù)類型 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用55變量的聲明 Dim|Private|Static|Public as Dim as 例如:Dim V1 As Integer, V2 As Single 定義V1為整形、V2為單精度類型變量 Dim V3 As String 定義V3為變長(zhǎng)字符串 Dim V4 As String *8 定義V4長(zhǎng)度為8的定長(zhǎng)字符串 Dim V5, V6 As Single 定義V5為變體類型、V6為單精度型變量 Dim V7, V8 定義V7, V8為變體變量VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用56變量的聲明強(qiáng)制顯式聲明 選擇【工具】【選項(xiàng)】命令 選擇【編輯器】【要
30、求變量聲明】 VB將把 Option explicit自動(dòng)加到全局變量或模塊級(jí)變量的聲明部分。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用573.3 表達(dá)式和運(yùn)算符 表達(dá)式是數(shù)據(jù)之間運(yùn)算關(guān)系的表達(dá)形式,由常量、變量、函數(shù)等數(shù)據(jù)和運(yùn)算符組成。參與運(yùn)算的數(shù)據(jù)稱為操作數(shù) 。VB中的運(yùn)算符可分成算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和字符串運(yùn)算符四大類。 注意: 表達(dá)式和運(yùn)算符必須匹配,運(yùn)算符和操作數(shù)也要匹配。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用58算術(shù)表達(dá)式算術(shù)運(yùn)算符的優(yōu)先級(jí) 1 2 3 * / 4 5 Mod 6 + VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用59關(guān)系運(yùn)算關(guān)系運(yùn)算符(比較運(yùn)算符):用來(lái)對(duì)兩個(gè)相同類型的表達(dá)式進(jìn)行比較,其結(jié)果是一個(gè)邏輯
31、值。進(jìn)行比較的數(shù)據(jù)可以是數(shù)值型、字符型或日期型,邏輯型一般只用“=”和“”等。= 等于 大于= 大于等于= 小于等于或 不等于VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用60邏輯表達(dá)式邏輯運(yùn)算又稱布爾運(yùn)算,用邏輯運(yùn)算符連接兩個(gè)或多個(gè)關(guān)系表達(dá)式,構(gòu)成邏輯表達(dá)式。 邏輯運(yùn)算符運(yùn)算Not非And與Or或Xor異或Eqv等價(jià)Imp蘊(yùn)含VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用61邏輯表達(dá)式非(Not)運(yùn)算:進(jìn)行取反運(yùn)算。例如:a=4 :b=8 Not(ab) 結(jié)果為True與(And)運(yùn)算 兩個(gè)表達(dá)式均為 True,結(jié)果才為True,否則為 False。例如:(ab)And (73) 結(jié)果為True或(Or)運(yùn)算兩個(gè)表達(dá)式只要有一個(gè)為Tr
32、ue,結(jié)果為True ,只有當(dāng)兩個(gè)都為False,結(jié)果才是False。例如: (ab)Or (45) 結(jié)果為TrueVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用62日期表達(dá)式日期型數(shù)據(jù)只有加“”和減“-”兩個(gè)運(yùn)算符,是一種特殊的數(shù)值型數(shù)據(jù)。兩個(gè)日期型數(shù)據(jù)相減 #12/19/1999# - #11/16/1999#日期型數(shù)據(jù)加上表示天數(shù)的數(shù)值 #11/16/1999# + 33日期型數(shù)據(jù)減去表示天數(shù)的數(shù)值 #11/16/1999# - 33VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用633.4 Visual Basic的常用函數(shù)函數(shù)一般用來(lái)實(shí)現(xiàn)數(shù)據(jù)處理過(guò)程中的特定運(yùn)算與操作。VB中有兩類函數(shù):內(nèi)部函數(shù) 用戶自定義函數(shù) 內(nèi)部函數(shù)也稱標(biāo)準(zhǔn)
33、函數(shù),其調(diào)用方法與為:函數(shù)名(自變量)VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用64隨機(jī)數(shù)語(yǔ)句和函數(shù)隨機(jī)函數(shù)Rnd(x),產(chǎn)生一個(gè)01之間的single 類型的隨機(jī)數(shù)。格式為: Rnd (expN1)VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用653.5 順序結(jié)構(gòu)程序設(shè)計(jì) 一行中多條語(yǔ)句,用“:”分隔如:a=5:b=6:c=7語(yǔ)句的續(xù)行,用續(xù)行符“_“如: strmystr=“ABCD” & _ strusernameVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用66 3. 5 .1賦值語(yǔ)句賦值語(yǔ)句格式: Let 變量名=表達(dá)式功能:將算表達(dá)式的值賦給變量或某個(gè)帶有屬性的 對(duì)象。說(shuō)明:(1) 變量名為變量或?qū)傩缘拿Q。 (2) 賦值語(yǔ)句中 “=”是賦值
34、號(hào),與數(shù)學(xué)中的等號(hào) 意義不同。 (3)先計(jì)算表達(dá)式的值,然后將結(jié)果賦給“=”左 邊的變量。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用673.5.2使用Print方法輸出數(shù)據(jù) 格式:對(duì)象名稱 Print表達(dá)式表,|;功能:在窗體、圖形對(duì)象或打印機(jī)等對(duì)象中輸出信息. 說(shuō)明: (1) 如果“對(duì)象名稱” 省略,則在當(dāng)前窗體上輸出。 (2) “表達(dá)式表” 可以是算術(shù)表達(dá)式、字符串表達(dá)式、關(guān)系表達(dá)式或布爾表達(dá)式。若“表達(dá)式表”缺省,則輸出一個(gè)空行。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用683.5.4格式函數(shù)Format$ 格式:Format$(表達(dá)式,格式字符串)功能:按格式字符串指定的格式將表達(dá)式以字符串形 式返回。說(shuō)明: (1)
35、表達(dá)式一般為數(shù)值表達(dá)式或常量。 (2) 格式字符串有VB規(guī)定的格式控制符組成,用于控制輸出的格式。缺省時(shí),其效果與Str函數(shù)類似,但Format$函數(shù)對(duì)整數(shù)不保留正號(hào)。 (3) 格式控制符包括:#、0、. 、 %、$、+、-、E+、E-VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用693.5.5 輸入函數(shù)InputBox 格式為:InputBox (Prompt,Title,Default,Xpos,Ypos,HelpFile,Context) 功能: 產(chǎn)生一個(gè)對(duì)話框,等待用戶輸入數(shù)據(jù),并返回所輸入的文本內(nèi)容。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用703.5.6 輸出函數(shù)與MsgBox語(yǔ)句 MsgBox函數(shù)格式為:MsgBox
36、(Prompt,Buttons,Title,HelpFile,Context) 功能:根據(jù)參數(shù)建立一個(gè)對(duì)話框,顯示提示信息,同時(shí)將用戶在對(duì)話框中的選擇結(jié)果傳輸給程序。 Prompt:必選項(xiàng),可以是字符串或字符串變量,最長(zhǎng)1024個(gè)字符。它用于顯示在對(duì)話框中的提示信息,通知用戶應(yīng)該做什么選擇。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用713.5.7 注釋與暫停語(yǔ)句 注釋語(yǔ)句是非執(zhí)行語(yǔ)句,格式為: Rem| 其中“注釋內(nèi)容”可以是任何注釋文本。Rem關(guān)鍵字與注釋內(nèi)容之間要加一個(gè)空格。注釋語(yǔ)句可單獨(dú)占一行,也可以放在其他語(yǔ)句的后面。如果在其他語(yǔ)句行后使用Rem關(guān)鍵字,則必須使用冒號(hào)(:)與語(yǔ)句隔開(kāi);若用單引號(hào)替代R
37、em關(guān)鍵字,則不必使用冒號(hào)。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用723.5.7 注釋與暫停語(yǔ)句 暫停語(yǔ)句用來(lái)暫停程序的執(zhí)行。格式為: Stop Stop語(yǔ)句的作用相當(dāng)于“運(yùn)行”菜單中的“中斷”命令。當(dāng)執(zhí)行到Stop語(yǔ)句時(shí),系統(tǒng)自動(dòng)打開(kāi)立即窗口。 Stop語(yǔ)句一般用來(lái)在解釋程序中設(shè)置斷點(diǎn),以便對(duì)程序進(jìn)行檢查和調(diào)試。如果在可執(zhí)行文件(.exe)中含有Stop語(yǔ)句,將關(guān)閉所有文件退出運(yùn)行。因此,當(dāng)程序調(diào)試完畢,在生成可執(zhí)行文件之前,應(yīng)刪去程序中的所有Stop語(yǔ)句。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用733.5.8 結(jié)束語(yǔ)句 End語(yǔ)句通常用來(lái)結(jié)束一個(gè)程序的執(zhí)行。格式為: End End語(yǔ)句提供了一種強(qiáng)迫中止程序的方法。
38、End語(yǔ)句可放在程序中的任何位置,執(zhí)行到此處的End語(yǔ)句將中斷代碼的執(zhí)行。程序中也可以沒(méi)有End語(yǔ)句,這并不影響程序的運(yùn)行。但如果程序中沒(méi)有End語(yǔ)句,或者雖有但沒(méi)有執(zhí)行含有End語(yǔ)句的事件過(guò)程,程序就不能正常結(jié)束,必須執(zhí)行“運(yùn)行”菜單中的“結(jié)束”命令或單擊工具欄中的“結(jié)束”按鈕。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用74 習(xí)題3 3-13 設(shè)計(jì)一個(gè)窗體,輸入四個(gè)字母,將其反向輸出。例如輸入ABCD,輸出DCBA,執(zhí)行界面如圖3-23所示。解題思路: 將從文本框接收的字符串賦給一個(gè)變量,然后利用Mid()函數(shù)分別將四個(gè)字符取出,反向相加即可。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用75 習(xí)題3 3-14 設(shè)計(jì)一個(gè)窗體,
39、單擊后可以通過(guò)Input()函數(shù)輸入兩個(gè)數(shù)字,并將其顯示在窗體上,同時(shí)顯示兩數(shù)之和,以及平均值。假設(shè)輸入的數(shù)字是10和20,結(jié)果如圖3-24所示。 解題思路: 在窗體上添加四個(gè)Label控件用于顯示信息。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用76第4章 程序流程控制 4.1 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.2 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4.3 數(shù)組 4.4 過(guò)程 4.5 變量與過(guò)程的作用域 4.6 常用算法與實(shí)例 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用774.1 選擇結(jié)構(gòu)程序設(shè)計(jì) 一個(gè)程序的功能不僅取決于所選用的語(yǔ)句,還取決于語(yǔ)句執(zhí)行的順序。在結(jié)構(gòu)化程序設(shè)計(jì)中,基本控制結(jié)構(gòu)包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。選擇結(jié)構(gòu)能根據(jù)指定條件的當(dāng)前值在
40、兩條或多條程序路徑中選擇一條執(zhí)行,它為處理多種復(fù)雜情況提供了便利條件。VB中選擇結(jié)構(gòu)語(yǔ)句包含If語(yǔ)句和Select Case語(yǔ)句兩種。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用78 4.1.1 單行If語(yǔ)句 單行結(jié)構(gòu)條件語(yǔ)句,是一種雙分支選擇結(jié)構(gòu)其格式為: IfThen Else 功能:如果條件為True(真),執(zhí)行語(yǔ)句序列1, 否則執(zhí)行語(yǔ)句序列2?!皸l件”可以是一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式,Else可以省略【例4-1】 源代碼見(jiàn)exp4-1.vbp ,后同。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用79 4.1.2 多行If語(yǔ)句 多行結(jié)構(gòu)條件語(yǔ)句是單行結(jié)構(gòu)條件語(yǔ)句的嵌套形式。 多行結(jié)構(gòu)條件語(yǔ)句由于有起始語(yǔ)句和終端語(yǔ)句,程序的結(jié)
41、構(gòu)性強(qiáng),所以也稱為塊結(jié)構(gòu)條件語(yǔ)句。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用80 4.1.3 IIf函數(shù) IIf函數(shù)可用來(lái)執(zhí)行簡(jiǎn)單的條件判斷操作,它和“IfThenElse”語(yǔ)句有類似的功能。格式為: Iif (, )其中“條件”是一個(gè)邏輯表達(dá)式。當(dāng)“條件”為真時(shí),IIf函數(shù)返回“True部分”,若“條件”為假,則返回“False部分”。這里“True部分”和“False部分”可以是表達(dá)式、變量或其他函數(shù)。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用81 4.1.4 多分支語(yǔ)句(Select Case語(yǔ)句) 在某些情況下,對(duì)某個(gè)條件判斷后可能出現(xiàn)多種取值的情況,需要使用多分支選擇結(jié)構(gòu)語(yǔ)句來(lái)完成。 在多分支結(jié)構(gòu)中,只有一個(gè)用于判
42、斷的表達(dá)式,根據(jù)表達(dá)式的不同計(jì)算結(jié)果,執(zhí)行不同的語(yǔ)句序列。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用82 4.2 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 程序設(shè)計(jì)中,循環(huán)是指從某處開(kāi)始有規(guī)律地重復(fù)執(zhí)行某一程序段的現(xiàn)象。被重復(fù)執(zhí)行的程序段稱為循環(huán)體。 VB提供了三種不同風(fēng)格的循環(huán)結(jié)構(gòu):計(jì)數(shù)循環(huán)(ForNext)當(dāng)循環(huán)(WhileWend)Do循環(huán)VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用83 4.2.1 For循環(huán) For循環(huán)也稱ForNext循環(huán),屬于計(jì)數(shù)型循環(huán),在程序中實(shí)現(xiàn)固定次數(shù)的循環(huán)。其格式為: For 循環(huán)變量=初值 To終值 Step步長(zhǎng) Exit For Next 循環(huán)變量VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用84 4.2.2 While循環(huán) Whi
43、le循環(huán)不是確定循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),是根據(jù)給定“條件”的成立與否決定程序的流程。其格式為: While Wend功能:如果“條件表達(dá)式”的值為True時(shí),則執(zhí)行循環(huán)中的“語(yǔ)句序列”,即循環(huán)體。 長(zhǎng)整型單精度浮點(diǎn)型 single VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用85 4.2.3 Do循環(huán) Do循環(huán)的格式有兩種,分別是: 格式1:Do Exit Do Loop While | Until格式2:Do While | Until Exit Do LoopVB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用86 4.2.4 多重循環(huán) 循環(huán)體內(nèi)含有循環(huán)語(yǔ)句的循環(huán)稱為多重循環(huán)。 VB有三種形式的循環(huán)語(yǔ)句,每種形式的循環(huán)內(nèi)部可以嵌套一層同類型
44、的循環(huán)語(yǔ)句,也可以嵌套一層其他類型的循環(huán)語(yǔ)句。 【例4-9】Do循環(huán)嵌套實(shí)例。執(zhí)行下面的程序,其結(jié)果如圖4-23所示。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用87 4.3 數(shù)組 數(shù)組是一組具有有序下標(biāo)的元素集合,可以用相同名字和確定的下標(biāo)來(lái)引用數(shù)組元素。 在VB中,數(shù)組的一般形式為:A(n),其中A代表數(shù)組名,n是下標(biāo)變量,一個(gè)數(shù)組可以含有若干個(gè)下標(biāo)變量 【例如】為了處理50名學(xué)生的計(jì)算機(jī)課程考試成績(jī),可以用A1,A2,A50來(lái)分別代表每位學(xué)生的分?jǐn)?shù) 在使用數(shù)組前要先定義。定義數(shù)組(也稱聲明數(shù)組)是為了確定數(shù)組的類型并給數(shù)組分配所需的存儲(chǔ)空間。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用88 For EachNext語(yǔ)句 F
45、or EachNext語(yǔ)句是一種專門用于對(duì)數(shù)組進(jìn)行操作的循環(huán)語(yǔ)句。其格式為:For Each In Exit For Next 功能:根據(jù)數(shù)組元素的個(gè)數(shù)重復(fù)執(zhí)行循環(huán)體中的語(yǔ)句。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用89 4.3.5 控件數(shù)組 如果在應(yīng)用程序中用到一些類型相同且功能相近的控件,則可以把它們視為特殊的數(shù)組控件數(shù)組。其特點(diǎn)為: 組成控件數(shù)組的元素是一組相同類型的控件,它們共用一個(gè)相同的控件名稱,擁有相同的Name屬性設(shè)置。 數(shù)組中的每個(gè)控件都有一個(gè)惟一的下標(biāo)索引號(hào)(Index Number)作為標(biāo)識(shí),下標(biāo)值由Index屬性指定。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用90 4.4 過(guò)程 VB應(yīng)用程序是由過(guò)程組
46、成的,使用過(guò)程是實(shí)現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)思想的重要方法。 除了事件過(guò)程外,VB還包括Sub過(guò)程(子程序過(guò)程)和Function過(guò)程(函數(shù)過(guò)程),通常稱其為“通用過(guò)程”,它可以單獨(dú)建立,供事件過(guò)程或其他通用過(guò)程調(diào)用。 Sub過(guò)程和Function過(guò)程 過(guò)程參數(shù)的傳遞和過(guò)程的嵌套。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用91 4.4.1 Sub 過(guò)程 在程序設(shè)計(jì)中,如果某個(gè)功能的程序段需要多次重復(fù)使用,可把這個(gè)程序段獨(dú)立出來(lái)組成一個(gè)程序,叫子程序,也稱為子過(guò)程。 通用Sub過(guò)程的結(jié)構(gòu)與事件過(guò)程的結(jié)構(gòu)類似。其格式為: Static Private Public Sub (參數(shù)表) Exit Sub End Sub VB
47、程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用92 4.4.2 Function 過(guò)程 VB允許用戶按一定規(guī)則自行設(shè)計(jì)一個(gè)專用的函數(shù),這就是函數(shù)過(guò)程(Function過(guò)程)。 Function過(guò)程與Sub過(guò)程主要區(qū)別僅在于Function過(guò)程必須返回一個(gè)值(通常出現(xiàn)在表達(dá)式中),而Sub過(guò)程卻無(wú)此限制。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用93 4.4.3 過(guò)程參數(shù)的傳遞 過(guò)程中的代碼有時(shí)需要某些有關(guān)程序執(zhí)行狀態(tài)的數(shù)據(jù)才能完成其操作,其中包括在調(diào)用過(guò)程時(shí)傳遞到過(guò)程內(nèi)的變量。當(dāng)變量傳遞到過(guò)程時(shí),稱變量為參數(shù)。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用94 4.5 變量與過(guò)程的作用域 模塊的劃分 VB應(yīng)用程序設(shè)計(jì)采用模塊化的設(shè)計(jì)原則,通常由三類模塊組
48、成: 窗體模塊 標(biāo)準(zhǔn)模塊 類模塊 圖4-48 VB應(yīng)用程序模塊層次結(jié)構(gòu) VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用95 4.5.2 變量的作用域 變量的作用范圍(作用域)指變量的有效范圍。 根據(jù)聲明變量的位置不同,可將變量分為: 過(guò)程級(jí)變量(Procedure level) 模塊級(jí)變量(Module level) 按照作用范圍分類 局部變量 全局變量VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用96 4.5.2 變量的作用域 變量的作用范圍(作用域)指變量的有效范圍。根據(jù)聲明變量的位置不同,可將變量分為: 過(guò)程級(jí)變量(Procedure level) 模塊級(jí)變量(Module level) VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用97 4.5.3
49、過(guò)程的作用域 1模塊級(jí)過(guò)程 模塊級(jí)過(guò)程是指在定義過(guò)程時(shí),在Sub或Function前加關(guān)鍵字Private,該過(guò)程只能被在本模塊(文件)中定義的過(guò)程調(diào)用。即其作用域?yàn)楸灸K(文件)。 2全局級(jí)過(guò)程 全局級(jí)(通用)過(guò)程是在定義過(guò)程時(shí),在Sub或Function前加關(guān)鍵字Public(可以默認(rèn))。全局級(jí)過(guò)程可被整個(gè)應(yīng)用程序所有模塊(文件)中定義的過(guò)程調(diào)用。即其作用域?yàn)檎麄€(gè)應(yīng)用程序(工程)。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用98 4.5.4 調(diào)用其他模塊中的過(guò)程 1調(diào)用窗體中的通用過(guò)程 所有窗體模塊的外部調(diào)用必須指向包含此過(guò)程的窗體模塊。如果在窗體模塊Forml中包含Somesub過(guò)程,則可使用下面的語(yǔ)句調(diào)
50、用Forml中的過(guò)程: Call Form1.Somesub(參數(shù)表)2調(diào)用標(biāo)準(zhǔn)模塊中的通用過(guò)程 如果過(guò)程名是惟一的,則不必在調(diào)用時(shí)加模塊名。無(wú)論是在模塊內(nèi),還是在模塊外調(diào)用,結(jié)果總會(huì)引用這個(gè)過(guò)程。如果有兩個(gè)以上的模塊都包含同名的通用過(guò)程,則有必要用模塊名來(lái)限定。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用99 4.6 常用算法與實(shí)例 算法是對(duì)某個(gè)問(wèn)題求解過(guò)程的描述。從計(jì)算一個(gè)圖形的面積,到一個(gè)大工程項(xiàng)目的管理,都需要對(duì)解決問(wèn)題的方法進(jìn)行科學(xué)的描述。對(duì)不同的問(wèn)題,采用不同的算法。 選擇排序算法實(shí)例exp4-23.vbp VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用100 習(xí)題4 4-8 編寫一個(gè)程序,通過(guò)Rnd函數(shù)隨機(jī)產(chǎn)生10個(gè)兩
51、位數(shù),在窗體上輸出,同時(shí)將其最大、最小及平均值也顯示在窗體上。解題思路: 利用Int(10 + Rnd * 90)以及For循環(huán)。4-9 編寫一個(gè)程序用來(lái)建立一個(gè)數(shù)組,并通過(guò)Rnd函數(shù)為每個(gè)數(shù)組元素賦一個(gè)099的整數(shù),然后在窗體上顯示所有小于50的隨機(jī)數(shù)。 解題思路: 利用Int(Rnd * 100)以及For循環(huán)。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用101 習(xí)題4 4-10 編寫一個(gè)用來(lái)統(tǒng)計(jì)某班級(jí)英語(yǔ)成績(jī)的程序 。解題思路: 利用InputBox( )函數(shù),If 語(yǔ)句以及Select Case語(yǔ)句。4-12 編寫Function過(guò)程 。 解題思路:利用循環(huán)。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用102第五章 內(nèi)部控
52、件及其應(yīng)用5.1 基本概念5.2 標(biāo)簽框5.3 文本框5.4 命令按鈕5.5 列表框5.6 組合框5.7 復(fù)選框5.8 單選按鈕5.9 圖形控件5.10 計(jì)時(shí)器5.11 滾動(dòng)條5.12 框架5.13 內(nèi)部控件應(yīng)用實(shí)例 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用1035.1 基本概念 控件是包括在窗體對(duì)象內(nèi)的對(duì)象。每種類型的控件都有自己的一套屬性、方法和事件,以適用于特定的目的。 控件分為兩類,一類為內(nèi)部控件(標(biāo)準(zhǔn)控件),另一類是 ActiveX 控件,VB 啟動(dòng)后工具箱中顯示的為內(nèi)部控件。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用104 5.2 標(biāo)簽框 標(biāo)簽框(label)是用來(lái)顯示文本的控件,在工具箱中,其圖標(biāo)樣式為 形狀的
53、工具按鈕。 5.2.1 標(biāo)簽框的常用屬性 1Alignment 屬性 2Autosize 屬性 3BorderStyle 屬性 4BackStyle 屬性 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用1055Caption 屬性 6Enabled 屬性 7FontName 屬性 8FontSize 屬性 9Height、Width、Left、Top 屬性標(biāo)簽框VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用1065.2.2 標(biāo)簽框的常用事件和方法 1Click 事件 2DblClick 事件 3Move 方法 格式為: Move left,top,width,height標(biāo)簽框VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用107標(biāo)簽框5.2.3 標(biāo)簽框應(yīng)用實(shí)
54、例 【例 5-1】 設(shè)計(jì)步驟:設(shè)計(jì)窗體界面及控件屬性。利用標(biāo)簽框的 MOVE 方法編寫程序代碼。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用108 文本框(TextBox)是用來(lái)輸入和顯示文本的控件。在工具箱中,其圖標(biāo)樣式為 形狀的工具按鈕。 5.3.1 文本框示例 5.3.2 文本框的常用屬性 1Locked 屬性 2MaxLength 屬性 5.3 文本框VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用109文本框 3MultiLine 屬性 4PassWordChar 屬性 5ScrollBars 屬性 6SelLength 屬性 7SelStart 屬性 8SelText 屬性 9Text 屬性 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用110文
55、本框 5.3.3 文本框的常用事件和方法 1Change 事件 2KeyPress 事件 3GotFocus 事件 4LostFocus 事件 5對(duì)象.SetFocus 方法 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用111文本框5.3.4 文本框應(yīng)用實(shí)例 【例 5-3】 設(shè)計(jì)步驟:設(shè)計(jì)窗體界面及控件屬性。在文本框的 KeyPress 事件過(guò)程中編寫程序代碼,其中 keyascii 是返回一個(gè)標(biāo)準(zhǔn)數(shù)字 ANSI 鍵代碼的整數(shù)。(ENTER 鍵的字符代碼為 13) VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用112 5.4 命令按鈕 命令按鈕是 VB 中最常用的控件,主要接收 Click 事件。在工具箱中,其圖標(biāo)樣式為 形狀的工具按
56、鈕。5.4.1 命令按鈕示例 5.4.2 命令按鈕的常用屬性 1Cancel 屬性 2Caption 屬性 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用113命令按鈕 3Default 屬性 4Picture 屬性 5Style 屬性 6Value 屬性 5.4.3 命令按鈕的常用事件和方法 命令按鈕沒(méi)有特殊的事件和方法,主要就是 Click 事件。 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用114命令按鈕5.4.4 命令按鈕應(yīng)用實(shí)例 【例 5-5】 設(shè)計(jì)步驟:設(shè)計(jì)窗體界面及控件屬性。在命令按鈕的 Click() 事件中應(yīng)用了LoadPicture 函數(shù),將圖形載入到命令按鈕的 Picture 屬性??紤]該題如采用控件數(shù)組,應(yīng)如何
57、編寫。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用115 5.5 列表框 列表框(ListBox)的作用是以列表的形式顯示一系列數(shù)據(jù),并接收用戶在其中選擇一個(gè)或多個(gè)列表項(xiàng)的控件。在工具欄中,其圖標(biāo)樣式為 形狀的工具按鈕。5.5.1 列表框示例5.5.2 列表框的常用屬性 1Columns 屬性 2ItemData 屬性 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用116列表框 3List 屬性 4Listcount 屬性 5ListIndex 屬性 6Style 屬性 7SelCount 屬性 8Selected 屬性 9Text 屬性 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用117列表框 5.5.3 列表框的常用事件和方法1列表框事件列表框事件主
58、要包括 Click、DblClick、GotFocus 和 LostFocus 等控件的通用事件。 2列表框方法 (1)AddItem 方法 (2)Clear 方法 (3)RemoveItem 方法 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用118列表框 5.5.4 列表框的應(yīng)用實(shí)例 【例 5-7】 設(shè)計(jì)步驟: 設(shè)計(jì)窗體界面及控件屬性。 在 Click() 事件過(guò)程中應(yīng)用 RemoveItem 和 AddItem 方法,實(shí)現(xiàn)列表框內(nèi)容的移動(dòng)。 通過(guò)列表框的 SelCount 屬性,判別所選項(xiàng)的數(shù)目。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用119 5.6 組合框組合框(ComboBox)是文本框和列表框的組合。在工具箱中,其圖標(biāo)
59、樣式為 形狀的工具按鈕。5.6.1 組合框示例 5.6.2 組合框的常用屬性 1Style 屬性 2Text5.6.3 組合框的常用事件和方法 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用120 5.7 復(fù)選框 復(fù)選框(CheckBox)又稱檢查框,一般用于表示狀態(tài)。 在工具箱中,其圖標(biāo)樣式為 形狀的工具按鈕。 5.7.1 復(fù)選框示例 5.7.2 復(fù)選框的常用屬性、事件和方法 1Alignment 屬性 2Value 屬性 VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用121 5.8 單選按鈕 單選按鈕用于建立一系列的選項(xiàng)供用戶選擇,一般情況是成組出現(xiàn)。在工具箱中,單選按鈕的圖標(biāo)樣式為 形狀的工具按鈕。5.8.1 單選按鈕的常用屬性、
60、事件和方法 1Value 屬性 2Enabled 屬性 5.8.2 應(yīng)用實(shí)例 應(yīng)用單選按鈕的Value 屬性確定性別。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用122 5.9 圖形控件 VB 6.0為用戶提供了多個(gè)圖形控件用于實(shí)現(xiàn)圖形的設(shè)計(jì)。主要包括:圖片框、圖像框、直線和形狀。5.9.1 圖片框和圖像框 圖片框(PictureBox)和圖像框(Image)是 VB 6.0 中用來(lái)放置圖形信息的兩種基本控件。在工具箱中,其圖標(biāo)樣式為 和 形狀的工具按鈕。VB程序設(shè)計(jì)與數(shù)據(jù)庫(kù)應(yīng)用123圖形控件5.9.2 圖片框和圖像框常用屬性、事件和方法 1常用屬性 (1)Align 屬性 (2)AutoSize 屬性 (3)P
溫馨提示
- 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年全球及中國(guó)大功率電主軸行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球3D細(xì)胞模型成像和分析系統(tǒng)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球無(wú)收銀員結(jié)賬解決方案行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025商業(yè)裙房買賣服務(wù)合同
- 銷售合同簽訂流程圖范本年
- 2025經(jīng)濟(jì)合同履約擔(dān)保的法律規(guī)定具體有些
- 蘋果購(gòu)銷合同書
- 國(guó)有股權(quán)轉(zhuǎn)讓合同
- 2025防水合同協(xié)議書范文
- 2025工程施工承包合同備案申報(bào)表(I)
- 慢性腎衰竭的護(hù)理課件
- 二年級(jí)數(shù)學(xué)上冊(cè)口算題100道(全冊(cè)完整)
- 四百字作文格子稿紙(可打印編輯)
- 冷軋工程專業(yè)詞匯匯編注音版
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡(jiǎn)歷
- 第一單元(金融知識(shí)進(jìn)課堂)課件
- 新概念二冊(cè)課文電子版
- 介入導(dǎo)管室護(hù)士述職報(bào)告(5篇)
- GB/T 37062-2018水產(chǎn)品感官評(píng)價(jià)指南
- 零件的工藝分析及毛坯選擇
- 三筆字講座(完整版)
評(píng)論
0/150
提交評(píng)論