版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2014年3月第一講:VisualBasic概述重點(diǎn):1、掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)的概念:對象、方法、屬性與事件2、事件驅(qū)動過程的程序設(shè)計(jì)原理3、介紹VB集成開發(fā)環(huán)境4、VB開發(fā)環(huán)境的基本操作1.1VisualBasic簡介?具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具?事件驅(qū)動的編程機(jī)制?提供了易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境?結(jié)構(gòu)化的程序設(shè)計(jì)語言?支持多種數(shù)據(jù)庫的訪問?支持DDE、DLL、OLE技術(shù)?完備的Help聯(lián)機(jī)幫助功能1.2面向?qū)ο蟮某绦蛟O(shè)計(jì)方法基礎(chǔ)2. 對象及對象類:動作體的邏輯模型,稱為“對象”屬性:屬性是用來描述對象的特性。3. 方法:方法指對象可以進(jìn)行的動作或行為。VB對象具有屬性、方法和事件
2、。屬性是描述對象的數(shù)據(jù);方法告訴對象應(yīng)做的事情;事件是對象所產(chǎn)生的事情,事件發(fā)生時可以編寫代碼進(jìn)行處理。VB的窗體和控件是具有自己的屬性、方法和事件的對象??梢园褜傩钥醋饕粋€對象的性質(zhì),把方法看作對象的動作,把事件看作對象的響應(yīng)。日常生活中的對象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些性質(zhì),如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)(充氣的或未充氣的)或不可見的性質(zhì),如它的壽命。通過定義,所有氣球都具有這些屬性;這些屬性也會因氣球的不同而不同。氣球還具有本身所固有的方法與動作。如:充氣方法(用氦氣充滿氣球的動作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣
3、球飛走)。所有的氣球都具備這些能力。1.3基于Windows環(huán)境下的應(yīng)用程序的工作方式事件驅(qū)動在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時調(diào)用過程。在事件驅(qū)動的應(yīng)用程序中,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同的事件時執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運(yùn)行時所經(jīng)過的代碼的路徑都是不同的。因?yàn)槭录捻樞蚴菬o法預(yù)測的,所以在代碼中必須對執(zhí)行時的“各種狀態(tài)”作
4、一定的假設(shè)。當(dāng)作出某些假設(shè)時(例如,假設(shè)在運(yùn)行來處理某一輸入字段的過程之前,該輸入字段必須包含確定的值),應(yīng)該組織好應(yīng)用程序的結(jié)構(gòu),以確保該假設(shè)始終有效(例如,在輸入字段中有值之前禁止使用啟動該處理過程的命令按鈕)。在執(zhí)行中代碼也可以觸發(fā)事件。例如,在程序中改變文本框中的文本將引發(fā)文本框的Change事件。如果Change事件中包含有代碼,則將導(dǎo)致該代碼的執(zhí)行。如果原來假設(shè)該事件僅能由用戶的交互操作所觸發(fā),則可能會產(chǎn)生意料之外的結(jié)果。正因?yàn)檫@一原因,所以在設(shè)計(jì)應(yīng)用程序時理解事件驅(qū)動模型并牢記在心是非常重要的。在VB中事件的調(diào)用形式是:PrivateSub對象名_事件名(事件內(nèi)容)EndSub1
5、.4VisualBasic的集成開發(fā)環(huán)境VB集成開發(fā)環(huán)境(IDEIntegratedDevelopingEnvironment)由以下元素組成:1 .標(biāo)題欄用于顯示正在開發(fā)或調(diào)試的工程名和系統(tǒng)的工作狀態(tài)(設(shè)計(jì)態(tài)、運(yùn)行態(tài)、中止態(tài))。.菜單欄用于顯示所使用的VisualBasic命令。VB6.0標(biāo)準(zhǔn)菜單包括:2 .工具欄在編程環(huán)境下用于快速訪問常用命令。缺省情況下,啟動VB后顯示“標(biāo)準(zhǔn)”工具欄,附加的編輯、窗體設(shè)計(jì)和調(diào)試的工具欄可以從“視圖”菜單上的“工具欄”命令中移進(jìn)或移出。3 .窗體設(shè)計(jì)器用來設(shè)計(jì)應(yīng)用程序的界面。啟動VB后,窗體設(shè)計(jì)器中自動出現(xiàn)一個名為Form1的空白窗體,可以在該窗體中添加控
6、件、圖形和圖片等來創(chuàng)建所希望的外觀,窗體的外觀設(shè)計(jì)好后,從菜單中選擇“文件”7“保存窗體”t在保存對話框中給出合適的文件名(注意擴(kuò)展名),并選擇所需的保存位置T確定。需要再設(shè)計(jì)另一個窗體時,單擊工具欄上的“添加窗體”按鈕即可。4 .控件(工具)箱由一組控件按鈕組成,用于設(shè)計(jì)時在窗體中放置控件。除了缺省的工具箱布局之外,還可以通過從上下文菜單中選定“添加選項(xiàng)卡”并在結(jié)果選項(xiàng)卡中添加控件來創(chuàng)建自定義布局。6.彈出式(上下文)菜單在要使用的對象上單擊鼠標(biāo)右鍵即可打開快捷菜單,其上會出現(xiàn)與當(dāng)前對象相關(guān)的經(jīng)常執(zhí)行的操作,以加快操作速度。7 .工程管理器窗口用于瀏覽工程中所包含的窗體和模塊,還可以從中查看
7、代碼、查看對象。8 .屬性窗口是VB中一個比較復(fù)雜的窗口,其中列出了對選定窗體和控件的屬性設(shè)置值。VB中正是通過改變屬性來改變對象的特征,如大小、標(biāo)題或顏色。9 .對象瀏覽器列出工程中有效的對象,并提供在編碼中漫游的快速方法。可以使用“對象瀏覽器”瀏覽在VB中的對象和其它應(yīng)用程序,查看對那些對象有效的方法和屬性,并將代碼過程粘貼進(jìn)自己的應(yīng)用程序。I 0.對象瀏覽器右擊窗體中的對象、從工程管理器中點(diǎn)“查看代碼”按鈕。II .窗體布局窗口FormLayoutwindow允許使用表示屏幕的小圖象來布置應(yīng)用程序中各窗體的位置。12.立即、本地和監(jiān)視窗口這些附加窗口是為調(diào)試應(yīng)用程序提供的,它們只在IDE
8、之中運(yùn)行應(yīng)用程序時才有效。1.5創(chuàng)建VB應(yīng)用程序的一般步驟一個VB程序也稱為一個工程,由窗體、標(biāo)準(zhǔn)模塊、自定義控件及應(yīng)用所需的環(huán)境設(shè)置組成。開發(fā)步驟一般如下:創(chuàng)建程序的用戶界面設(shè)置界面上各個對象的屬性編寫對象響應(yīng)事件的程序代碼保存工程測試應(yīng)用程序,排除錯誤創(chuàng)建可執(zhí)行程序?硬件環(huán)境:486以上處理器、16MB以上內(nèi)存、50MB以上的硬盤空間、CD-ROM驅(qū)動器、鼠標(biāo)等?軟件環(huán)境:Windows95或indowsNT3.51以上版本?初次安裝:1)啟動Windows952)插入具有VB6.0系統(tǒng)的光盤3)運(yùn)行VB6.0安裝程序Setup.exe4)選擇典型安裝”或自定義安裝”或最小安裝”?添加或刪
9、除VB6.0部件:1)插入具有VB6.0系統(tǒng)的光盤2)運(yùn)行開始/設(shè)置/控制面板”3)雙擊控制面板中的添加刪除程序”圖標(biāo)4)選擇其中的“VisualBasic6.0選項(xiàng)”?啟動桌面:開始/程序/VisualBasic6.0建立快捷方式,雙擊圖標(biāo)?退出選擇文件菜單下的退出命令單擊窗口關(guān)閉按鈕舉例:1啟動VB,開始新工程2創(chuàng)建程序的用戶截面3加入程序代碼4保存工程文件5運(yùn)行和調(diào)試應(yīng)用程序,檢查并排除程序中的錯誤6生成可執(zhí)行程序7打印窗體和代碼第二講常用控件與界面設(shè)計(jì)重點(diǎn):1、掌握窗體常用的屬性、方法與事件,重點(diǎn)掌握窗體的Print方法的使用2、掌握標(biāo)簽、文本框、命令按鈕等控件的常用屬性、方法、事件1
10、創(chuàng)建窗體補(bǔ)充內(nèi)容:調(diào)整窗體布局生成可執(zhí)行文件2.2VB的常用控件(P19)概述:控體是用來進(jìn)行用戶界面設(shè)計(jì)的可視化部件。常用的VB6控件一覽表P20常用控件:P21(1)文本框(TextBox):用于接收用戶在框內(nèi)輸入的信息或顯示由程序提供的信息。文本框在工具箱中的圖標(biāo)P25;在窗體中的形式屬性:名稱:文本框名稱。命名規(guī)則同窗體名。(通常以Txt”作為前綴。)Text:文本屬性。該屬性的值為用戶從文本框中輸入的內(nèi)容。PasswordChar:口令屬性。設(shè)置是否可以看到用戶從文本框中輸入的文本內(nèi)容。取值:空字符串:(默認(rèn)值):可以看到輸入的字符。某一字符:用戶每輸入一個字符,文本框內(nèi)就出現(xiàn)一個該
11、字符。MaxLength:最大長度屬性。設(shè)置文本框的Text屬性中所能放入的字符總個數(shù)。取值:0:(默認(rèn)值)。132KB。MultiLine:多行屬性。設(shè)置用戶是否可在文本框內(nèi)輸入多行文本。取值:True:可多行輸入。False:(默認(rèn)值)只能單行輸入。Alignment:對齊屬性。設(shè)置文本框內(nèi)的文本內(nèi)容的對齊方式。取值:0:(默認(rèn)值)靠左對齊。1 :靠右對齊。2 :居中對齊。說明:本屬性只在MultiLine為True時有效。TabStop:Tab鍵屬性。設(shè)置是否可用Tab鍵來移動焦點(diǎn)到另一個對象上。取值:True:(默認(rèn)值)可以。False:不可以。其它屬性類似窗體。方法:Refresh:
12、刷新。SetFocus:設(shè)置焦點(diǎn)。通過本方法,可以使光標(biāo)指向指定的文本框。事件:Change:當(dāng)文本框的內(nèi)容發(fā)生變化時,就引發(fā)本事件。LostFocus:當(dāng)光標(biāo)離開文本框時,弓I發(fā)本事件。Keypress:當(dāng)用戶按下或松開鍵盤上某個按鍵時,發(fā)生本事件。(2)標(biāo)簽:(Label)主要用于在窗體上增加文字說明。屬性:名稱:標(biāo)簽名稱。(通常以Lbl”作為前綴。)Caption:標(biāo)題屬性。本屬性的值為顯示在標(biāo)簽上的內(nèi)容。AutoSize:大小自適應(yīng)屬性。即標(biāo)簽的大小是否隨著標(biāo)題內(nèi)容的多少而自動變化。取值:True:是。False:(默認(rèn)值)否。FontName:字體名稱。設(shè)置在標(biāo)簽內(nèi)顯示的文本的字體名
13、稱。方法:Refresh:刷新。Move:移動。事件:Click:單擊事件。DbICIick:雙擊事件。(3)命令按鈕:(commandbutton):用戶用鼠標(biāo)單擊命令按鈕,表示要執(zhí)行某項(xiàng)功臺匕冃匕。屬性:名稱:(通常以Cmd作為前綴。)Caption:標(biāo)題。其值就是在命令按鈕上顯示的文本。Default:設(shè)定此命令按鈕是否為窗體的默認(rèn)按鈕。取值true:在窗體啟動(Active)后,按Enter鍵馬上就會執(zhí)行的命令按鈕。(同一窗體中只能有一個命令按鈕的此項(xiàng)屬性值為true)False:否。Enabled:設(shè)定命令按鈕是否可用。取值true:(默認(rèn)值):可用。false:不可用。(命令按鈕呈
14、灰色)事件:click:單擊事件方法:SetFocus:命令按鈕經(jīng)過SetFocus方法后,將取得焦點(diǎn)。(用戶此時按回車鍵將會執(zhí)行此命令按鈕。)(4)復(fù)選框:(checkbox):用來設(shè)定程序的執(zhí)行狀態(tài)。屬性:名稱:(通常以Chk”作為前綴。)caption:標(biāo)題,顯示在復(fù)選框的右方,指明此復(fù)選框所代表的功能。Value:表示復(fù)選框在執(zhí)行時的三種狀態(tài)。取值:0:不復(fù)選,執(zhí)行時無勾。1 :復(fù)選,執(zhí)行時有勾。2 :灰色,表示用戶不能修改這個設(shè)定值,只能看到它目前狀態(tài)。事件:click:單擊事件。方法:Move:Refresh(5)選項(xiàng)按鈕:(optionbutton)用來設(shè)定程序的執(zhí)行狀態(tài)。屬性:
15、名稱:(通常以O(shè)pt”作為前綴。)caption:標(biāo)題alignment:設(shè)置標(biāo)題文本的對齊方式。1 取值:0:(默認(rèn)值)靠左對齊:靠右對齊2:靠中對齊value:其值決定該選項(xiàng)按鈕是否被選中。取值:true:表示此選項(xiàng)按鈕被選中。False:表示此選項(xiàng)按鈕沒選中。說明:一個窗體或一個框架內(nèi)的選項(xiàng)按鈕只能有一個被選中,(不同框架內(nèi)的選項(xiàng)按鈕互不干擾)若用戶不設(shè)定哪一個選項(xiàng)按鈕的值為true,則系統(tǒng)指定第一個選項(xiàng)按鈕的value值為true。事件:click:單擊。方法:Move:Refresh(6)框架:(frame)可以用框架控件將其它各自獨(dú)立的控件(一般指復(fù)選框、選項(xiàng)按鈕等)組合在一組中。
16、如實(shí)驗(yàn)指導(dǎo)書P13、P16。屬性:名稱captiontopleftwidthheightfontforecolor等等clickdblclick等等1、在使用框架控件將其它控件分組時必須先繪制框架控件,后繪制其中2、在一個框架內(nèi)的控件可以進(jìn)行整體的激活、屏蔽、移動等等。3、在同一個窗體中的多個選項(xiàng)按鈕,只有一個可以被選中,但在窗體中可以用框架將選項(xiàng)按鈕分類,在同一框架內(nèi)的多個選項(xiàng)按鈕中只有一個可以被選取。不同框架內(nèi)的選項(xiàng)按鈕彼此互不干擾。4、要將控件畫在框架之中,不能雙擊控件,因?yàn)槟菢訉⑹箍丶丿B在框架的上面,必須單擊工具圖標(biāo),然后在框架內(nèi)拖動后釋放,這樣的所畫的控件在框架之中。事件:說明:的
17、控件。第三講常用控件與界面設(shè)計(jì)重點(diǎn):1、掌握列表框、組合框、選項(xiàng)按鈕、復(fù)選按鈕、滾動條等控件的常用的屬性、方法、事件2、掌握菜單的設(shè)計(jì)(7)列表框(ListBox):用于列出可供用戶選擇的項(xiàng)目列表。用戶可以從中選擇一個或多個項(xiàng)目。屬性:名稱:(通常以List”作為前綴。)List:列表屬性。用于保存列表的內(nèi)容。List實(shí)際上是一個一維數(shù)組,數(shù)組中元素的值,就是在執(zhí)行時看到的列表項(xiàng)(item)一維數(shù)組:List中有5個元素,List(O),ListList(2),List(3)丄ist(4)列表項(xiàng)文本List(0)=68List(1)=78List(2)=88List(3)=80List(4)=
18、76數(shù)組名:列表項(xiàng)文本List列表項(xiàng)序號:0,1,2,K(數(shù)組元素值)分別為:68783,4,8880(從0開始)76Listcount:列表框內(nèi)所有選項(xiàng)的總數(shù),也就是List()數(shù)組元素的總個數(shù)。ListIndex:用戶最后單擊的列表項(xiàng)在List()數(shù)組中的編號順序。(無選中時其值為-1)Text:列表項(xiàng)的正文。其值為最后選中的列表項(xiàng)的文本。請記住如下關(guān)系:對象名稱.List(ListIndex)=TextColumns:列表框顯示形式。設(shè)定Listbox的列表項(xiàng)若超過顯示范圍時,其卷動方式使用垂直滾動條或是水平滾動條。取值:0:(默認(rèn)值)使用垂直滾動條。逐行顯示列表項(xiàng),可能有垂直滾動條。1
19、n:使用水平滾動條。此時列表框內(nèi)一次可顯示的列數(shù)(Column)即為n值。MultiSelect:設(shè)定是否允許用戶多重選取對象的列表項(xiàng)取值:0:不能多重選取。(默認(rèn)值)1:簡易多重選取。(用鼠標(biāo)或空格鍵來選取,一次一個)2:高級多重選取??捎胹hift:或Ctrl:來選取。(類似文件選取)Selected:設(shè)定列表項(xiàng)是否被選取的狀態(tài)。它是一個與List大小相同的數(shù)組。其中各元素的取值:True:被選取。False:不被選取。(默認(rèn)值)Sorted:排序?qū)傩?。設(shè)定列表項(xiàng)是否要照ASCII代碼排序。(字母順序)取值:True:是(不區(qū)分大小寫)False:否。(默認(rèn)值)方法:(P28)Addite
20、m:添加列表項(xiàng)。格式:對象名稱.Addltem,插入位置序號說明:1、若不指定位置,則插入到列表項(xiàng)末尾。2、新列表項(xiàng)插入后,原來位置及其后的列表項(xiàng)順序下移。Clear:刪除列表所有項(xiàng)目。Removeitem:刪除列表項(xiàng)。格式:對象名稱.Removeitem刪除項(xiàng)序號事件:Click:單擊事件。Dblick:雙擊事件(使用較少)應(yīng)掌握:1如何添加或刪除列表框中的列表項(xiàng)?方法一:在設(shè)計(jì)態(tài):定制List屬性。(向列表中添加列表時,按Ctrl:+Enter換行。)方法二:在程序代碼中:用Addltem,Removeltem等方法進(jìn)行。2.如何知道目前用戶所選取的列表項(xiàng)和目前列表框中的列表項(xiàng)數(shù)目?用戶目
21、前所選的列表項(xiàng):Text的值。目前列表框中的列表項(xiàng)數(shù)目:ListCount的值。(8)組合框(comboBoR:將文本框和列表框結(jié)合在一起,在列表框中所選項(xiàng)目的文本會自動填入文本框。(與列表框相比,組合框一次只能選取一個列表項(xiàng))工具箱中的圖標(biāo)P25;在窗體中的形式屬性:同Listbox有:List,ListCount,Listindex,Text,Sorted等等。Style:外觀屬性。設(shè)置組合框的類型和功能。取值:(實(shí)驗(yàn)指導(dǎo)書P40)0:(默認(rèn)值)系統(tǒng)將創(chuàng)建一個帶有下拉式列表框的組合框。稱為組合下拉式的組合框。它的下拉式窗體不是一直顯示的。(如word中字體大小選擇框),此狀態(tài)下用戶可將所內(nèi)
22、容直接輸入到文本框中。1:系統(tǒng)創(chuàng)建一個由文本框和列表框直接結(jié)合在一起的簡單組合框。稱為組合式的組合框。它的下拉式窗體是一直顯示的。女口:word中字體菜單對話框中的字體、字號對話內(nèi)容。2:系統(tǒng)創(chuàng)建一個沒有文本框的下拉式列表框。單擊列表框右側(cè)的按鈕,文本框才會顯示出來。稱為單純下拉式的組合框。此狀態(tài)下用戶不可在文本框中輸入,只能在列表中選擇。且下拉式窗體也不是一直顯示的。Text:文本屬性。其取值為用戶從列表框中選定的文本內(nèi)容或直接輸入文本框中的內(nèi)容。事件:對不同類型的組合框,響應(yīng)的事件是不相同的。對于0,2類型的組合框:單擊事件。對于1類型的組合框:雙擊事件。帶有文本框的0,1組合框:在編輯文
23、本時可引發(fā)Change事件。說明:1、用戶若只需要使用單選的列表框,則可用組合框來代替。2、如何添加或刪除組合框中的列表項(xiàng)?(方法:同列表框)3、如何知道用戶目前所選取或輸入的列表項(xiàng)是什么?由于組合框不允許多重選取,所以,Text屬性值為內(nèi)容;Listindex屬性值為序號。方法:同列表框。圖像:(image):主要用于圖像的顯示、放大、縮小等靜態(tài)顯示圖像場合。圖像框中不能容納其他控件、也不能繪制圖形和顯示文本。而圖片控件框中可以。圖像在工具箱中的圖標(biāo)P25;在窗體中的形式屬性:名稱:visible:設(shè)置此對象在執(zhí)行時是否看得見。取值:True:(默認(rèn)值)看得見。False:隱藏。enable
24、d:可用否。picture:設(shè)定圖像框中代表的圖片名稱。其值在設(shè)定時的格式為:盤符路徑圖片文件名(.ico圖標(biāo)文件.bmp位圖文件)stretch:用來決定圖像控件的大小是否要隨著所載入圖片的大小而變化。取值:trueFalse:隨圖片的大小而變化。:(默認(rèn)值)不隨圖片的大小而變化。事件:類似窗體。方法:MoveRefresh(10)圖片:(picturebox):不僅可以裝入圖像,還可以在它上面繪制各種圖形和顯示正文、放置控件(類似框架控件)。圖片在工具箱中的圖標(biāo)P25;在窗體中的形式水平滾動條(horizontalscrollbar)、垂直滾動條(verticalscrollbar):滾動
25、條:用來附加在那些不能自動支持滾動的|應(yīng)用程序或控件中水平滾動或垂直滾動查閱大量信息。一般出現(xiàn)在文本框、列表框右邊;用來調(diào)整數(shù)據(jù)或選擇輸入。|(如word中字體、段落對話框中)滾動條在工具箱中的圖標(biāo)P25;在窗體中的形式屬性:(實(shí)驗(yàn)指導(dǎo)書P18)名稱:(通常以Hsb”“Vsb”作為前綴。)Max/Min:定義了Value屬性值所能出現(xiàn)的最大值和最小值。說明:1、一開始使用滾動條時,Max為32768,Min為0。Min;水平2、水平滾動條位于最左邊時、垂直滾動條位于最上邊時為滾動條位于最右邊時、垂直滾動條位于最下邊時為Max。Value:滾動條目前所在位置所對應(yīng)的數(shù)值。|(也可在代碼中設(shè)定。)
26、LargeChange:當(dāng)用戶在滾動塊的上方、下方(左方、右方)單擊時Value所增加的值。默認(rèn)值為1。SmallChang:當(dāng)用戶在滾動條兩端的箭頭按鈕上單擊時Value所增加的值。默認(rèn)值為1。事件:Change:在滾動塊移動后(即Value值改變時)發(fā)生。例如,可用一個滾動條的Change事件過程更新一個TextBox控件中滾動條的Value屬性的設(shè)置?;蛘呖梢岳肅hange事件過程在一個工作區(qū)里顯示數(shù)據(jù)和公式,在另一個區(qū)域里顯示結(jié)果。Scroll:在拖動滾動塊時發(fā)生。單擊滾動箭頭或滾動條時不發(fā)生。方法:Move:用以移動滾動條。Refresh:強(qiáng)制全部重繪一個滾動條。SetFocus:
27、設(shè)置焦點(diǎn)。將焦點(diǎn)移至指定的滾動條上。時間:(timer)(計(jì)時器):用來實(shí)現(xiàn)與時間有關(guān)的功能。時間控件在工具箱中的圖標(biāo)P25;在窗體中的形式屬性:名稱:enabledinterval用來設(shè)定引發(fā)timer事件過程的間隔時間,單位為1/1000秒。事件:(時間控件只有一個事件)timer:它會按照interval所設(shè)定的時間定時引發(fā)。說明:時間控件的使用方法:1 .在form上放置一個時間對象。2 在屬性窗口中設(shè)定其interval屬性。2. 填寫timer事件的程序內(nèi)容,當(dāng)程序開始執(zhí)行后,將不會看到它的圖標(biāo),每隔interval定義的時間內(nèi),程序會觸發(fā)一次timer事件。時間控控件應(yīng)用舉例:w
28、indows中計(jì)時器,word中的定時保存文件,定時更新屏幕畫面(屏幕保護(hù)程序)等等。第四講數(shù)據(jù)表達(dá)式與簡單程序設(shè)計(jì)本講內(nèi)容及要求:1熟悉VB程序中代碼和語句書寫規(guī)則;2掌握VB的數(shù)據(jù)類型;掌握VB的運(yùn)算符和表達(dá)式的使用;4掌握常用內(nèi)部函數(shù)的使用;本章重點(diǎn):變量和常量的定義及使用、運(yùn)算符和表達(dá)式的使用及常用內(nèi)部函數(shù)的使用。本章難點(diǎn):數(shù)據(jù)類型、內(nèi)部函數(shù)。4.1程序代碼的組織方式一個VB程序由窗體界面和程序代碼兩部組成,通過程序代碼把窗口界面的各個對象以及應(yīng)用中的其它元素聯(lián)系在一起。程序代碼部分則由若干被稱為過程”的代碼行及向系統(tǒng)提供某些信息的說明組成。過程及說明又被組織在模塊”之中。將設(shè)計(jì)的過程
29、代碼及相關(guān)說明合理地組織到不同的模塊之中,也就是設(shè)計(jì)代碼的結(jié)構(gòu),在創(chuàng)建VB應(yīng)用程序時是最為重要的一個步驟。一過程所謂過程”就是具有特定書寫格式、包含若干可被作為一個整體執(zhí)行的代碼的組合。根據(jù)執(zhí)行方式,可把過程”分為事件過程”和通用過程”兩類。二模塊模塊是VB用于將不同類型過程代碼組織到一起而提供的一種結(jié)構(gòu)。在VB中具有三種類型的模塊:窗體模塊標(biāo)準(zhǔn)模塊類模塊。4.2.VB代碼書寫規(guī)則(1)程序中不區(qū)分字母的大小寫,Ab與AB等效;(2)系統(tǒng)對用戶程序代碼進(jìn)行自動轉(zhuǎn)換:1)對于VB中的關(guān)鍵字,首字母被轉(zhuǎn)換成大寫,其余轉(zhuǎn)換成小寫2)若關(guān)鍵字由多個英文單詞組成,則將每個單詞的首字母轉(zhuǎn)換成大寫3)對于用
30、戶定義的變量、過程名,以第一次定義的為準(zhǔn),以后輸入的自動轉(zhuǎn)換成首次定義的形式(1)在同一行上可以書寫多行語句,語句間用冒號(:)分隔(2)單行語句可以分多行書寫,在本行后加續(xù)行符:空格和下劃線_(3)一行允許多達(dá)255個字符4.3VB的數(shù)據(jù)類型4.3.1.數(shù)據(jù)類型1VB的標(biāo)準(zhǔn)數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字類型符前綴存儲空間范圍數(shù)值數(shù)據(jù)類型字節(jié)型ByteByt1個字節(jié)0到255整型nteger%Int2個字節(jié)-32,768到32,767長整型Long&Lng4個字節(jié)-2,147,483,648到2,147,483,647單精度型Single!Sng4個字節(jié)負(fù)數(shù):-3.402823E38到-1.40129
31、8E-45;正數(shù):1.401298E-45至U3.402823E38雙精度型Double#Dbl8個字節(jié)負(fù)數(shù):-1.79769313486232E3084.94065645841247E-324;正數(shù):4.94065645841247E-3241.79769313486232E308貨幣型CurrencyCur8個字節(jié)從-922,337,203,685,477.5808到922,337,203,685,477.5807邏輯型BooleanBln2個字節(jié)True或False日期型DateDtm8個字節(jié)100年1月1日到9999年12月31日對象型ObjectObj4個字節(jié)任何Object引用變長
32、字符型String$Str10字節(jié)加字符串長度0到大約20億定長字符型String$Str字符串長度1到大約65,400變體數(shù)字型VariantVnt16個字節(jié)任何數(shù)字值,最大可達(dá)Double的范圍變體字符型VariantVnt22個字節(jié)加字符串與變長String有相同的范圍長度注意:1)VB中對沒有聲明的變量其缺省的數(shù)據(jù)類型是變體型,可以用來存儲各種數(shù)據(jù),但所占用的內(nèi)存比其它類型都多。為提高運(yùn)行效率(整型效率較高),或達(dá)到一定的運(yùn)算精確度(浮點(diǎn)型精度較高,但運(yùn)行較慢),應(yīng)合理的定義數(shù)據(jù)類型。2) 邏輯型數(shù)據(jù)只有True和False兩個值,轉(zhuǎn)換成整型時,True=-1,F(xiàn)alse=O,將其它類
33、型轉(zhuǎn)換成邏輯型時,非0數(shù)轉(zhuǎn)換為True,0轉(zhuǎn)換為False。3) 字符型可以包括所有的西文字符和漢字,字符必須用雙引號括起來,如:abc1234) 日期型數(shù)據(jù)按8字節(jié)的浮點(diǎn)數(shù)來存儲,日期型數(shù)表示方式有兩種:可以用號碼符#括起來,也可以用數(shù)字序列表示(小數(shù)點(diǎn)左邊的數(shù)字代表日期,右邊代表時間,0為午夜,0。5為中午12點(diǎn),負(fù)數(shù)表示是1899年12月31日前的日期和時間)。如:#3/22/2002#2002-3-2214:30:20#DimTAsDateT=-2.5PrintT打印出來的結(jié)果是1899-12-2812:00:005)任何數(shù)據(jù)類型的數(shù)組都需要20個字節(jié)的內(nèi)存空間,加上每一數(shù)組維數(shù)占4個
34、字節(jié),再加上數(shù)據(jù)本身所占用的空間。數(shù)據(jù)所占用的內(nèi)存空間可以用數(shù)據(jù)元數(shù)目乘上每個元素的大小加以計(jì)算。例如,以4個2字節(jié)之Integer數(shù)據(jù)元所組成的一維數(shù)組中的數(shù)據(jù),占8個字節(jié)。這8個字節(jié)加上額外的24個字節(jié),使得這個數(shù)組所需總內(nèi)存空間為32個字節(jié)。2. 變量與常量(1)變量或常量的命名規(guī)則1)必須以字母或漢字開頭,由字母、漢字、數(shù)字或下劃線組成,長度w255個字符;2)不能使用VB中的關(guān)鍵字,并盡量不與VB中標(biāo)準(zhǔn)函數(shù)名同名;如:Dim、Sin3)VB中不區(qū)分變量的大小寫,一般變量首字母用大寫,其余用小寫;常量全部用大寫字母表示4) 為了增加程序的可讀性,可在變量名前加一個縮寫的前綴來表明該變量
35、的數(shù)據(jù)類型。(2)變量聲明1)用Dim語句進(jìn)行顯式聲明語句形式:Dim變量名As類型如:DimintXAsinteger說明:如果沒有As類型,則默認(rèn)為變體類型??稍谧兞棵蠹宇愋头麃泶鍭s類型如:DimintX%一條語句可以同時定義多個變量,但每個變量必須有自己的類型聲明,類型聲明不能共用;字符串變量根據(jù)其存放的長度是否固定,定義方法不同:定長字符串:DimstrAAsString*10表示最多存放10個字符,如果賦值不足10個,則右補(bǔ)空;若多于10個,則多余部分截去。不定長字符串:DimstrAAsString最多可存放2MB個字符2)隱式聲明VB中允許變量不經(jīng)過聲明就直接使用,這種稱為
36、隱式聲明,所有隱式聲明的變量都是變體型的。隱式聲明容易造成錯誤,為了調(diào)試程序方便,一般對使用的變量都進(jìn)行聲明,可以在通用聲明段使用OptionExplicit語句來強(qiáng)制顯式聲明所有變量。(3)常量1)直接常量指在程序中直接給出值的數(shù)據(jù),如:123、123&、123.45、1.234E2、123D3分別表示整型、長整型、單精度浮點(diǎn)型(小數(shù)形式)、單精度浮點(diǎn)型(指數(shù)形式)、雙精度浮點(diǎn)型。八進(jìn)制常數(shù):在數(shù)值前加&O,女口&O123十六進(jìn)制常數(shù):在數(shù)值前加&H,如&H1232)用戶聲明的符號常量符號常量名As類型=表聲明了?!甭暶髁顺A縈AX,代表八用Const來聲明:Const達(dá)式如:ConstPl
37、=3.14159量PI,代表3.14159,單精度型ConstMAXAsInteger=&O144進(jìn)制數(shù)144,整型聲明了常量ConstCOUNT#=45.67COUNT,代表45.67,雙精度型3)系統(tǒng)提供的常量系統(tǒng)定義的常量位于對象庫中,在對象瀏覽器中的VisualBasic(VB)和VisualBasicforAplication(VBA)等對象庫中列出了VB的常量。這些常量可以與應(yīng)用程序的對象、方法、屬性一起使用。女口:Form1.WindowsState=vbMaximized表示將窗口極大化。3. 變量作用域與變量說明語句1)變量作用域變量的有效作用范圍稱為變量作用域。VB有以下三
38、個作用域等級,見表3:等級范圍局部在過程中說明,僅在說明它的過程有效窗體/模塊在窗體或模塊中說明,在定義該變量的模塊或窗體的所有過程內(nèi)均有全局(公有)效在模塊或窗體中說明,在工程內(nèi)的所有過程中都有效4.4運(yùn)算符與表達(dá)式運(yùn)算符的功能及優(yōu)先級表達(dá)式的書寫及運(yùn)算規(guī)則VB中的運(yùn)算符和表達(dá)式可分為:算術(shù)運(yùn)算符與算術(shù)表達(dá)式、關(guān)系運(yùn)算符與關(guān)系表達(dá)式、邏輯運(yùn)算符與邏輯表達(dá)式4.4.1算術(shù)運(yùn)算符VB的算術(shù)運(yùn)算符有以下幾種:A乘方負(fù)號*乘/除整除加法運(yùn)算,也適合于字符余的之間的合+力口令并運(yùn)算。減*:加法運(yùn)算。*乘法運(yùn)算。*/除法運(yùn)算。整除運(yùn)算。Mod:求余運(yùn)算。例如:aModb表示a被b整除以后的余數(shù)。A:幕運(yùn)
39、算。AAB表示以A為底的B次方。把常量、變量等運(yùn)算元素用算術(shù)運(yùn)算符連接起來的式子稱為算術(shù)表達(dá)式”。例如:a*b/(c*d)3.14159265*人2等帶有括號的算術(shù)表達(dá)式在運(yùn)算時將優(yōu)先進(jìn)行括號內(nèi)的運(yùn)算注意:(1)/和的區(qū)別:1/2=0.5,12=0(2)Mod運(yùn)算中,結(jié)果與被除數(shù)同號例如:-9Mod7結(jié)果為-2字符串運(yùn)算符與字符串表達(dá)式字符串運(yùn)算符有:&、+。功能是字符串連接例如:ABCD+EFGHI結(jié)果為:ABCDEFGHIVB&”程序設(shè)計(jì)教程結(jié)果為:”VB程序設(shè)計(jì)教程”說明:當(dāng)連接符兩旁的操作量都為字符串時,上述兩個連接符等價。它們區(qū)別是:+(連接運(yùn)算):兩個操作數(shù)均應(yīng)為字符串類型;&(連
40、接運(yùn)算):兩個操作數(shù)既可為字符型也可為數(shù)值型,當(dāng)是數(shù)值型時,系統(tǒng)自動先將其轉(zhuǎn)換為數(shù)字字符,然后進(jìn)行連接操作。4.4.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符都是雙目運(yùn)算,是用來比較兩個運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。關(guān)系運(yùn)算也稱比較運(yùn)算,它表示不等式的真或假,VB共提供六種運(yùn)算符,分別是=(等于),(大于),=(大于等于),=(小于等于)和(不等于)。關(guān)系表達(dá)式就是用關(guān)系運(yùn)算把兩個比較對象連接起來的式子。 比較對象可以是變量、常量和算術(shù)表達(dá)式。例如:a=z/2b$Basicobject1isobject2 關(guān)系表達(dá)式的運(yùn)算
41、是采用按值比較”的方法,即先求出運(yùn)算符兩邊的值”,若是變量,則取其當(dāng)前值,如果兩端的值滿足條件,則結(jié)果為True”,否則為False”。邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算是對邏輯值進(jìn)行的運(yùn)算,Not邏輯非為單目運(yùn)算符(要求一個操作數(shù)),其它為雙目運(yùn)算符。運(yùn)算符說明說明例結(jié)果Not取反操作數(shù)為假,結(jié)果為真,操作數(shù)為真,結(jié)果為假NotFTAnd與操作數(shù)均為真時,結(jié)果才為真TAndFTAndTFTOr或操作數(shù)中有一個為真時,結(jié)果為真TOrFFOrFTFXor異或操作數(shù)相反時,結(jié)果才為TXorFT邏輯運(yùn)算的優(yōu)先次序是:NottAndfOrfXor2.邏輯表達(dá)式邏輯表達(dá)式是用邏輯運(yùn)算符把邏輯變量連接起來的式子。例如:a=2*3.141159*rAnd(x5OrNotb)x2OrText1.text=Microsoft”表達(dá)式的書寫:(1) 運(yùn)算符不能相鄰。例a+*b是錯誤的。(2) 乘號不能省略。例x乘以y應(yīng)寫成:x*y括號必須
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《護(hù)理康復(fù)評定上》課件
- 2021屆天津市楊村一中、寶坻一中等四校高一下學(xué)期期末聯(lián)考化學(xué)試題
- 《綜合醫(yī)院評審概述》課件
- 小學(xué)四年級數(shù)學(xué)小數(shù)加減法計(jì)算題練習(xí)卷
- 《汽車車型解析》課件
- 電焊管道焊接技術(shù)
- 美食烹飪行業(yè)調(diào)味技巧培訓(xùn)實(shí)踐
- 物流行業(yè)倉儲管理心得總結(jié)
- 電影院服務(wù)員的服務(wù)技巧
- 印刷行業(yè)采購工作心得
- 員工安全行為激勵機(jī)制的設(shè)計(jì)與實(shí)施方案解析
- 高一物理必修1期末考試測試題(五套)
- 泌尿外科膀胱鏡檢查技術(shù)操作規(guī)范
- 避雷針、線保護(hù)范圍計(jì)算表
- 10KV變配電室交接班管理制度
- 風(fēng)機(jī)振動正常范圍國標(biāo)標(biāo)準(zhǔn)
- 江蘇省南京市外國語學(xué)校2022-2023學(xué)年七年級上學(xué)期第一次段考英語試卷
- 針對土石方運(yùn)輸重難點(diǎn)解決措施
- 多工步組合機(jī)床的plc控制系統(tǒng)設(shè)計(jì)
- 常見酸和堿說課課件
- 三年級下冊英語說課稿-《Lesson 11 What Do They Eat》|冀教版(三起)
評論
0/150
提交評論