全國(guó)計(jì)算機(jī)二級(jí)VB筆記
《全國(guó)計(jì)算機(jī)二級(jí)VB筆記》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《全國(guó)計(jì)算機(jī)二級(jí)VB筆記(52頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第一講:Visual Basic概述 重點(diǎn): 1、掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)的概念:對(duì)象、方法、屬性與事件 2、事件驅(qū)動(dòng)過(guò)程的程序設(shè)計(jì)原理 3、介紹VB集成開(kāi)發(fā)環(huán)境 4、VB開(kāi)發(fā)環(huán)境的基本操作 1.1 Visual Basic簡(jiǎn)介 ?具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具 ?事件驅(qū)動(dòng)的編程機(jī)制 ?提供了易學(xué)易用的應(yīng)用程序集成開(kāi)發(fā)環(huán)境 ?結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言 ?支持多種數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn) ?支持DDE、DLL、OLE技術(shù) ?完備的Help聯(lián)機(jī)幫助功能 1. 1.2面向?qū)ο蟮某绦蛟O(shè)計(jì)方法基礎(chǔ) 2. 對(duì)象及對(duì)象類(lèi):動(dòng)作體的邏輯模型,稱(chēng)為“對(duì)象” 3. 屬性: 屬性是用來(lái)描述對(duì)象的特性
2、。 4. 方法: 方法指對(duì)象可以進(jìn)行的動(dòng)作或行為。 VB 對(duì)象具有屬性、方法和事件。屬性是描述對(duì)象的數(shù)據(jù);方法告訴對(duì)象應(yīng)做的事情;事件是對(duì)象所產(chǎn)生的事情,事件發(fā)生時(shí)可以編寫(xiě)代碼進(jìn)行處理。 VB 的窗體和控件是具有自己的屬性、方法和事件的對(duì)象??梢园褜傩钥醋饕粋€(gè)對(duì)象的性質(zhì),把方法看作對(duì)象的動(dòng)作,把事件看作對(duì)象的響應(yīng)。 日常生活中的對(duì)象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些性質(zhì),如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)(充氣的或未充氣的)或不可見(jiàn)的性質(zhì),如它的壽命。通過(guò)定義,所有氣球都具有這些屬性;這些屬性也會(huì)因氣球的不同而不同。 氣球還具有本身所固有
3、的方法和動(dòng)作。如:充氣方法(用氦氣充滿(mǎn)氣球的動(dòng)作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這些能力。 1. 3基于Windows環(huán)境下的應(yīng)用程序的工作方式——事件驅(qū)動(dòng) 在傳統(tǒng)的或“過(guò)程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時(shí)調(diào)用過(guò)程。 在事件驅(qū)動(dòng)的應(yīng)用程序中,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同的事件時(shí)執(zhí)行不同的代碼片段。事件可以由用戶(hù)操作觸發(fā)、也可以由來(lái)自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序決定了代碼執(zhí)行的順序
4、,因此應(yīng)用程序每次運(yùn)行時(shí)所經(jīng)過(guò)的代碼的路徑都是不同的。 因?yàn)槭录捻樞蚴菬o(wú)法預(yù)測(cè)的,所以在代碼中必須對(duì)執(zhí)行時(shí)的“各種狀態(tài)”作一定的假設(shè)。當(dāng)作出某些假設(shè)時(shí)(例如,假設(shè)在運(yùn)行來(lái)處理某一輸入字段的過(guò)程之前,該輸入字段必須包含確定的值),應(yīng)該組織好應(yīng)用程序的結(jié)構(gòu),以確保該假設(shè)始終有效(例如,在輸入字段中有值之前禁止使用啟動(dòng)該處理過(guò)程的命令按鈕)。 在執(zhí)行中代碼也可以觸發(fā)事件。例如,在程序中改變文本框中的文本將引發(fā)文本框的 Change 事件。如果 Change 事件中包含有代碼,則將導(dǎo)致該代碼的執(zhí)行。如果原來(lái)假設(shè)該事件僅能由用戶(hù)的交互操作所觸發(fā),則可能會(huì)產(chǎn)生意料之外的結(jié)果。正因?yàn)檫@一原因,所以在設(shè)
5、計(jì)應(yīng)用程序時(shí)理解事件驅(qū)動(dòng)模型并牢記在心是非常重要的。 在VB中事件的調(diào)用形式是: Private Sub對(duì)象名_事件名 ?。ㄊ录?nèi)容) End Sub 1.4 Visual Basic 的集成開(kāi)發(fā)環(huán)境 VB 集成開(kāi)發(fā)環(huán)境 (IDE——Integrated Developing Environment ) 由以下元素組成: 1. 標(biāo)題欄 用于顯示正在開(kāi)發(fā)或調(diào)試的工程名和系統(tǒng)的工作狀態(tài)(設(shè)計(jì)態(tài)、運(yùn)行態(tài)、中止態(tài))。 2. 菜單欄 用于顯示所使用的 Visual Basic 命令。VB6.0標(biāo)準(zhǔn)菜單包括: 3. 工具欄 在編程環(huán)境下用于快速
6、訪(fǎng)問(wèn)常用命令。缺省情況下,啟動(dòng) VB后顯示“標(biāo)準(zhǔn)”工具欄,附加的編輯、窗體設(shè)計(jì)和調(diào)試的工具 欄可以從“視圖”菜單上的“工具欄”命令中移進(jìn)或移出。 4. 窗體設(shè)計(jì)器 用來(lái)設(shè)計(jì)應(yīng)用程序的界面。啟動(dòng)VB后,窗體設(shè)計(jì)器中自動(dòng)出現(xiàn)一個(gè)名為Form1的空白窗體,可以在該窗體中添加控件、圖形和圖片等來(lái)創(chuàng)建所希望的外觀(guān),窗體的外觀(guān)設(shè)計(jì)好后,從菜單中選擇“文件”→“保存窗體”→在保存對(duì)話(huà)框中給出合適的文件名(注意擴(kuò)展名),并選擇所需的保存位置→確定。需要再設(shè)計(jì)另一個(gè)窗體時(shí),單擊工具欄上的“添加窗體”按鈕即可。 5. 控件(工具)箱 由一組控件按鈕組成,用于設(shè)計(jì)時(shí)在窗體中放置控件。除了缺省的工具
7、箱布局之外,還可以通過(guò)從上下文菜單中選定“添加選項(xiàng)卡”并在結(jié)果選項(xiàng)卡中添加控件來(lái)創(chuàng)建自定義布局。6. 彈出式(上下文)菜單 在要使用的對(duì)象上單擊鼠標(biāo)右鍵即可打開(kāi)快捷菜單,其上會(huì)出現(xiàn)與當(dāng)前對(duì)象相關(guān)的經(jīng)常執(zhí)行的操作,以加快操作速度。 7. 工程管理器窗口 用于瀏覽工程中所包含的窗體和模塊,還可以從中查看代碼、查看對(duì)象。 8. 屬性窗口 是VB中一個(gè)比較復(fù)雜的窗口,其中列出了對(duì)選定窗體和控件的屬性設(shè)置值。VB中正是通過(guò)改變屬性來(lái)改變對(duì)象的特征,如大小、標(biāo)題或顏色。 9. 對(duì)象瀏覽器 列出工程中有效的對(duì)象,并提供在編碼中漫游的快速方法。可以使用“對(duì)象瀏覽器”瀏覽在
8、VB中的對(duì)象和其它應(yīng)用程序,查看對(duì)那些對(duì)象有效的方法和屬性,并將代碼過(guò)程粘貼進(jìn)自己的應(yīng)用程序。 10. 對(duì)象瀏覽器 右擊窗體中的對(duì)象、從工程管理器中點(diǎn)“查看代碼”按鈕。 11.窗體布局窗口 Form Layout window允許使用表示屏幕的小圖象來(lái)布置應(yīng)用程序中各窗體的位置。 12. 立即、本地和監(jiān)視窗口 這些附加窗口是為調(diào)試應(yīng)用程序提供的,它們只在 IDE 之中運(yùn)行應(yīng)用程序時(shí)才有效。 1.5 創(chuàng)建VB應(yīng)用程序的一般步驟 一個(gè)VB程序也稱(chēng)為一個(gè)工程,由窗體、標(biāo)準(zhǔn)模塊、自定義控件及應(yīng)用所需的環(huán)境設(shè)置組成。開(kāi)發(fā)步驟一般如下: 1. 創(chuàng)建程序的用戶(hù)界面 2.
9、 設(shè)置界面上各個(gè)對(duì)象的屬性 3. 編寫(xiě)對(duì)象響應(yīng)事件的程序代碼 4. 保存工程 5. 測(cè)試應(yīng)用程序,排除錯(cuò)誤 6. 創(chuàng)建可執(zhí)行程序 ?硬件環(huán)境:486以上處理器、16MB以上內(nèi)存、50MB以上的硬盤(pán)空間、CD-ROM驅(qū)動(dòng)器、鼠標(biāo)等 ?軟件環(huán)境:Windows95或 indowsNT3.51以上版本 ?初次安裝: 1)啟動(dòng)Windows95 2)插入具有VB6.0系統(tǒng)的光盤(pán) 3)運(yùn)行VB6.0安裝程序Setup.exe 4)選擇“典型安裝”或“自定義安裝”或“最小安裝” ?添加或刪除VB6.0部件: 1)插入具有VB6.0系統(tǒng)的光盤(pán) 2)運(yùn)行“開(kāi)始/設(shè)置/控制面板”
10、3)雙擊控制面板中的“添加/刪除程序”圖標(biāo) 4)選擇其中的“Visual Basic 6.0”選項(xiàng) ?啟動(dòng) 1.桌面:開(kāi)始/程序/Visual Basic 6.0 2.建立快捷方式,雙擊圖標(biāo) ?退出 1.選擇文件菜單下的退出命令 2.單擊窗口關(guān)閉按鈕 舉例: 1 啟動(dòng)VB,開(kāi)始新工程 2創(chuàng)建程序的用戶(hù)截面 3加入程序代碼 4 保存工程文件 5 運(yùn)行和調(diào)試應(yīng)用程序,檢查并排除程序中的錯(cuò)誤 6 生成可執(zhí)行程序 7 打印窗體和代碼 第二講 常用控件與界面設(shè)計(jì) 重點(diǎn): 1、掌握窗體常用的屬性、方法與事件,重點(diǎn)掌握窗體的Print方法的使用 2、掌握標(biāo)簽、文本框
11、、命令按鈕等控件的常用屬性、方法、事件 2.1 創(chuàng)建窗體 補(bǔ)充內(nèi)容:調(diào)整窗體布局 生成可執(zhí)行文件 2.2 VB的常用控件(P19) 概述: 控體是用來(lái)進(jìn)行用戶(hù)界面設(shè)計(jì)的可視化部件。 常用的VB6 控件一覽表 P20 常用控件:P21 (1) 文本框(TextBox):用于接收用戶(hù)在框內(nèi)輸入 的信息或顯示由程序提供的信息。 文本框在工具箱中的圖標(biāo)P25;在窗體中的形式 屬性: 名稱(chēng):文本框名稱(chēng)。命名規(guī)則同窗體名。(通常以“Txt”作為前綴。) Text :文本屬性。該屬性的值為用戶(hù)從文本框中輸入的內(nèi)容。 PasswordChar:口令屬性。設(shè)置是否可以看
12、到用戶(hù)從文本框中輸入的文本內(nèi)容。 取值:空字符串:(默認(rèn)值):可以看到輸入的字符。 某一字符:用戶(hù)每輸入一個(gè)字符,文本框內(nèi)就出現(xiàn)一個(gè)該字符。 MaxLength :最大長(zhǎng)度屬性。設(shè)置文本框的Text 屬性中所能放入的字符總個(gè)數(shù)。 取值:0:(默認(rèn)值)。 1~32 KB。 MultiLine :多行屬性。設(shè)置用戶(hù)是否可在文本框內(nèi)輸入多行文本。 取值: True:可多行輸入。 False:(默認(rèn)值)只能單行輸入。 Alignment:對(duì)齊屬性。設(shè)置文本框內(nèi)的文本內(nèi)容的對(duì)齊方式。 取值:0:(默認(rèn)值)靠左對(duì)齊。 1:靠右
13、對(duì)齊。 2:居中對(duì)齊。 說(shuō)明:本屬性只在MultiLine 為 True 時(shí)有效。 TabStop:[Tab]鍵屬性。設(shè)置是否可用[Tab]鍵來(lái)移動(dòng)焦點(diǎn)到另一個(gè)對(duì)象上。 取值:True:(默認(rèn)值)可以。 False:不可以。 其它屬性類(lèi)似窗體。 方法: Refresh :刷新。 SetFocus :設(shè)置焦點(diǎn)。通過(guò)本方法,可以使光標(biāo)指向指定的文本框。 事件: Change :當(dāng)文本框的內(nèi)容發(fā)生變化時(shí),就引發(fā)本事件。 LostFocus:當(dāng)光標(biāo)離開(kāi)文本框時(shí),引發(fā)本事件。 Keypress:當(dāng)用戶(hù)按下或松開(kāi)鍵盤(pán)上某個(gè)按鍵時(shí),發(fā)生本事件
14、。 (2)標(biāo)簽:(Label) 主要用于在窗體上增加文字說(shuō)明。 標(biāo)簽在工具箱中的圖標(biāo)P25;在窗體中的形式 屬性: 名稱(chēng):標(biāo)簽名稱(chēng)。(通常以“Lbl”作為前綴。) Caption :標(biāo)題屬性。本屬性的值為顯示在標(biāo)簽上的內(nèi)容。 AutoSize :大小自適應(yīng)屬性。即標(biāo)簽的大小是否隨著標(biāo)題內(nèi)容的多少而自動(dòng)變化。 取值:True :是。 False :(默認(rèn)值)否。 FontName :字體名稱(chēng)。設(shè)置在標(biāo)簽內(nèi)顯示的文本的字體名稱(chēng)。 方法: Refresh :刷新。 Move :移動(dòng)。 事件: Click :?jiǎn)螕羰录? DblC
15、lick:雙擊事件。 (3) 命令按鈕:(commandbutton):用戶(hù)用鼠標(biāo)單擊命令按鈕,表示要執(zhí)行某項(xiàng)功能。 屬性: 名稱(chēng):(通常以“Cmd”作為前綴。) Caption : 標(biāo)題 。其值就是在命令按鈕上顯示的文本。 Default :設(shè)定此命令按鈕是否為窗體的默認(rèn)按鈕。 取值 true :在窗體啟動(dòng)(Active)后,按 Enter 鍵馬上就會(huì)執(zhí)行的命令按鈕。(同一窗體中只能有一個(gè)命令按鈕的此項(xiàng)屬性值為 true ) False :否。 Enabled :設(shè)定命令按鈕是否可用。 取值 true :(默認(rèn)值):可用。 fa
16、lse :不可用。(命令按鈕呈灰色) 事件: click : 單擊事件 方法: SetFocus : 命令按鈕經(jīng)過(guò) SetFocus 方法后,將取得焦點(diǎn)。(用戶(hù)此時(shí)按回車(chē)鍵將會(huì)執(zhí)行此命令按鈕。) (4)復(fù)選框:(checkbox):用來(lái)設(shè)定程序的執(zhí)行狀態(tài)。 屬性: 名稱(chēng):(通常以“Chk”作為前綴。) caption: 標(biāo)題,顯示在復(fù)選框的右方,指明此復(fù)選框所代表的功能。 Value :表示復(fù)選框在執(zhí)行時(shí)的三種狀態(tài)。 取值: 0: 不復(fù)選,執(zhí)行時(shí)無(wú)勾。 1: 復(fù)選,執(zhí)行時(shí)有勾。 2: 灰色,表示用戶(hù)不能修改這個(gè)設(shè)定值,只能看到它目前狀態(tài)。 事
17、件: click :?jiǎn)螕羰录? 方法: Move : Refresh : (5)選項(xiàng)按鈕:(optionbutton)用來(lái)設(shè)定程序的執(zhí)行狀態(tài)。 屬性: 名稱(chēng):(通常以“Opt”作為前綴。) caption:標(biāo)題 alignment : 設(shè)置標(biāo)題文本的對(duì)齊方式。 取值: 0:(默認(rèn)值)靠左對(duì)齊 1:靠右對(duì)齊 2:靠中對(duì)齊 value : 其值決定該選項(xiàng)按鈕是否被選中。 取值:true : 表示此選項(xiàng)按鈕被選中。 False : 表示此選項(xiàng)按鈕沒(méi)選中。 說(shuō)明:一個(gè)窗體或一個(gè)框架內(nèi)的選項(xiàng)按鈕只能有一個(gè)被選中,(不同框架內(nèi)的選項(xiàng)按鈕互不干擾
18、)若用戶(hù)不設(shè)定哪一個(gè)選項(xiàng)按鈕的值為 true ,則系統(tǒng)指定第一個(gè)選項(xiàng)按鈕的 value 值為 true 。 事件: click :?jiǎn)螕簟? 方法: Move: Refresh (6) 框架 :(frame)可以用框架控件將其它各自獨(dú)立的控件(一般指復(fù)選框、選項(xiàng)按鈕等)組合在一組中。如實(shí)驗(yàn)指導(dǎo)書(shū)P13、P16。 屬性: 名稱(chēng) caption top left width height font forecolor 等等 事件:click dblclick 等等 說(shuō)明:1、在使用框架控件將其它控件分組時(shí)必須先繪制框架控件,后繪制其中的控件。 2、在一個(gè)框架
19、內(nèi)的控件可以進(jìn)行整體的激活、屏蔽、移動(dòng)等等。 3、在同一個(gè)窗體中的多個(gè)選項(xiàng)按鈕,只有一個(gè)可以被選中,但在窗體中可以用框架將選項(xiàng)按鈕分類(lèi),在同一框架內(nèi)的多個(gè)選項(xiàng)按鈕中只有一個(gè)可以被選取。不同框架內(nèi)的選項(xiàng)按鈕彼此互不干擾。 4、要將控件畫(huà)在框架之中,不能雙擊控件,因?yàn)槟菢訉⑹箍丶丿B在框架的上面,必須單擊工具圖標(biāo),然后在框架內(nèi)拖動(dòng)后釋放,這樣的所畫(huà)的控件在框架之中。 第三講 常用控件與界面設(shè)計(jì) 重點(diǎn): 1、掌握列表框、組合框、選項(xiàng)按鈕、復(fù)選按鈕、滾動(dòng)條等控件的常用的屬性、方法、事件 2、掌握菜單的設(shè)計(jì) (7)列表框 ( ListBox):用于列出可供用戶(hù)選擇的項(xiàng)目列表。
20、用戶(hù)可以從中選擇一個(gè)或多個(gè)項(xiàng)目。 屬性: 名稱(chēng):(通常以“List”作為前綴。) List:列表屬性。用于保存列表的內(nèi)容。 List實(shí)際上是一個(gè)一維數(shù)組,數(shù)組中元素的值,就是在執(zhí)行時(shí)看到的列表項(xiàng)(item) 一維數(shù)組:List 中有5個(gè)元素,List(0),List(1) List(2) ,List(3) ,List(4) 列表項(xiàng)文本 List (0)=68 List (1)=78 List (2)=88 List (3)=80 L
21、ist (4)=76 數(shù)組名:List 列表項(xiàng)序號(hào): 0,1,2,3,4, (從0開(kāi)始) 列表項(xiàng)文本(數(shù)組元素值)分別為:68 78 88 80 76 Listcount:列表框內(nèi)所有選項(xiàng)的總數(shù),也就是List()數(shù)組元素的總個(gè)數(shù)。 ListIndex:用戶(hù)最后單擊的列表項(xiàng)在List() 數(shù)組中的編號(hào)順序。 (無(wú)選中時(shí)其值為-1) Text: 列表項(xiàng)的正文。其值為最后選中的列表項(xiàng)的文本。 請(qǐng)記住如下關(guān)系: [對(duì)象名稱(chēng).]List(ListIndex)=Text Columns:列表框顯示形式。設(shè)定Listbox的列表項(xiàng)若超過(guò)顯示范圍時(shí),其卷動(dòng)方式使用
22、垂直滾動(dòng)條或是水平滾動(dòng)條。 取值:0:(默認(rèn)值)使用垂直滾動(dòng)條。逐行顯示列表項(xiàng),可能有垂直滾動(dòng)條。 1~n :使用水平滾動(dòng)條。此時(shí)列表框內(nèi)一次可顯示的列數(shù)(Column)即為 n 值。 MultiSelect:設(shè)定是否允許用戶(hù)多重選取對(duì)象的列表項(xiàng) 取值: 0:不能多重選取。(默認(rèn)值) 1:簡(jiǎn)易多重選取。(用鼠標(biāo)或空格鍵來(lái)選取,一次一個(gè)) 2:高級(jí)多重選取??捎茫踫hift] 或 [ctrl] 來(lái)選取。(類(lèi)似文件選?。? Selected:設(shè)定列表項(xiàng)是否被選取的狀態(tài)。它是一個(gè)與List大小相同的數(shù)組。 其中各元素的取值: True :被選取。
23、 False:不被選取。(默認(rèn)值) Sorted:排序?qū)傩浴TO(shè)定列表項(xiàng)是否要照ASCII代碼排序。(字母順序) 取值: True :是(不區(qū)分大小寫(xiě)) False:否。(默認(rèn)值) 方法:(P28) AddItem:添加列表項(xiàng)。 格式:[對(duì)象名稱(chēng).]AddItem <列表項(xiàng)文本>[,插入位置序號(hào)] 說(shuō)明:1、若不指定位置,則插入到列表項(xiàng)末尾。 2、新列表項(xiàng)插入后,原來(lái)位置及其后的列表項(xiàng)順序下移。 Clear:刪除列表所有項(xiàng)目。 RemoveItem:刪除列表項(xiàng)。 格式: [對(duì)象名稱(chēng).]RemoveItem 刪除項(xiàng)序號(hào)
24、 事件: Click :?jiǎn)螕羰录? Dblick:雙擊事件(使用較少) 應(yīng)掌握: 1.如何添加或刪除列表框中的列表項(xiàng)? 方法一:在設(shè)計(jì)態(tài):定制 List 屬性。(向列表中添加列表時(shí),按[ctrl]+[Enter]換行。) 方法二:在程序代碼中:用AddItem,RemoveItem 等方法進(jìn)行。 2.如何知道目前用戶(hù)所選取的列表項(xiàng)和目前列表框中的列表項(xiàng)數(shù)目? 用戶(hù)目前所選的列表項(xiàng):Text 的值。 目前列表框中的列表項(xiàng)數(shù)目:ListCount 的值。 (8)組合框(comboBox):將文本框和列表框結(jié)合在一起,在列表框中所選項(xiàng)目的文本會(huì)自動(dòng)填入文本框。(
25、與列表框相比,組合框一次只能選取一個(gè)列表項(xiàng)) 工具箱中的圖標(biāo)P25;在窗體中的形式 屬性: 同Listbox 有:List, ListCount,ListIndex,Text,Sorted 等等。 Style :外觀(guān)屬性。設(shè)置組合框的類(lèi)型和功能。 取值:(實(shí)驗(yàn)指導(dǎo)書(shū)P40) 0:(默認(rèn)值)系統(tǒng)將創(chuàng)建一個(gè)帶有下拉式列表框的組合框。 稱(chēng)為組合下拉式的組合框。它的下拉式窗體不是一直顯示的。 (如word 中字體大小選擇框), 此狀態(tài)下用戶(hù)可將所內(nèi)容直接輸入到文本框中。 1:系統(tǒng)創(chuàng)建一個(gè)由文本框和列表框直接結(jié)合在一起的簡(jiǎn)單組合框。 稱(chēng)為
26、組合式的組合框。它的下拉式窗體是一直顯示的。 如:word 中字體菜單對(duì)話(huà)框中的字體、字號(hào)對(duì)話(huà)內(nèi)容。 2:系統(tǒng)創(chuàng)建一個(gè)沒(méi)有文本框的下拉式列表框。單擊列表框右側(cè)的按鈕,文本框才會(huì)顯示出來(lái)。 稱(chēng)為單純下拉式的組合框。 此狀態(tài)下用戶(hù)不可在文本框中輸入,只能在列表中選擇。且下拉式窗體也不是一直顯示的。 Text:文本屬性。其取值為用戶(hù)從列表框中選定的文本內(nèi)容或直接輸入文本框中的內(nèi)容。 事件:對(duì)不同類(lèi)型的組合框,響應(yīng)的事件是不相同的。 對(duì)于0,2類(lèi)型的組合框:?jiǎn)螕羰录? 對(duì)于 1 類(lèi)型的組合框:雙擊事件。 帶有文本框的0,1組合框:在編輯文本時(shí)可引發(fā)Cha
27、nge 事件。 說(shuō)明:1、用戶(hù)若只需要使用單選的列表框,則可用組合框來(lái)代替。 2、如何添加或刪除組合框中的列表項(xiàng)?(方法:同列表框) 3、如何知道用戶(hù)目前所選取或輸入的列表項(xiàng)是什么? 由于組合框不允許多重選取,所以,Text 屬性值為內(nèi)容;Listindex 屬性值為序號(hào)。 方法: 同列表框。 圖像:(image): 主要用于圖像的顯示、放大、縮小等靜態(tài)顯示圖像場(chǎng)合。 圖像框中不能容納其他控件、也不能繪制圖形和顯示文本。而圖片控件框中可以。 圖像在工具箱中的圖標(biāo)P25;在窗體中的形式 屬性: 名稱(chēng): visible :設(shè)置此對(duì)象在執(zhí)行
28、時(shí)是否看得見(jiàn)。 取值:True :(默認(rèn)值)看得見(jiàn)。 False :隱藏。 enabled :可用否。 picture : 設(shè)定圖像框中代表的圖片名稱(chēng)。 其值在設(shè)定時(shí)的格式為: 盤(pán)符\ 路徑\圖片文件名(.ico 圖標(biāo)文件 .bmp位圖文件) stretch : 用來(lái)決定圖像控件的大小是否要隨著所載入圖片的大小而變化。 取值: true : 隨圖片的大小而變化。 False :(默認(rèn)值) 不隨圖片的大小而變化。 事件: 類(lèi)似窗體。 方法: Move Refresh (10)圖片:(picturebox): 不
29、僅可以裝入圖像,還可以在它上面繪制各種圖形和顯示正文、放置控件(類(lèi)似框架控件)。 圖片在工具箱中的圖標(biāo)P25;在窗體中的形式 水平滾動(dòng)條(horizontal scroll bar)、垂直滾動(dòng)條(vertical scroll bar): 滾動(dòng)條:用來(lái)附加在那些不能自動(dòng)支持滾動(dòng)的應(yīng)用程序或控件中水平滾動(dòng)或垂直滾動(dòng)查閱大量信息。一般出現(xiàn)在文本框 、列表框右邊;用來(lái)調(diào)整數(shù)據(jù)或選擇輸入。( 如word 中字體、段落對(duì)話(huà)框中) 滾動(dòng)條在工具箱中的圖標(biāo)P25;在窗體中的形式 屬性:(實(shí)驗(yàn)指導(dǎo)書(shū) P18) 名稱(chēng):(通常以“Hsb”、“Vsb”作為前綴。) Max / Mi
30、n : 定義了 Value 屬性值所能出現(xiàn)的最大值和最小值。 說(shuō)明:1、一開(kāi)始使用滾動(dòng)條時(shí),Max 為32768,Min 為 0 。 2、水平滾動(dòng)條位于最左邊時(shí)、垂直滾動(dòng)條位于最上邊時(shí)為 Min;水平滾動(dòng)條位于最右邊時(shí)、垂直滾動(dòng)條位于最下邊時(shí)為 Max 。 Value : 滾動(dòng)條目前所在位置所對(duì)應(yīng)的數(shù)值。(也可在代碼中設(shè)定。) LargeChange : 當(dāng)用戶(hù)在滾動(dòng)塊的上方、下方(左方、右方)單擊時(shí)Value所增加的值。默認(rèn)值為1。 SmallChang : 當(dāng)用戶(hù)在滾動(dòng)條兩端的箭頭按鈕上單擊時(shí)Value所增加的值。默認(rèn)值為1。 事件: Change
31、 : 在滾動(dòng)塊移動(dòng)后(即Value值改變時(shí))發(fā)生。 例如,可用一個(gè)滾動(dòng)條的 Change 事件過(guò)程更新一個(gè) TextBox 控件中滾動(dòng)條的 Value 屬性的設(shè)置?;蛘呖梢岳?Change 事件過(guò)程在一個(gè)工作區(qū)里顯示數(shù)據(jù)和公式,在另一個(gè)區(qū)域里顯示結(jié)果。 Scroll : 在拖動(dòng)滾動(dòng)塊時(shí)發(fā)生。單擊滾動(dòng)箭頭或滾動(dòng)條時(shí)不發(fā)生。 方法: Move : 用以移動(dòng)滾動(dòng)條。 Refresh : 強(qiáng)制全部重繪一個(gè)滾動(dòng)條。 SetFocus : 設(shè)置焦點(diǎn)。將焦點(diǎn)移至指定的滾動(dòng)條上。 時(shí)間:(timer) (計(jì)時(shí)器):用來(lái)實(shí)現(xiàn)與時(shí)間有關(guān)的功能。 時(shí)間控件在工具箱中的圖標(biāo)P25;在窗
32、體中的形式 屬性: 名稱(chēng): enabled interval 用來(lái)設(shè)定引發(fā)timer 事件過(guò)程的間隔時(shí)間,單位為1/1000秒。 事件: (時(shí)間控件只有一個(gè)事件) timer : 它會(huì)按照 interval 所設(shè)定的時(shí)間定時(shí)引發(fā)。 說(shuō)明:時(shí)間控件的使用方法: 1.在 form 上放置一個(gè)時(shí)間對(duì)象。 2.在屬性窗口中設(shè)定其 interval 屬性。 3.填寫(xiě)timer 事件的程序內(nèi)容, 4.當(dāng)程序開(kāi)始執(zhí)行后,將不會(huì)看到它的圖標(biāo),每隔 interval 定義的時(shí)間內(nèi),程序會(huì)觸發(fā)一次timer 事件。 時(shí)間控控件應(yīng)用舉例:windows 中計(jì)時(shí)器,word
33、 中的定時(shí)保存文件,定時(shí)更新屏幕畫(huà)面(屏幕保護(hù)程序)等等。 第四講 數(shù)據(jù)表達(dá)式與簡(jiǎn)單程序設(shè)計(jì) 本講內(nèi)容及要求: 1 熟悉VB程序中代碼和語(yǔ)句書(shū)寫(xiě)規(guī)則; 2 掌握VB的數(shù)據(jù)類(lèi)型; 3 掌握VB的 運(yùn)算符和表達(dá)式的使用; 4 掌握常用內(nèi)部函數(shù)的使用; 本章重點(diǎn): 變量和常量的定義及使用、運(yùn)算符和表達(dá)式的使用及常用內(nèi)部函數(shù)的使用。 本章難點(diǎn): 數(shù)據(jù)類(lèi)型、內(nèi)部函數(shù)。 4.1 程序代碼的組織方式 一個(gè)VB程序由窗體界面和程序代碼兩部組成,通過(guò)程序代碼把窗口界面的各個(gè)對(duì)象以及應(yīng)用中的其它元素聯(lián)系在一起。程序代碼部分則由若干被稱(chēng)為“過(guò)程”的代碼行及向系統(tǒng)提供某
34、些信息的說(shuō)明組成。過(guò)程及說(shuō)明又被組織在“模塊”之中。將設(shè)計(jì)的過(guò)程代碼及相關(guān)說(shuō)明合理地組織到不同的模塊之中,也就是設(shè)計(jì)代碼的結(jié)構(gòu),在創(chuàng)建VB應(yīng)用程序時(shí)是最為重要的一個(gè)步驟。 一 過(guò)程 所謂“過(guò)程”,就是具有特定書(shū)寫(xiě)格式、包含若干可被作為一個(gè)整體執(zhí)行的代碼的組合。根據(jù)執(zhí)行方式,可把“過(guò)程”分為“事件過(guò)程”和“通用過(guò)程”兩類(lèi)。 二 模塊 模塊是VB用于將不同類(lèi)型過(guò)程代碼組織到一起而提供的一種結(jié)構(gòu)。在VB中具有三種類(lèi)型的模塊: 窗體模塊 標(biāo)準(zhǔn)模塊 類(lèi)模塊。 4.2. VB代碼書(shū)寫(xiě)規(guī)則 (1) 程序中不區(qū)分字母的
35、大小寫(xiě),Ab 與AB等效; ?。?) 系統(tǒng)對(duì)用戶(hù)程序代碼進(jìn)行自動(dòng)轉(zhuǎn)換: 1) 對(duì)于VB中的關(guān)鍵字,首字母被轉(zhuǎn)換成大寫(xiě),其余轉(zhuǎn)換成小寫(xiě) 2) 若關(guān)鍵字由多個(gè)英文單詞組成,則將每個(gè)單詞的首字母轉(zhuǎn)換成大寫(xiě) 3) 對(duì)于用戶(hù)定義的變量、過(guò)程名,以第一次定義的為準(zhǔn),以后輸入的自動(dòng)轉(zhuǎn)換成首次定義的形式 (1)在同一行上可以書(shū)寫(xiě)多行語(yǔ)句,語(yǔ)句間用冒號(hào)(:)分隔 ?。?)單行語(yǔ)句可以分多行書(shū)寫(xiě),在本行后加續(xù)行符:空格和下劃線(xiàn) _ (3) 一行允許多達(dá)255個(gè)字符 4.3 VB的數(shù)據(jù)類(lèi)型 4.3.1.數(shù)據(jù)類(lèi)型 1 VB的標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型 數(shù)據(jù)類(lèi)型 關(guān)鍵字 類(lèi)型符 前綴
36、 存儲(chǔ)空間 范圍 數(shù)值數(shù)據(jù)類(lèi)型 字節(jié)型 Byte Byt 1 個(gè)字節(jié) 0 到 255 整型 Integer % Int 2 個(gè)字節(jié) -32,768 到 32,767 長(zhǎng)整型 Long & Lng 4 個(gè)字節(jié) -2,147,483,648 到 2,147,483,647 單精度型 Single ! Sng 4 個(gè)字節(jié) 負(fù)數(shù):-3.402823E38 到 -1.401298E-45;正數(shù):1.401298E-45 到 3.402823E38 雙精度型 Double # Dbl 8 個(gè)字節(jié) 負(fù)數(shù): -1.797693
37、13486232E308 - 4.94065645841247E-324; 正數(shù):4.94065645841247E-324 1.79769313486232E308 貨幣型 Currency @ Cur 8 個(gè)字節(jié) 從 -922,337,203,685,477.5808 到 922,337,203,685,477.5807 邏輯型 Boolean Bln 2 個(gè)字節(jié) True 或 False 日期型 Date Dtm 8 個(gè)字節(jié) 100 年1月 1日 到 9999 年 12 月 31 日 對(duì)象型 Object
38、 Obj 4 個(gè)字節(jié) 任何 Object 引用 變長(zhǎng)字符型 String $ Str 10 字節(jié)加字符串長(zhǎng)度 0 到大約 20 億 定長(zhǎng)字符型 String $ Str 字符串長(zhǎng)度 1 到大約 65,400 變體數(shù)字型 Variant Vnt 16 個(gè)字節(jié) 任何數(shù)字值,最大可達(dá) Double 的范圍 變體字符型 Variant Vnt 22 個(gè)字節(jié)加字符串長(zhǎng)度 與變長(zhǎng) String 有相同的范圍 注意: 1)VB中對(duì)沒(méi)有聲明的變量其缺省的數(shù)據(jù)類(lèi)型是變體型,可以用來(lái)存儲(chǔ)各種數(shù)據(jù),但所占用的內(nèi)存比其它類(lèi)型都多。為提高
39、運(yùn)行效率(整型效率較高),或達(dá)到一定的運(yùn)算精確度(浮點(diǎn)型精度較高,但運(yùn)行較慢),應(yīng)合理的定義數(shù)據(jù)類(lèi)型。 2) 邏輯型數(shù)據(jù)只有True 和False兩個(gè)值,轉(zhuǎn)換成整型時(shí),True=-1 ,F(xiàn)alse=0,將其它類(lèi)型轉(zhuǎn)換成邏輯型時(shí),非0數(shù)轉(zhuǎn)換為T(mén)rue ,0轉(zhuǎn)換為False。 3) 字符型可以包括所有的西文字符和漢字,字符必須用雙引號(hào)括" "起來(lái), 如:"abc123" 4)日期型數(shù)據(jù)按8字節(jié)的浮點(diǎn)數(shù)來(lái)存儲(chǔ),日期型數(shù)表示方式有兩種:可以用號(hào)碼符#括起來(lái),也可以用數(shù)字序列表示(小數(shù)點(diǎn)左邊的數(shù)字代表日期,右邊代表時(shí)間,0為午夜,0。5為中午12點(diǎn),負(fù)數(shù)表示是1899年12月31日前的
40、日期和時(shí)間)。 如:#3/22/2002# #2002-3-22 14:30:20# Dim T As Date T=-2.5 Print T 打印出來(lái)的結(jié)果是1899-12-28 12:00:00 ?。担┤魏螖?shù)據(jù)類(lèi)型的數(shù)組都需要 20 個(gè)字節(jié)的內(nèi)存空間,加上每一數(shù)組維數(shù)占 4 個(gè)字節(jié),再加上數(shù)據(jù)本身所占用的空間。數(shù)據(jù)所占用的內(nèi)存空間可以用數(shù)據(jù)元數(shù)目乘上每個(gè)元素的大小加以計(jì)算。例如,以 4 個(gè) 2 字節(jié)之 Integer 數(shù)據(jù)元所組成的一維數(shù)組中的數(shù)據(jù),占 8 個(gè)字節(jié)。這 8 個(gè)字節(jié)加上額外的 24 個(gè)字節(jié),使得這個(gè)數(shù)組所需總內(nèi)存空間為 32 個(gè)字節(jié)。 2.
41、變量與常量 ?。?)變量或常量的命名規(guī)則 1) 必須以字母或漢字開(kāi)頭,由字母、漢字、數(shù)字或下劃線(xiàn)組成,長(zhǎng)度≤255個(gè)字符; 2) 不能使用VB中的關(guān)鍵字,并盡量不與VB中標(biāo)準(zhǔn)函數(shù)名同名;如:Dim 、Sin 3)VB中不區(qū)分變量的大小寫(xiě),一般變量首字母用大寫(xiě),其余用小寫(xiě);常量全部用大寫(xiě)字母表示 4)為了增加程序的可讀性,可在變量名前加一個(gè)縮寫(xiě)的前綴來(lái)表明該變量的數(shù)據(jù)類(lèi)型。 ?。?)變量聲明 1)用Dim語(yǔ)句進(jìn)行顯式聲明 語(yǔ)句形式: Dim 變量名 [As 類(lèi)型] 如: Dim intX As integer 說(shuō)明:如果沒(méi)有As 類(lèi)型,則默認(rèn)
42、為變體類(lèi)型。 可在變量名后加類(lèi)型符來(lái)代替As 類(lèi)型 如: Dim intX% 一條語(yǔ)句可以同時(shí)定義多個(gè)變量,但每個(gè)變量必須有自己的類(lèi)型聲明,類(lèi)型聲明不能共用; 字符串變量根據(jù)其存放的長(zhǎng)度是否固定,定義方法不同: 定長(zhǎng)字符串: Dim strA As String*10 表示最多存放10個(gè)字符,如果賦值不足10個(gè),則右補(bǔ)空;若多于10個(gè),則多余部分截去。 不定長(zhǎng)字符串:Dim strA As String 最多可存放2MB個(gè)字符 2) 隱式聲明 VB中允許變量不經(jīng)過(guò)聲明就直接使用,這種稱(chēng)為隱式聲明,所有隱式聲
43、明的變量都是變體型的。 隱式聲明容易造成錯(cuò)誤,為了調(diào)試程序方便,一般對(duì)使用的變量都進(jìn)行聲明,可以在通用聲明段使用Option Explicit 語(yǔ)句來(lái)強(qiáng)制顯式聲明所有變量。 (3)常量 1)直接常量 指在程序中直接給出值的數(shù)據(jù),如:123、123&、123.45、1.234E2 、123D3分別表示整型、長(zhǎng)整型、單精度浮點(diǎn)型(小數(shù)形式)、單精度浮點(diǎn)型(指數(shù)形式)、雙精度浮點(diǎn)型。 八進(jìn)制常數(shù): 在數(shù)值前加&O ,如 &O123 十六進(jìn)制常數(shù):在數(shù)值前加&H ,如&H123 2)用戶(hù)聲明的符號(hào)常量 用Const來(lái)聲明: Const 符號(hào)常量名
44、[As 類(lèi)型] = 表達(dá)式 如:Const PI=3.14159 聲明了常量PI,代表3.14159,單精度型 Const MAX As Integer=&O144 聲明了常量MAX,代表八進(jìn)制數(shù)144,整型 Const COUNT#=45.67 聲明了常量COUNT,代表45.67,雙精度型 3)系統(tǒng)提供的常量 系統(tǒng)定義的常量位于對(duì)象庫(kù)中,在對(duì)象瀏覽器中的Visual Basic(VB)和Visual Basic for Aplication(VBA)等對(duì)象庫(kù)中列出了VB的常量。這些常量可以與應(yīng)用程序的對(duì)象、方法、屬性一起使用。 如:Fo
45、rm1.WindowsState=vbMaximized 表示將窗口極大化。 3. 變量作用域與變量說(shuō)明語(yǔ)句 1)變量作用域 變量的有效作用范圍稱(chēng)為變量作用域。 VB有以下三個(gè)作用域等級(jí),見(jiàn)表3: 等級(jí) 范圍 局部 在過(guò)程中說(shuō)明,僅在說(shuō)明它的過(guò)程有效 的過(guò)程有效 窗體/模塊 在窗體或模塊中說(shuō)明,在定義該變量的模塊或窗體的所有過(guò)程內(nèi)均有效 在定義該變量的模塊或窗體的所有過(guò)程內(nèi)均有效 全局(公有) 在模塊或窗體中說(shuō)明,在工程內(nèi)的所有過(guò)程中都有效 中都有效 4.4 運(yùn)算符與表達(dá)式
46、運(yùn)算符的功能及優(yōu)先級(jí) 表達(dá)式的書(shū)寫(xiě)及運(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)算符有以下幾種: ^ 乘方 — 負(fù)號(hào) * 乘 / 除 \ 整除 Mod 取余 + 加 — 減 +:加法運(yùn)算,也適合于字符串的之間的合并運(yùn)算。 -:加法運(yùn)算。 *:乘法運(yùn)算。 /:除法運(yùn)算。 \:整除運(yùn)算。 Mod:求余運(yùn)算。例如:a Mod b表示a被b整除以后的余數(shù)
47、。 ^:冪運(yùn)算。A^B表示以A為底的B次方。 把常量、變量等運(yùn)算元素用算術(shù)運(yùn)算符連接起來(lái)的式子稱(chēng)為“算術(shù)表達(dá)式”。例如: a*b/(c*d) 3.14159265*r^2 等 帶有括號(hào)的算術(shù)表達(dá)式在運(yùn)算時(shí)將優(yōu)先進(jìn)行括號(hào)內(nèi)的運(yùn)算 注 意: (1)/和\的區(qū)別:1/2=0.5,1\2=0 (2) Mod運(yùn)算中,結(jié)果與被除數(shù)同號(hào) 例如:-9 Mod 7 結(jié)果為 -2 字符串運(yùn)算符與字符串表達(dá)式 字符串運(yùn)算符有:& 、+ 。 功能是字符串連接 例如: " ABCD "
48、 + " EFGHI " ‘結(jié)果為: " ABCDEFGHI " " VB " & "程序設(shè)計(jì)教程" 結(jié)果為: " VB程序設(shè)計(jì)教程" 說(shuō)明:當(dāng)連接符兩旁的操作量都為字符串時(shí),上述兩個(gè)連接符等價(jià)。它們區(qū)別是: +(連接運(yùn)算):兩個(gè)操作數(shù)均應(yīng)為字符串類(lèi)型; &(連接運(yùn)算):兩個(gè)操作數(shù)既可為字符型也可為數(shù)值型,當(dāng)是數(shù)值型時(shí),系統(tǒng)自動(dòng)先將其轉(zhuǎn)換為數(shù)字字符,然后進(jìn)行連接操作。 4.4.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 關(guān)系運(yùn)算符都是雙目運(yùn)算,是用來(lái)比較兩個(gè)運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為T(mén)rue,若關(guān)
49、系不成立,結(jié)果為False。 關(guān)系運(yùn)算也稱(chēng)比較運(yùn)算,它表示不等式的真或假,VB共提供六種運(yùn)算符,分別是=(等于),>(大于),<(小于),>=(大于等于),<=(小于等于)和<>(不等于)。 關(guān)系表達(dá)式就是用關(guān)系運(yùn)算把兩個(gè)比較對(duì)象連接起來(lái)的式子。 ● 比較對(duì)象可以是變量、常量和算術(shù)表達(dá)式。例如: a<32 x+y>=z/2 b$<> " Basic " object1 is object2 ● 關(guān)系表達(dá)式的運(yùn)算是采用“按值比較”的方法,即先求出運(yùn)算符兩邊的“值”,若是變量,則取其當(dāng)前值,如果兩端的值滿(mǎn)足條件,則結(jié)果為“True”,否則為“False”
50、。 4.4.3 邏輯運(yùn)算符與邏輯表達(dá)式 邏輯運(yùn)算是對(duì)邏輯值進(jìn)行的運(yùn)算,Not 邏輯非為單目運(yùn)算符(要求一個(gè)操作數(shù)),其它為雙目運(yùn)算符。 T F T Xor F T Xor T 操作數(shù)相反時(shí),結(jié)果才為真 異或 Xor T F T Or F F Or F 操作數(shù)中有一個(gè)為真時(shí),結(jié)果為真 或 Or F T T And F T And T 操作數(shù)均為真時(shí),結(jié)果才為真 與 And T Not F 操作數(shù)為假,結(jié)果為真,操作數(shù)為真,結(jié)果為假 取反 Not 結(jié)果 例 說(shuō)明 說(shuō)明 運(yùn)算符
51、 邏輯運(yùn)算的優(yōu)先次序是: Not→And→Or→Xor 2. 邏輯表達(dá)式 邏輯表達(dá)式是用邏輯運(yùn)算符把邏輯變量連接起來(lái)的式子。例如: a>=2*3.141159*r And (x<>5 Or Not b) x>2 Or Text1.text=”Microsoft” 表達(dá)式的書(shū)寫(xiě): (1)運(yùn)算符不能相鄰。例a+*b是錯(cuò)誤的。 (2)乘號(hào)不能省略。例x 乘以y 應(yīng)寫(xiě)成:x*y (3)括號(hào)必須成對(duì)出現(xiàn),均使用圓括號(hào),可以嵌套使用。 (4)表達(dá)式從左到右在同一基準(zhǔn)并排書(shū)寫(xiě),不能出現(xiàn)上下標(biāo) (5)要注意各種運(yùn)算符
52、的優(yōu)先級(jí)別,為保持運(yùn)算順序,在寫(xiě)VB表達(dá)式時(shí)需要適當(dāng)添加括號(hào)() 4.4.4.運(yùn)算規(guī)則 表達(dá)式中出現(xiàn)了多種不同類(lèi)型的運(yùn)算符時(shí),其運(yùn)算符優(yōu)先級(jí)如下: 算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符 說(shuō)明: 1.當(dāng)一個(gè)表達(dá)式中出現(xiàn)多種運(yùn)算符時(shí),首先進(jìn)行算術(shù)運(yùn)算,接著關(guān)系運(yùn)算符,最后處理邏輯運(yùn)算符,在各類(lèi)運(yùn)算中再按照相應(yīng)的優(yōu)先次序進(jìn)行。 2.可以用括號(hào)改變優(yōu)先順序,強(qiáng)令表達(dá)式的某些部分優(yōu)先運(yùn)行。括號(hào)內(nèi)的運(yùn)算總是優(yōu)先于括號(hào)外的運(yùn)算。對(duì)于多重括號(hào),總是由內(nèi)到外。 第五講 數(shù)據(jù)表達(dá)式與簡(jiǎn)單程序設(shè)計(jì) ---選擇分支與循環(huán) 重點(diǎn): 1、掌握賦值語(yǔ)句及不同類(lèi)型數(shù)據(jù)的賦值操作 2
53、、InputBox和Msgbox函數(shù)的用法 3、If-else-endif語(yǔ)句的格式及情況語(yǔ)句select 5.1常用的函數(shù) 1. 數(shù)學(xué)函數(shù) VB中常用的數(shù)學(xué)函數(shù) 函數(shù)名 功能 示例 結(jié)果 Sqr(x) 求平方根 Sqr(9) 3 Log(x) 求自然對(duì)數(shù),x>0 Log(10) 2.3 Exp(x) 求以e為底的冪值,即求ex Exp(3) 20.086 Abs(x) 求x的絕對(duì)值 Abs(-2.5) 2.5 Hex[$](x) 求x的十六進(jìn)制數(shù),返回的是字符型值 Hex[$](28) "1C" Oct[$](x) 求x的八進(jìn)制
54、數(shù),返回的是字符型值 Oct[$](10) "12" Sgn(x) 求x的符號(hào), 當(dāng)x>0, 返回1 ;x=0, 返回0; x<0, 返回-1 Sgn(15) 1 Rnd(x) 產(chǎn)生一個(gè)在(0,1)區(qū)間均勻分布的隨機(jī)數(shù),每次的值都不同;若x=0,則給出的是上一次本函數(shù)產(chǎn)生的隨機(jī)數(shù) Rnd(x) 0-1之間的數(shù) Sin(x) 求x的正弦值,x的單位是弧度 Sin(0) 0 Cos(x) 求x的余弦值,x的單位是弧度 Cos(1) 0.54 Tan(x) 求x的正切值,x的單位是弧度 Tan(1) 1.56 Atn(x) 求x的反正切值,x的單位是弧
55、度,函數(shù)返回的是弧度值 Atn(1) 0.79 2. 字符函數(shù) ?。?)字符串編碼 在Windows采用的DBCS(Double Byte Character Set)編碼方案中,一個(gè)漢字在計(jì)算機(jī)內(nèi)存中占2個(gè)字節(jié),一個(gè)西文字符(ASCII碼)占1個(gè)字節(jié),但在VB中采用的是Unicode(ISO字符標(biāo)準(zhǔn))來(lái)存儲(chǔ)字符的,所有字符都占2個(gè)字節(jié)。為方便使用,可以用StrConv函數(shù)來(lái)對(duì)Unicode 與DBCS進(jìn)行轉(zhuǎn)換,可以用函數(shù)Len()函數(shù)求字符串的字符數(shù),用 LenB()函數(shù)求字符串的字節(jié)數(shù)。 ?。?)常用的字符串函數(shù) 函數(shù)名 功能 示例 結(jié)果 Len(x) 求x字
56、符串的字符長(zhǎng)度(個(gè)數(shù)) Len("ab技術(shù)") 4 LenB(x) 求x字符串的字節(jié)個(gè)數(shù) LenB("ab技術(shù)") 8 Left(x,n) 從x字符串左邊取n個(gè)字符 Left("ABsYt",2) "AB" Right(x,n) 從x字符串右邊取n個(gè)字符 Right("ABsYt",2) "Yt" Mid(x,n1,n2) 從x字符串左邊第n1個(gè)位置開(kāi)始向右取n2個(gè)字符 Mid("ABsYt",2,3) "BsY" Ucase(x) 將x字符串中所有小寫(xiě)字母改為大寫(xiě) Ucase("ABsYug") ABSYUG Lcase(x) 將x字符串中所有
57、大寫(xiě)字母改為小寫(xiě) Ucase("ABsYug") absyug Ltrim(x) 去掉x左邊的空格 Lrim(" ABC ") "ABC " Rtrim(x) 去掉x右邊的空格 Trim(" ABC ") " ABC" Trim(x) 去掉x兩邊的空格 Trim(" ABC ") "ABC" Instr(x,"字符", M) 在x中查找給定的字符,返回該字符在x中的位置,M=1不區(qū)分大小寫(xiě),省略則區(qū)分 Instr("WBAC","B") 2 String(n,"字符") 得到由n個(gè)首字符組成的一個(gè)字符串 String(3,"abcd") "aaa"
58、 Space (n) 得到n個(gè)空格 Space (3) " " Replace(C,C1,C2,N1,N2) 在C字符串中從N1開(kāi)始將C2替代N2次C1,如果沒(méi)有N1表示從1開(kāi)始 Replace("ABCASAA","A","12",2,2) "ABC12S12A" 3. 日期與時(shí)間函數(shù) 常用的日期與時(shí)間函數(shù) 函數(shù)名 含義 示例 結(jié)果 Date () 返回系統(tǒng)日期 Date () 02-3-19 Time() 返回系統(tǒng)時(shí)間 Time() 3:30 :00 PM Now 返回系統(tǒng)時(shí)間和日期 Now 02-3-19 3:30 :00
59、 Month(C) 返回月份代號(hào)(1-12) Month("02,03,19") 3 Year(C) 返回年代號(hào)(1752-2078) Year("02-03-19") 2002 Day(C) 返回日期代號(hào)(1-31) Day("02,03,19") 19 WeekDay() 返回星期代號(hào)(1-7),星期日為1 WeekDay("02,03,17") 1 增減日期函數(shù): DateAdd(要增減日期形式,增減量,要增減的日期變量) 例:計(jì)算期末考試日期:DateAdd("ww",15,#2002/3/19#) 求日期之差函數(shù): DateDiff
60、(要間隔日期形式,日期一,日期二) 例:計(jì)算距畢業(yè)天數(shù): DateDiff("d", Now, #2005/6/30#) 日期形式 日期形式 yyyy q m y d w ww h n s 意義 年 季 月 一年的天數(shù) 日 一周的天數(shù) 星期 時(shí) 分 秒 4. 轉(zhuǎn)換函數(shù) 函數(shù)名 功能 示例 結(jié)果 Str (x) 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成字符串 Str (45.2) "45.2" Val(x) 將字符串x中的數(shù)字轉(zhuǎn)換成數(shù)值 Val("23ab") 23 Chr(x) 返回以x為ASCII碼的字符 Chr(65)
61、 "A" Asc(x) 給出字符x的ASCII碼值,十進(jìn)制數(shù) Asc("a") 97 Cint(x) 將數(shù)值型數(shù)據(jù)x的小數(shù)部分四舍五入取整 Cint(3.6) 4 Int(x) 取小于等于x的最大整數(shù) Int(-3.5) Int(3.5) -4 3 Fix(x) 將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去 Fix(-3.5) - 3 CBool(x) 將任何有效的數(shù)字字符串或數(shù)值轉(zhuǎn)換成邏輯型 CBool(2) CBool("0") True False CByte(x) 將0-255之間的數(shù)值轉(zhuǎn)換成字節(jié)型 CByte(6) 6 CDate(x)
62、 將有效的日期字符串轉(zhuǎn)換成日期 CDate(#1990,2,23#) 1990-2-23 CCur(x) 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成貨幣型 CCur(25.6) 25.6 Round(x,N) 在保留N位小數(shù)的情況下四舍五入取整 Round(2.86,1) 2.9 CStr(x) 將x轉(zhuǎn)換成字符串型 CStr(12) "12" CVar(x) 將數(shù)值型數(shù)據(jù)x轉(zhuǎn)換成變體型 CVar("23")+"A" "23A" CSng(x) 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成單精度型 CSng(23.5125468) 23.51255 CDbl(x) 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成雙精度型
63、 CDbl(23.5125468) 23.5125468 5. 格式輸出Format函數(shù) Format函數(shù)用于制定字符串或數(shù)字的輸出格式。 語(yǔ)法:x = Format (expression, fmt ) expression是所輸出的內(nèi)容。fmt是指輸出的格式,這是一個(gè)字符串型的變量,這一項(xiàng)若省略的話(huà),那么Format函數(shù)將和Str函數(shù)的功能差不多。如: 語(yǔ)句 輸出 Format (2, “0.00”) 2.00 Format (.7, “0%”) 70% Format (1140, “$#,##0”) $1,140 Format
64、字符的意義 字符 意義 字符 意義 0 顯示一數(shù)字,若此位置沒(méi)有數(shù)字則補(bǔ)0 . 小數(shù)點(diǎn) # 顯示一數(shù)字,若此位置沒(méi)有數(shù)字則不顯示 , 千位的分隔符 % 數(shù)字乘以100并在右邊加上”%”號(hào) - + $ ( ) 這些字出現(xiàn)在fmt里將原樣打出 5.2 算法概論 1.算法的概念 算法:指用計(jì)算機(jī)解決某一問(wèn)題的方法和步驟。 算法分類(lèi): 數(shù)值算法:用于解決一般數(shù)學(xué)解析方法難以解決的問(wèn)題,如:求超越方程的根、求定積分、解微分方程等。 非數(shù)值算法:用于對(duì)非數(shù)值信息進(jìn)行查找、排序等 2.算法的特征 ?。?)確定性:指算法的每個(gè)步驟都應(yīng)
65、確切無(wú)誤,沒(méi)有歧義。 ?。?)可行性:指算法的每個(gè)步驟必須是計(jì)算機(jī)能夠有效執(zhí)行、可以實(shí)現(xiàn)的,并可得到確定的結(jié)果。 (3)有窮性:指一個(gè)算法應(yīng)該在有限的時(shí)間和步驟內(nèi)可以執(zhí)行完畢的。 ?。?)輸入性:指一個(gè)算法可以有0或多個(gè)輸入數(shù)據(jù)。 ?。?)輸出性:指一個(gè)算法必須有一個(gè)或多個(gè)輸出結(jié)果。 3.算法的評(píng)價(jià) 主要評(píng)價(jià)指標(biāo)是:算法是否正確、運(yùn)行的效率、占用系統(tǒng)資源的多少。 4.算法的描述 一般常用流程框圖來(lái)描述算法。 圖形符號(hào) 名稱(chēng) 代表操作 輸入/輸出 數(shù)據(jù)的輸入與輸出 處理 各種形式的數(shù)據(jù)處理 判斷 判斷選擇,根據(jù)條件滿(mǎn)足與否選擇不同路徑 起止 流程的起點(diǎn)與終點(diǎn) 特定過(guò)程 一個(gè)定義過(guò)的過(guò)程 流程線(xiàn) 連接各個(gè)框圖,表示執(zhí)行順序 連接點(diǎn) 表示與流程圖其他部分相連接 5.基本算法結(jié)構(gòu) “結(jié)構(gòu)化程序設(shè)計(jì)方法”規(guī)定算法有三種基本結(jié)構(gòu): 順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu) 6.算法示例 歐幾里德算法——求兩個(gè)自然數(shù)的最大公約數(shù) 5.3 賦值語(yǔ)句及 InputBox、MsgBox 函數(shù) 1 賦值語(yǔ)句:P59 一般格式
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案