VB環(huán)境下的應(yīng)用程序開發(fā)課件_第1頁(yè)
VB環(huán)境下的應(yīng)用程序開發(fā)課件_第2頁(yè)
VB環(huán)境下的應(yīng)用程序開發(fā)課件_第3頁(yè)
VB環(huán)境下的應(yīng)用程序開發(fā)課件_第4頁(yè)
VB環(huán)境下的應(yīng)用程序開發(fā)課件_第5頁(yè)
已閱讀5頁(yè),還剩99頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第四章VB環(huán)境下的應(yīng)用

程序開發(fā)4.1VB介紹VisualBASIC(以下簡(jiǎn)稱VB)是微軟(Microsoft)公司推出的Windows環(huán)境下基于對(duì)象的可視化的程序設(shè)計(jì)語(yǔ)言.可以用來(lái)開發(fā)Windows環(huán)境下的各種應(yīng)用軟件,也可用來(lái)開發(fā)多媒體應(yīng)用第四章VB環(huán)境下的應(yīng)用

程序開發(fā)4.1VB介紹1VisualBasic利用面向?qū)ο蟮母拍钋擅畹仄帘瘟薟indows環(huán)境下的程序設(shè)計(jì)的復(fù)雜性VisualBasic基于結(jié)構(gòu)化的BASIC語(yǔ)言和一系列的可視化的窗口設(shè)計(jì)工具,提供了窗口、菜單、按鈕、對(duì)話框、消息框、滾動(dòng)條等Windows程序的標(biāo)準(zhǔn)界面對(duì)象,以及一整套可視化設(shè)計(jì)工具VisualBasic利用面向?qū)ο蟮母拍钋擅畹仄帘瘟薟i24.1.1VisualBasic概述VisualBasic是首批采用事件驅(qū)動(dòng)的程序設(shè)計(jì)機(jī)制的程序語(yǔ)言之一從微軟公司于1991年推出VisualBasic1.0版到目前為止,已推出6個(gè)版本,獲得極大成功4.1.2VB程序設(shè)計(jì)的特點(diǎn)1.可視化的界面設(shè)計(jì)設(shè)計(jì)者僅需用現(xiàn)有工具在屏幕上進(jìn)行布局設(shè)計(jì),設(shè)置對(duì)象屬性即可,VisualBasic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼4.1.1VisualBasic概述VisualBa32.基于對(duì)象的程序設(shè)計(jì)思想VB已經(jīng)把程序和數(shù)據(jù)封裝起來(lái)成為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予各種屬性,程序設(shè)計(jì)人員在設(shè)計(jì)時(shí)無(wú)需編寫對(duì)象的創(chuàng)建和描述程序代碼,便可直接使用3.事件驅(qū)動(dòng)的編程機(jī)制每個(gè)事件都能驅(qū)動(dòng)一段程序運(yùn)行,完成相應(yīng)的工作4.方便、易用:結(jié)構(gòu)化的程序結(jié)構(gòu)、更接近于人類的語(yǔ)言和邏輯思維方式、語(yǔ)句簡(jiǎn)單易懂等2.基于對(duì)象的程序設(shè)計(jì)思想45.基于構(gòu)件的程序開發(fā)可以使用VisualC++,BC++,Delphi等開發(fā)用于VB的專用構(gòu)件,以擴(kuò)展VB的應(yīng)用開發(fā)能力,VB構(gòu)件可以直接加入到VB工具箱中供開發(fā)人員使用。6.對(duì)象的鏈接與嵌入(OLE)利用OLE技術(shù),在VB程序中,可以將其他應(yīng)用軟件作為一個(gè)對(duì)象嵌入到VB應(yīng)用程序中,并可以對(duì)它賦予各種屬性和進(jìn)行程序。還可把符合OLE標(biāo)準(zhǔn)的Windows應(yīng)用程序嵌入到VB程序中,實(shí)現(xiàn)聲音、視像、影像、動(dòng)畫、三維立體、變換幾何形狀、繪制各種圖形圖像等多媒體功能5.基于構(gòu)件的程序開發(fā)57.數(shù)據(jù)庫(kù)訪問(wèn)功能VisualBasic系統(tǒng)本身提供了非常好的數(shù)據(jù)庫(kù)管理功能,利用數(shù)據(jù)庫(kù)管理窗口,用戶可直接創(chuàng)建Access數(shù)據(jù)庫(kù),還可直接編輯和訪問(wèn)其他外部數(shù)據(jù)庫(kù),如FoxPro、dBASE、FoxBase…等??梢酝ㄟ^(guò)ODBC等建立連接的方式來(lái)使用和操縱外部數(shù)據(jù)庫(kù)8.功能強(qiáng)大的輔助開發(fā)工具VisualBasic中的SetupWizard可為用戶制作生成規(guī)范的帶安裝的用戶盤,使程序設(shè)計(jì)人員采用VB開發(fā)工具設(shè)計(jì)的應(yīng)用程序在編譯生成.EXE可執(zhí)行文件7.數(shù)據(jù)庫(kù)訪問(wèn)功能64.1.3消息和事件驅(qū)動(dòng)所有的Windows應(yīng)用程序都是基于消息的傳遞和處理的,每一個(gè)Windows程序都要求一個(gè)消息循環(huán),應(yīng)用程序中的每一個(gè)窗口都要求有一個(gè)消息處理器,用戶移動(dòng)鼠標(biāo),Windows系統(tǒng)就產(chǎn)生一條消息告訴相應(yīng)的應(yīng)用程序:鼠標(biāo)已經(jīng)移動(dòng)了,移動(dòng)到了什么地方Windows系統(tǒng)是多任務(wù)系統(tǒng),如果一個(gè)程序有消息要處理,它就占用CPU處理消息,如果一個(gè)程序不再有要處理的消息,系統(tǒng)就詢問(wèn)其他正在運(yùn)行的程序是否有消息要處理,并把控制權(quán)交給要處理消息的應(yīng)用程序,消息機(jī)制,就是所謂的事件驅(qū)動(dòng)4.1.3消息和事件驅(qū)動(dòng)所有的Windows應(yīng)用程序都是74.1.4VB開發(fā)環(huán)境

VB6.0應(yīng)用程序集成開發(fā)環(huán)境(1)工具箱窗體窗口項(xiàng)目窗口屬性窗口窗體布局主窗口立即窗口4.1.4VB開發(fā)環(huán)境VB6.0應(yīng)用程序集成開發(fā)環(huán)境(81.主(Main)窗口主窗口:控制VB環(huán)境下各種工作模式及操作命令工具條:返回1.主(Main)窗口主窗口:控制VB環(huán)境下各種工作模式及92.窗體(Form)窗口3.工具箱窗口返回2.窗體(Form)窗口3.工具箱窗口返回104.項(xiàng)目(Project)窗口標(biāo)題條:顯示項(xiàng)目(應(yīng)用程序)名稱,控制盒及極小化按鈕;ViewForm按鈕:查看窗體顯示界面;ViewCode按鈕:查看代碼程序;文件列表:該項(xiàng)目中包含的所有文件清單返回4.項(xiàng)目(Project)窗口標(biāo)題條:顯示項(xiàng)目(應(yīng)用程序)115.屬性窗口對(duì)象列表框?qū)傩燥@示排列方式屬性列表框?qū)傩院x說(shuō)明圖2.3屬性窗口屬性(Properies)窗口見圖2.3,所有窗體或控件的屬性如顏色、字體,大小等,可以通過(guò)屬性窗口來(lái)修改。屬性窗口由以下部分組成:返回5.屬性窗口對(duì)象列表框?qū)傩燥@示排列方式屬性列表框?qū)傩院x說(shuō)明126.程序調(diào)試窗口(DebugWindow)返回6.程序調(diào)試窗口(DebugWindow)返回137.代碼(Code)窗口對(duì)象框:存儲(chǔ)并顯示當(dāng)前被選中窗體及其中所有控制的名稱。其中[general]表示與特定對(duì)象無(wú)關(guān)的通用代碼過(guò)程框:下拉列表框,存儲(chǔ)并顯示各種事件名稱或用戶自定義過(guò)程及函數(shù)名稱。源程序代碼框:以Sub過(guò)程名開始,EndSub結(jié)束。返回7.代碼(Code)窗口對(duì)象框:返回148.菜單設(shè)計(jì)窗口(MenuDesignWindow)8.菜單設(shè)計(jì)窗口(MenuDesignWindow)154.1.5VB項(xiàng)目和可執(zhí)行文件項(xiàng)目應(yīng)用程序4.1.5VB項(xiàng)目和可執(zhí)行文件項(xiàng)目應(yīng)用程序164.1.6創(chuàng)建VB應(yīng)用程序的步驟1.創(chuàng)建用戶界面:使用“NewProject”項(xiàng),創(chuàng)建一個(gè)新工程文件,之后再通過(guò)在窗體上畫構(gòu)件和對(duì)象來(lái)創(chuàng)建一界面2.設(shè)置界面對(duì)象的屬性:既可以在設(shè)計(jì)時(shí)用屬性窗口設(shè)置初始值,也可以在運(yùn)行時(shí)用代碼修改屬性3.編寫事件代碼:在為窗體和對(duì)各對(duì)象設(shè)置初始屬性之后,應(yīng)增加響應(yīng)事件時(shí)所要執(zhí)行的代碼4.保存項(xiàng)目5.測(cè)試和調(diào)試應(yīng)用程序4.1.6創(chuàng)建VB應(yīng)用程序的步驟1.創(chuàng)建用戶界面:使用176.創(chuàng)建可執(zhí)行文件:File->MakeEXEFile創(chuàng)建7.創(chuàng)建安裝應(yīng)用程序:應(yīng)用SetupWizard創(chuàng)建安裝程序例1:本例演示VB6.0開發(fā)環(huán)境,介紹可視化地創(chuàng)建用戶界面的方法,掌握VB的基本概念和基本操作,并建立一個(gè)基本的窗體。操作步驟如下:1.啟動(dòng)MicrosoftVisualBasic6.0中文版。2.在“新建工程”窗口中選擇“標(biāo)準(zhǔn)EXE”選項(xiàng),單擊“打開”按鈕。3.進(jìn)入VB6.0開發(fā)環(huán)境。例1:本例演示VB6.0開發(fā)環(huán)境,介紹可視化地創(chuàng)建用戶界面的184.單擊工具欄上的“保存”按鈕,彈出“文件另存為”對(duì)話框,文件按默認(rèn)值Form1.frm保存。5.在彈出的“工程另存為”對(duì)話框中,工程按默認(rèn)值example1.vbp保存。6.創(chuàng)建工程后,VB會(huì)在工程中創(chuàng)建一個(gè)默認(rèn)的窗體。7.在工程窗體的右上方有一個(gè)列表窗體,該窗體列出了整個(gè)工程的結(jié)構(gòu)。8.在工程窗體的左方有一個(gè)可以移動(dòng)的工具箱,其中包含VB的標(biāo)準(zhǔn)控件。9.在工程窗體的右方有一個(gè)屬性窗口,可以設(shè)置對(duì)象的屬性。4.單擊工具欄上的“保存”按鈕,彈出“文件另存為”對(duì)話框,1910.單擊“運(yùn)行”按鈕,出現(xiàn)運(yùn)行結(jié)果。11.要改變窗體的背景顏色,可設(shè)置窗體對(duì)象的屬性。在設(shè)計(jì)窗體上按F4鍵,切換屬性窗口;雙擊屬性窗口的BackColor屬性,選擇蘭色。12.雙擊工具箱中的Lable控件,在當(dāng)前窗體的中央出現(xiàn)一個(gè)Lable控件。13.在Lable控件上按F4,可以看見屬性窗口中的名稱為默認(rèn)的Lable。雙擊Font屬性,可以改變文字的大小和字體等。雙擊ForeColor屬性,可以改變文字顏色。VB環(huán)境下的應(yīng)用程序開發(fā)課件20說(shuō)明:對(duì)象是數(shù)據(jù)和代碼的組合,在VB中,窗體和控件就是對(duì)象,因此在控件中已經(jīng)包含了程序代碼,使用控件將簡(jiǎn)化應(yīng)用程序的開發(fā)過(guò)程,并且提高應(yīng)用程序的開發(fā)效率。在VB中,可以通過(guò)對(duì)象的屬性、方法和事件三個(gè)基本要素來(lái)控制和操作對(duì)象。屬性是對(duì)象的特征和數(shù)據(jù),它定義了對(duì)象的基本形狀和行為,如控件的名稱、標(biāo)題、字體和可見性等。說(shuō)明:21例2:本例演示如何控制窗體的關(guān)閉。運(yùn)行程序,單擊窗體中的“打開另一個(gè)窗體”按鈕,將彈出另外一個(gè)窗體,只有單擊此窗體中央的“關(guān)閉”按鈕,才能關(guān)閉窗體。注意右上角的“關(guān)閉”按鈕是無(wú)效的。具體操作步驟如下:1.創(chuàng)建一個(gè)新工程,并命名為example2.vbp,該工程中包含一個(gè)默認(rèn)的窗體Form1.frm.2.添加命令按鈕控件CommandButton,設(shè)置按鈕Caption屬性為“打開另一個(gè)窗體”。例2:本例演示如何控制窗體的關(guān)閉。運(yùn)行程序,單擊窗體中的“打223.單擊“工程”菜單中“添加窗體”選項(xiàng),在彈出的窗口中選擇“窗體”,工程將加入一個(gè)新的窗體。4.單擊“保存”按鈕,將新窗體存為Form2.frm.5.同樣在Form2窗體中加入一個(gè)命令按鈕控件,將其caption屬性設(shè)置為“關(guān)閉窗體”。6.為命令按鈕添加事件。雙擊Form1窗體中的“命令”按鈕,將彈出code窗口。7.單擊code窗口右上方的下拉列表框,選擇控件的事件。(如選擇Click事件)。VB環(huán)境下的應(yīng)用程序開發(fā)課件238.在Command1_Click事件中加入以下代碼:

PrivateSubCommand1_Click() Form2.show‘顯示Form2窗體 EndSub9.在Form2窗口的Form_QueryUnload處理程序中加入以下代碼:PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger) ifUnloadMode<>1Then Cancel=True‘Cancel為True時(shí),窗體才可以關(guān)閉。 EndIfEndSub8.在Command1_Click事件中加入以下代碼:2410.在Form2窗口的Command1_Click處理程序中添加以下代碼: PrivateSubCommand1_Click() UnloadMe‘關(guān)閉窗體 EndSub說(shuō)明:VB編程是以事件驅(qū)動(dòng),事件是對(duì)象的某種特定動(dòng)作,如單擊鼠標(biāo)(Click)、雙擊鼠標(biāo)(DbClick)、屬性改變(Change)等。當(dāng)事件被觸發(fā)時(shí),對(duì)象就會(huì)對(duì)該事件作出相應(yīng)的響應(yīng)。用戶可通過(guò)事件過(guò)程(EventProcedure)來(lái)控制程序的執(zhí)行。事件過(guò)程的格式如下:

Sub對(duì)象名稱——事件名稱(參數(shù)) 事件執(zhí)行的程序代碼 EndSub10.在Form2窗口的Command1_Click處理程序25

VB對(duì)用戶程序代碼中關(guān)鍵字的首字母總被轉(zhuǎn)換成大寫字母,其余字母一律轉(zhuǎn)換為小寫字母。提高了程序的可讀性。

VB將關(guān)鍵字中每個(gè)單詞的首字母自動(dòng)轉(zhuǎn)換成大寫字母。

對(duì)于用戶自定義的變量名、過(guò)程名、函數(shù)名,VB以第一次定義的為準(zhǔn),以后輸入的自動(dòng)轉(zhuǎn)換成首次的形式。4.2VB語(yǔ)言程序設(shè)計(jì)基礎(chǔ)4.2.1編碼規(guī)則1、在VB代碼中,字母不區(qū)分大小寫VB對(duì)用戶程序代碼中關(guān)鍵字的首字母總被轉(zhuǎn)換成大寫字26

VB在同一行上可以書寫一條語(yǔ)句或多條語(yǔ)句。如果多條語(yǔ)句寫在一行上,語(yǔ)句間用冒號(hào)“:”隔開。例如:Form1.width=300:Form1.caption="您好":Temp=Form1.width

為了方便閱讀,最好一行寫一條語(yǔ)句。

2、語(yǔ)句書寫自由VB在同一行上可以書寫一條語(yǔ)句或多條語(yǔ)句。如果多條語(yǔ)27

一條語(yǔ)句如果在一行內(nèi)寫不下,VB允許將單行語(yǔ)句分若干行書寫,在行后加入續(xù)行符(一個(gè)空格后面跟一個(gè)下劃線“_”。)將長(zhǎng)語(yǔ)句分成多行。

Addresses=“天津市河北工業(yè)大學(xué)”&_“現(xiàn)代化教學(xué)中心”&_ “計(jì)算機(jī)技術(shù)基礎(chǔ)教研室” 原則上,續(xù)行符應(yīng)加在運(yùn)算符的前后,續(xù)行符不應(yīng)將變量名和屬性名分隔在兩行上。一條語(yǔ)句如果在一行內(nèi)寫不下,VB允許將單行語(yǔ)句分若干行書28注釋可以和語(yǔ)句在同一行,并寫在語(yǔ)句的后面,也可占據(jù)一整行。例如:ˊ這是從屏幕左邊ˊ開始的注釋。Text1.Text=“Hi!”ˊ在文本框中放歡迎詞。注釋有三種情況:

用Rem開頭引導(dǎo)注釋行。

用撇號(hào)“ˊ”開始引導(dǎo)語(yǔ)句后的注釋。

使用“設(shè)置/取消注釋塊”命令將若干語(yǔ)句行或文字設(shè)置/取消為注釋塊。注意:在同一行內(nèi),續(xù)行符之后不能加注釋。3、在VB中可以使用注釋注釋可以和語(yǔ)句在同一行,并寫在語(yǔ)句的后面,也可占據(jù)一整行。例29功能:用來(lái)標(biāo)記變量名、函數(shù)名和類型名構(gòu)成元素:A~Z、a~z、0~9或下劃線_。形式:以字母或下劃線開始,后跟字母、數(shù)字或下劃線組成的字符串。注意:標(biāo)識(shí)符不能分行書寫。

例如:以下是VisualBasic6.0中合法的標(biāo)識(shí)符DimMyStringAsStringConstPi=3.1415926535897932PublicFunctiongetValue()AsInteger4、VB中的標(biāo)識(shí)符功能:用來(lái)標(biāo)記變量名、函數(shù)名和類型名例如:以下是Visual30

VisualBasic提供了許多基本數(shù)據(jù)類型,如:Integer(整型),String(字符型),Boolean(邏輯型),Currency(貨幣型)等,每種數(shù)據(jù)類型占用一定的內(nèi)存,允許存儲(chǔ)一定范圍的值。4.2.2數(shù)據(jù)類型VisualBasic提供了許多基本數(shù)據(jù)類型,31數(shù)據(jù)類型標(biāo)準(zhǔn)數(shù)據(jù)類型自定義數(shù)據(jù)類型數(shù)值型(numeric)日期型(Date)邏輯型(Boolean)字符型(String)對(duì)象型(Object)變體型(Variant)整型(Integer)長(zhǎng)整型(Long)貨幣型(Curency)字節(jié)型(Byte)浮點(diǎn)型單精度(Single)雙精度(Double)數(shù)據(jù)標(biāo)準(zhǔn)數(shù)據(jù)類型自定義數(shù)據(jù)類型數(shù)值型(numeric)日期型32⑴數(shù)值(Numerice)數(shù)據(jù)類型有整型(Interger)(%)長(zhǎng)整型(Long)(&)單精度型(Single)(!)雙精度型(Double)(#)貨幣型(Currency)(@)字節(jié)型(Byte)($)1)整型(Interger)和長(zhǎng)整型(Long)用于保存整數(shù)可以是正整數(shù)、負(fù)整數(shù)或者0。整型數(shù)用兩個(gè)字節(jié)存儲(chǔ),表示數(shù)的范圍為:-32768~+32767長(zhǎng)整型數(shù)用4個(gè)字節(jié)存儲(chǔ),表示數(shù)的范圍為:-2147483648~+2147483647

標(biāo)準(zhǔn)數(shù)據(jù)類型⑴數(shù)值(Numerice)數(shù)據(jù)類型標(biāo)準(zhǔn)數(shù)據(jù)類型332)單精度型(Single)用來(lái)表示帶有小數(shù)部分的實(shí)數(shù),4個(gè)字節(jié)存儲(chǔ)。單精度浮點(diǎn)數(shù)最多有7位有效數(shù)字,單精度浮點(diǎn)數(shù)有多種表示形式:123.45、0.12345E+3、123.45!都是同值的單精度數(shù)。如果某個(gè)數(shù)的有效數(shù)字位數(shù)超過(guò)7位,把它賦給一個(gè)單精度變量,超出的部分會(huì)自動(dòng)四舍五入。例如:把213456.2567賦給單精度變量aa,aa的值為213456.3。2)單精度型(Single)用來(lái)表示帶有小數(shù)部分的實(shí)數(shù),4343)雙精度型(Double):用8個(gè)字節(jié)存儲(chǔ)??茖W(xué)記數(shù)法格式:±aD±c或±ad±c例如314.159265358979D-2表示3.14159265358979。雙精度浮點(diǎn)數(shù)最多可有15位有效數(shù)字。

4)字節(jié)型(Byte)用來(lái)存儲(chǔ)二進(jìn)制數(shù)。如果變量包含二進(jìn)制數(shù),則將它聲明為Byte數(shù)據(jù)類型。Byte是從0-255的無(wú)符號(hào)類型,不能表示負(fù)數(shù)。3)雙精度型(Double):用8個(gè)字節(jié)存儲(chǔ)。35(2)字符(String)數(shù)據(jù)類型是一組由計(jì)算機(jī)字符組成的序列,每個(gè)字符都以ASCII編碼表示。用一個(gè)字節(jié)表示。在VB中,字符串要用雙引號(hào)括起來(lái)。例如:“VisualBasic”、“中國(guó)天津”、“123.456”有兩種字符串:變長(zhǎng)字符串和定長(zhǎng)字符串。變長(zhǎng)字符串的最大長(zhǎng)度為231-1個(gè)字符;定長(zhǎng)字符串的最大長(zhǎng)度為65535個(gè)字符。(2)字符(String)數(shù)據(jù)類型36形式:Type自定義類型名 元素名[(下標(biāo))]As類型名

[元素名[(下標(biāo))]As類型名]EndType其中:元素名

表示自定義類型中的一個(gè)成員下標(biāo)

表示該成員是一個(gè)數(shù)組類型名

該成員的標(biāo)準(zhǔn)數(shù)據(jù)類型自定義類型形式:Type自定義類型名自定義類型37例如:定義班級(jí)中學(xué)生的基本情況的數(shù)據(jù)類型如下:

TypeStudentsˊ聲名Students是自定義類型名NameAsString*8ˊName是Students類型中的成員之一AgeAsIntegerˊAge是Students類型中的成員之一AddressAsString*20ˊAddress是Students類型中的成員之一EndType例如:定義班級(jí)中學(xué)生的基本情況的數(shù)據(jù)類型如下:38聲明變量:DimStudent1AsStudents要表示Student1變量中的某個(gè)元素,可使用下列方式:

變量名.元素名例如: Student1.Name="李萍" Student1.Age=19使用自定義類型應(yīng)注意的問(wèn)題:

自定義類型必須在標(biāo)準(zhǔn)模塊(.Bas)中定義,默認(rèn)是Public。聲明變量:DimStudent1AsStudents使39

自定義類型中的元素類型是字符串型時(shí),該字符串必須是定長(zhǎng)字符串。

要分清自定義類型名和具有該類型的變量名。前者表示的是一種數(shù)據(jù)類型,如同Integer、Single等一樣;后者是一個(gè)具有某種類型的變量,VB根據(jù)變量的類型分配必要的存儲(chǔ)空間。VB環(huán)境下的應(yīng)用程序開發(fā)課件40常量

普通常量

符號(hào)常量數(shù)值常量字符串常量邏輯常量日期常量4.3常量和變量4.3.1常量常量普通常量符號(hào)常量數(shù)值常量字符串常量邏輯常量日期常量4411、普通常量:⑴數(shù)值常量:例如:50、480085、-123、3.12436、123.123、-0.456等。⑵字符串常量:是用雙引號(hào)括起來(lái)的一串字符,每個(gè)字符占用一個(gè)字節(jié),如果是漢字,占用兩個(gè)字節(jié),但在VB中漢字被認(rèn)為是一個(gè)字符。 “abcd”ˊ長(zhǎng)度為4的字符串“VB5.0中文版”ˊ長(zhǎng)度為8的字符串1、普通常量:42⑶邏輯常量:邏輯真True、邏輯假False2.符號(hào)常量(用戶聲明常量)用戶聲明常量是用一個(gè)符號(hào)名來(lái)代替數(shù)值或字符串,稱為符號(hào)常量。命名規(guī)則:符號(hào)名必須是以字母開頭,由字母、數(shù)字、下劃線組成的長(zhǎng)度不大于40的字符串。格式:const符號(hào)常量名[As類型]=表達(dá)式[,符號(hào)常量名=表達(dá)式

]VB環(huán)境下的應(yīng)用程序開發(fā)課件43功能:設(shè)置符號(hào)常量為表達(dá)式的值。舉例:下面的語(yǔ)句分別定義了四個(gè)符號(hào)常量ConstNAMEAsString=“LiLin“‘定義NAME是符號(hào)常量,其值是字符串“LiLin“ConstNUMAsInteger=4450‘定義NUM是符號(hào)常量,其值是整型數(shù)4450ConstPi=3.14159‘定義PI是符號(hào)常量,其值是單精度數(shù)3.14159功能:設(shè)置符號(hào)常量為表達(dá)式的值。441變量和變量名變量是指在程序運(yùn)行期間其值可以變化的量。命名規(guī)則:

變量名必須以字母A~Z(或a~z)開頭。

構(gòu)成變量名的字符串由英文字母、數(shù)字、下劃線符號(hào)組成。4.3.2變量1變量和變量名變量是指在程序運(yùn)行期間其值可以變化的量。445

變量名中間不允許有空格。

VisualBasic的保留字不能作為變量名。

在VisualBasic語(yǔ)言中,變量名不區(qū)分大小寫。如ABC、abc、aBc都認(rèn)為是一個(gè)相同的變量名。為了便于區(qū)分,一般變量名首字母用大寫字母,其余用小寫字母表示,而符號(hào)常量全部用大寫字母表示。變量名中間不允許有空格。462變量的聲明及類型⑴用Dim關(guān)鍵字聲明變量例子:DimAgeAsInteger‘定義Age為整型變量DimStrTempAsString‘定義StrTemp為不定長(zhǎng)字符型變量DimStrNameAsString*10‘定義StrName為定長(zhǎng)字符變量DimNumberAsSingle,CountAsSingle‘定義Number和Count都是單精度變量DimNumber,CountAsSingle‘定義Number為變體變量,Count為單精度變量從上面的例子可知:

★字符串變量有定長(zhǎng)和不定長(zhǎng)兩種形式;★在一個(gè)Dim語(yǔ)句中定義多個(gè)變量時(shí)類型聲明不能共用。2變量的聲明及類型⑴用Dim關(guān)鍵字聲明變量47⑶Public關(guān)鍵字聲明變量用途:在全局模塊中使用,定義的變量是全局變量,作用域?yàn)檎麄€(gè)應(yīng)用程序。聲明的方式:?jiǎn)螕簟肮こ獭辈藛紊系摹疤砑幽K”選項(xiàng),添加一個(gè)新模塊文件或打開現(xiàn)有的模塊文件。用Public語(yǔ)句定義變量,格式為:

Public變量名As類型名例子:PublicPIAsSinglePublicAAAsInteger⑶Public關(guān)鍵字聲明變量48⑵用Static關(guān)鍵字聲明變量格式:Static變量名As類型名用途:在過(guò)程中定義靜態(tài)變量和靜態(tài)數(shù)組。說(shuō)明:該變量的值在函數(shù)或過(guò)程執(zhí)行結(jié)束后能保存下來(lái)所以,下一次執(zhí)行時(shí),該值不再初始化。例子:PrivateSubform_Click()DimA1AsInteger StaticA2AsInteger A1=A1+1 A2=A2+1

EndSub

該過(guò)程中A1和A2定義為不同類型的整型變量。A1的值每調(diào)用一次過(guò)程就自動(dòng)加1,過(guò)程調(diào)用一結(jié)束,其值就變?yōu)?。A2的值每調(diào)用一次過(guò)程也自動(dòng)加1,過(guò)程調(diào)用結(jié)束時(shí),A2的值等于調(diào)用該過(guò)程的次數(shù)。⑵用Static關(guān)鍵字聲明變量該過(guò)程中A149⑷用類型說(shuō)明符直接聲明變量格式:變量名+類型說(shuō)明符類型說(shuō)明符放有:%表示整型&表示長(zhǎng)整型!表示單精度型#表示雙精度型@表示貨幣型$表示字符型例如:Name$ˊ定義字符型變量Price!ˊ定義單精度型變量 Age%ˊ定義整型變量⑷用類型說(shuō)明符直接聲明變量503變量的作用域①局部變量——用Dim語(yǔ)句定義,只能在本過(guò)程中使用,其他過(guò)程不可訪問(wèn)。隨過(guò)程的調(diào)用分配存儲(chǔ)單元,進(jìn)行變量的初始化,一旦過(guò)程結(jié)束,變量的內(nèi)容自動(dòng)消失,并釋放所占用的存儲(chǔ)單元。不同的過(guò)程中可使用相同的變量名。②窗體/模塊級(jí)變量——用Dim語(yǔ)句或Private語(yǔ)句,在“通用聲明”段中定義。放在一個(gè)窗體/模塊的任何過(guò)程外,可被本窗體/模塊的任何過(guò)程訪問(wèn)。

3變量的作用域①局部變量——51③全局變量用Public語(yǔ)句聲明,在“通用聲明”段中定義,放在標(biāo)準(zhǔn)模塊的任何過(guò)程或函數(shù)外,可被應(yīng)用程序的任何過(guò)程或函數(shù)訪問(wèn)。其值在整個(gè)應(yīng)用程序中始終不會(huì)消失和重新初始化,只有在整個(gè)程序結(jié)束時(shí),才會(huì)釋放。④靜態(tài)變量——用Static語(yǔ)句定義的局部變量,在程序運(yùn)行過(guò)程中該類變量的值可保留。每次調(diào)用過(guò)程時(shí),用Static定義的靜態(tài)變量保持原來(lái)的值,而用Dim定義的變量要重新初始化。③全局變量52

聲明變量時(shí)作用域的規(guī)則:在窗體、模塊中聲明的變量是模塊級(jí)的,對(duì)整個(gè)模塊都有效。在過(guò)程內(nèi)用Dim語(yǔ)句聲明的變量只在過(guò)程內(nèi)有效。用Public語(yǔ)句聲明的變量是程序級(jí)的,在整個(gè)程序中起作用。用Static語(yǔ)句聲明的變量是靜態(tài)變量,即使在過(guò)程結(jié)束后也一直保存著,VB在任何時(shí)候都不會(huì)去初始化靜態(tài)變量。聲明變量時(shí)作用域的規(guī)則:53

算術(shù)運(yùn)算符運(yùn)算符功能優(yōu)先級(jí)運(yùn)算符功能優(yōu)先級(jí)∧指數(shù)1\整除4-負(fù)號(hào)2Mod取余5

乘3+加6/除3-減64.4運(yùn)算符和表達(dá)式 算術(shù)運(yùn)算符運(yùn)算符功能優(yōu)先級(jí)運(yùn)算符功能優(yōu)先級(jí)∧指數(shù)1\54運(yùn)算符功能例子結(jié)果>大于"1234">"129"False>=大于等于"abc">="abc"False<小于34<67True<=小于等于"23"<="3"True=等于150=150True<>不等于"xyz"<>"XYZ"True功能:對(duì)兩個(gè)操作數(shù)進(jìn)行大小比較,若關(guān)系成立,返回True,否則返回False.

關(guān)系運(yùn)算符運(yùn)算符例子結(jié)果>大于"1234">"129"Fals55

Not—邏輯非,當(dāng)操作數(shù)為假時(shí),結(jié)果為真。And—邏輯與,兩個(gè)操作數(shù)都為真時(shí)結(jié)果為真Or—邏輯或,兩個(gè)操作數(shù)只要有一個(gè)為真,結(jié)果就為真。Not—邏輯非,返回操作數(shù)的相反邏輯值Xor—邏輯異或,兩個(gè)操作數(shù)不同時(shí),結(jié)果為真,否則為假。Eqv—邏輯等,兩個(gè)操作數(shù)相同時(shí),結(jié)果為真。Imp—蘊(yùn)含,第一個(gè)操作數(shù)為真,第二個(gè)操作數(shù)為假時(shí),結(jié)果為假,其余真。

邏輯運(yùn)算符Not—邏輯非,當(dāng)操作數(shù)為假時(shí),結(jié)果為真。邏輯運(yùn)56字符串運(yùn)算符

運(yùn)算符:&或+“12000”+“12345”結(jié)果為“1200012345”兩個(gè)字符串連接“12000”&”12345”結(jié)果為“1200012345”字符串運(yùn)算符運(yùn)算符:&或+57內(nèi)部函數(shù)數(shù)學(xué)函數(shù)轉(zhuǎn)換函數(shù)字符串函數(shù)日期函數(shù)約定:N—

數(shù)值表達(dá)式

C—字符表達(dá)式D—日期表達(dá)式$—函數(shù)名后有該字符,表示返回值為字符串4.5常用內(nèi)部函數(shù)內(nèi)部函數(shù)數(shù)學(xué)函數(shù)轉(zhuǎn)換函數(shù)字符串函數(shù)日期函數(shù)約定:4.5常用內(nèi)58函數(shù)名含義示例結(jié)果Abs(N)Cos(N)Exp(N)Log(N)Rnd[(N)]Sin(N)Sgn(N)Sqr(N)Tan(N)取絕對(duì)值余弦函數(shù)e為底的指數(shù)函數(shù),即ex以e為底的自然對(duì)數(shù)產(chǎn)生隨機(jī)數(shù)正弦函數(shù)符號(hào)函數(shù)平方根正切函數(shù)Abs(-3.5)Cos(0)Exp(3)Log(10)RndSin(0)Sgn(-3.5)Sqr(9)Tan(0)3.5120.0862.30-1之間的數(shù)0-1301數(shù)學(xué)函數(shù)函數(shù)名含義示例結(jié)果Abs(N)取絕對(duì)值59說(shuō)明:在三角函數(shù)中,以弧度表示;sqr的自變量不能是負(fù)數(shù)Log和Exp是一對(duì)互為反函數(shù),即Log(Exp(N)),Exp(Log(N))結(jié)果還是原來(lái)各自變量的值。 ☆Mid()函數(shù)

格式:Mid(String,n,m) 功能:從String字符串中從第n個(gè)字符開始連續(xù)取m個(gè)字符。 例子:Mid(“VisualBasic6.0”,7,5)函數(shù)返回值是“Basic2字符串函數(shù)說(shuō)明:☆Mid()函數(shù)2字符串函數(shù)60”☆Len()函數(shù) 格式:Len(String) 功能:計(jì)算字符串的長(zhǎng)度。 例子:Len(“VisualBasic”)函數(shù)返回值為11☆I(lǐng)nStr()函數(shù) 格式:InStr([n,]string1,string2) 功能:在string1中從n開始查找string2,如果存在,函數(shù)值為string2在string1中的位置值;找不到時(shí)函數(shù)的值為0。n是可選參數(shù)。為數(shù)值表達(dá)式,設(shè)置每次搜索的起點(diǎn)。如果省略,將從第一個(gè)字符的位置開始。 例子:InStr(2,”efabcdefg”,”ef”)函數(shù)返回值為7”61(1).Asc()格式:Asc(String)功能:將字符串轉(zhuǎn)換成ASCII值。示例:a=Asc(“C”)a的值為67。(2).Chr()格式:Chr(x)功能:將ASCII碼值轉(zhuǎn)換成字符串。示例:a=Chr(66)a的值為字符“B”。3轉(zhuǎn)換函數(shù)(1).Asc()3轉(zhuǎn)換函數(shù)62(3).Val()格式:Val(String)功能:將字符串量轉(zhuǎn)換成數(shù)值量。示例:a=Val(“-13.456”)a的值為-13.456b=Val(“13-456”)出錯(cuò)(4).Str()格式:Str(Number)功能:將數(shù)值型量轉(zhuǎn)換成字符型量。說(shuō)明:Number為一個(gè)數(shù)值型量,返回一個(gè)字符型量。示例:a=Str(12345)a的值為字符“12345”。(3).Val()63Chr和Asc函數(shù)是一對(duì)互為反函數(shù),即Chr(Asc(n))、Asc(Chr(c)的結(jié)果為原來(lái)各自自變量的值,如Chr(Asc(122))的結(jié)果還是122。Str函數(shù)將非負(fù)數(shù)值轉(zhuǎn)換成字符類型后,會(huì)在轉(zhuǎn)換后的字符串左邊增加空格,即數(shù)值的符號(hào)位。如Str(123)的結(jié)果為“123”,而不是“123”。Val將數(shù)字字符串轉(zhuǎn)換為數(shù)值,當(dāng)字符串中出現(xiàn)非數(shù)值字符時(shí),停止轉(zhuǎn)換,函數(shù)返回的是停止轉(zhuǎn)換前的結(jié)果。如Val(“–123.45ty”)結(jié)果為-123.45。Chr和Asc函數(shù)是一對(duì)互為反函數(shù),即Chr(Asc(n))64

程序中的語(yǔ)句依照其在程序中的位置依次順序地執(zhí)行,叫做語(yǔ)句的順序執(zhí)行。1.數(shù)據(jù)輸入

VB可以通過(guò)賦值語(yǔ)句、InputBox函數(shù)、MsgBox函數(shù)、MsgBox過(guò)程給程序提供初值。4.6程序設(shè)計(jì)4.6.1順序結(jié)構(gòu)程序設(shè)計(jì)程序中的語(yǔ)句依照其在程序中的位置依次順序地執(zhí)行,叫做語(yǔ)65⑴賦值語(yǔ)句格式:[Let]變量名/對(duì)象屬性名=表達(dá)式功能:將賦值號(hào)右邊表達(dá)式的值賦給賦值號(hào)左邊的變量或?qū)ο髮傩?。舉例:Form1.width=300Form1.caption="輸入框"Temp=20⑴賦值語(yǔ)句66⑵InputBox()函數(shù)格式:InputBox[$](prompt[,title][,default][,xpos,ypos])InputBox[$](提示[,標(biāo)題][,默認(rèn)][,x坐標(biāo)位置][,y坐標(biāo)位置])功能:打開一個(gè)對(duì)話框,等待用戶鍵入內(nèi)容。當(dāng)用戶單擊“確定”按鈕或按回車鍵時(shí),函數(shù)返回輸入的值,其值的類型為字符串。⑵InputBox()函數(shù)67說(shuō)明:①“$”:可選項(xiàng)。有此項(xiàng)時(shí),返回的數(shù)據(jù)類型是字符串型;省略此項(xiàng),返回的數(shù)據(jù)類型是變體型。

②“prompt(提示)”:字符串表達(dá)式,必選項(xiàng).在對(duì)話框中作為提示信息,可以是字符或漢字,最大長(zhǎng)度大約為1024個(gè)字符,由所用字符的寬度決定。如果提示信息包含多行,則必須在每行末用回車符(Chr(13))、換行符(Chr(10))或回車換行符的組合(Chr(13)&Chr(10))來(lái)分隔。③“title(標(biāo)題)”:可選項(xiàng)。顯示在對(duì)話框標(biāo)題欄中的字符串表達(dá)式.如果省略title,則把應(yīng)用程序名放在標(biāo)題欄中。VB環(huán)境下的應(yīng)用程序開發(fā)課件68④“default(缺?。保嚎蛇x項(xiàng),顯示文本框中的字符串表達(dá)式。當(dāng)在輸入對(duì)話框中無(wú)輸入內(nèi)容時(shí),該缺省值作為輸入的內(nèi)容。如果省略default,則文本框?yàn)榭?。⑤“xpos,ypos(X坐標(biāo)位置,Y坐標(biāo)位置)”:可選項(xiàng),整型表達(dá)式,成對(duì)出現(xiàn)。xpos用來(lái)指定對(duì)話框的左邊與屏幕左邊的水平距離,ypos用來(lái)指定對(duì)話框的上邊與屏幕上邊的垂直距離。如果省略該項(xiàng),則對(duì)話框在水平方向居中,在垂直方向距下邊大約三分之一的位置。④“default(缺?。保嚎蛇x項(xiàng),顯示文本框中的字符串69注意:函數(shù)中的各項(xiàng)參數(shù)次序必須一一對(duì)應(yīng),除了“prompt”一項(xiàng)不能省略外,其余各項(xiàng)均為可選項(xiàng),如果要省略某些參數(shù),則必須加入相應(yīng)的逗號(hào)分割符。例li3-2:在InputBox函數(shù)的輸入框中輸入學(xué)校名稱,按“確定”按鈕,窗體顯示輸入值,按“取消”按鈕,返回空字符。注意:函數(shù)中的各項(xiàng)參數(shù)次序必須一一對(duì)應(yīng),除了“prompt”70⑶MsgBox函數(shù)和MsgBox過(guò)程MsgBox函數(shù)格式:變量%=MsgBox(提示[,按鈕][,標(biāo)題])MsgBox過(guò)程格式:MsgBox(提示[,按鈕][,標(biāo)題])功能:打開一個(gè)消息框,等待用戶選擇一個(gè)按鈕。MsgBox函數(shù)返回所選按鈕對(duì)應(yīng)的整數(shù)值,其數(shù)值的意義見下表。若不需要返回值,則可作為MsgBox過(guò)程使用。⑶MsgBox函數(shù)和MsgBox過(guò)程功能:71內(nèi)部常數(shù)返回值被單擊的按鈕vbOkvbCancelvbAboutvbRetryvbIgnorevbYesvbNo1234567確定取消終止重試忽略是否MsgBox函數(shù)返回所選按鈕整數(shù)值的意義內(nèi)部常數(shù)返回值被單擊的按鈕vbOk1確定MsgBox函數(shù)返回72說(shuō)明:①“提示”和“標(biāo)題”的含義與InputBox()函數(shù)中對(duì)應(yīng)的參數(shù)相同。②“按鈕”:可選項(xiàng),為整型表達(dá)式。用來(lái)設(shè)定要顯示的按鈕的數(shù)目、類型和出現(xiàn)在消息框中的圖標(biāo)類型。其設(shè)置見下表:③“變量%”:返回值。當(dāng)用戶按下消息框按鈕時(shí),系統(tǒng)將返回按鍵相對(duì)應(yīng)的數(shù)值,利用這個(gè)返回信息,用戶可以在以后的程序中作出不同的響應(yīng)。

說(shuō)明: 73例如在打印文件時(shí),如果選擇“確定”按鈕,那么程序就應(yīng)該打印文件;如果選擇“取消”按鈕,程序就不再打印文件;如果選擇“重試”,那么程序就應(yīng)該能重新開始打印文件。例li3-3利用InputBox和MsgBox函數(shù)設(shè)計(jì)一個(gè)文件名輸入對(duì)話框和提示對(duì)話框例如例li3-3利用InputBox和MsgBox函數(shù)設(shè)計(jì)74分組

內(nèi)部常數(shù)

按鈕值

描述

按鈕數(shù)目VbOkOnlyVbOkCancelVbAboutRetryIgnoreVbYesNoCancelVbYesNoVbRetyCancel012345只顯示確定按鈕顯示“確定”、“取消”按鈕顯示“終止”、“重試”、“忽略”按鈕顯示“是”、“否”、“取消”按鈕顯示“是”、“否”顯示“重試”、“取消”按鈕圖標(biāo)類型VbCriticalVbQuestionVbExclamationVbInformation16324864關(guān)鍵信息圖標(biāo),紅色STOP標(biāo)志詢問(wèn)信息圖標(biāo)?警告信息圖標(biāo)!信息圖標(biāo)I默認(rèn)按鈕VbDefaultButton1VbDefaultButton2VbDefaultButton30256512第1個(gè)按鈕為默認(rèn)第2個(gè)按鈕為默認(rèn)第3個(gè)按鈕為默認(rèn)模式VbApplicationModaleVbSystemModal04096應(yīng)用模式系統(tǒng)模式“按鈕”設(shè)置值及意義分組內(nèi)部常數(shù)按鈕值描75(3)格式輸出函數(shù)格式:Format$(表達(dá)式[,格式字符串])功能:將數(shù)值型量轉(zhuǎn)換為字符型量,并根據(jù)格式字符串中的結(jié)構(gòu)將其格式化。說(shuō)明:“表達(dá)式”是要格式化的數(shù)值、日期和字符串類型表達(dá)式?!案袷阶址庇腥悾簲?shù)值格式、日期格式和字符串格式。格式字符串一定要用引號(hào)括起來(lái)。下面分別說(shuō)明三種格式字符串的形式及使用方法。(3)格式輸出函數(shù)76①數(shù)值格式化 數(shù)值格式化是將數(shù)值表達(dá)式的值按“格式字符串”指定的格式輸出。②日期和時(shí)間格式化將日期或數(shù)值表達(dá)式的值按“格式字符串”指定的格式轉(zhuǎn)換。③字符串格式化將字符串按指定的格式進(jìn)行轉(zhuǎn)換。①數(shù)值格式化77⑵Print方法Print方法的作用是在對(duì)象上輸出信息。形式:[對(duì)象.]Print[Spc(n)/Tab(n)][表達(dá)式表]其中:對(duì)象可以是窗體(Form)、圖形框(PictureBox)或打印機(jī)(Printer)。如果省略了對(duì)象,則在窗體上輸出。⒉數(shù)據(jù)輸出⑴標(biāo)準(zhǔn)顯示輸出語(yǔ)句格式:Print[表達(dá)式][{,|;}]⑵Print方法⒉數(shù)據(jù)輸出78Spc(n)函數(shù):用于在輸出時(shí)插入n個(gè)空格。Tab(n)函數(shù):用于在輸出表達(dá)式列表前向右移動(dòng)n列。表達(dá)式表:要輸出的數(shù)值或字符串表達(dá)式,其開始打印的位置是由對(duì)象CurrentX和CurrentY屬性決定的,缺省時(shí)打印在對(duì)象的左上角0,0處。3.Rem、Stop、End語(yǔ)句⑴Rem語(yǔ)句格式:Rem注釋內(nèi)容或ˊ注釋內(nèi)容Spc(n)函數(shù):用于在輸出時(shí)插入n個(gè)空格。3.Rem、79⑵Stop語(yǔ)句格式:Stop功能:暫時(shí)停止語(yǔ)句執(zhí)行。 ①Stop語(yǔ)句可以放在程序的任何地方,它的作用相當(dāng)于在程序代碼中設(shè)置的斷點(diǎn)。 ②Stop語(yǔ)句只是暫停程序的執(zhí)行,不會(huì)關(guān)閉任何文件或清除變量。但當(dāng)VB程序以編譯后的可執(zhí)行文件(.ExE)運(yùn)行時(shí),該功能失去。 ③執(zhí)行Stop語(yǔ)句,程序暫停執(zhí)行,若要繼續(xù)運(yùn)行,則可用鼠標(biāo)單擊運(yùn)行按鈕。⑶End語(yǔ)句格式:End功能:在過(guò)程中關(guān)閉代碼執(zhí)行、關(guān)閉以O(shè)pen語(yǔ)句打開的文件并清除變量,停止執(zhí)行⑵Stop語(yǔ)句⑶End語(yǔ)句80

VisualBasic選擇結(jié)構(gòu)的實(shí)現(xiàn):

If…Then語(yǔ)句(單分支結(jié)構(gòu))

If...Then…Else語(yǔ)句(雙分支結(jié)構(gòu))

SelectCase語(yǔ)句(多分支結(jié)構(gòu))4.6.2選擇結(jié)構(gòu)程序設(shè)計(jì)VisualBasic選擇結(jié)構(gòu)的實(shí)現(xiàn):4.6.281

格式1:If〈表達(dá)式〉Then語(yǔ)句格式2:If〈表達(dá)式〉Then 語(yǔ)句塊EndIfTF語(yǔ)句(塊)表達(dá)式圖3.8單分支結(jié)構(gòu)功能:當(dāng)條件表達(dá)式的值為“真”時(shí),則執(zhí)行Then后面的語(yǔ)句或語(yǔ)句塊;否則不執(zhí)行任何操作。1.If…Then語(yǔ)句(單分支結(jié)構(gòu))格式1:If〈表達(dá)式〉Then語(yǔ)句TF語(yǔ)句(塊)表82

格式1:

If<表達(dá)式>Then<語(yǔ)句塊1>Else<語(yǔ)句塊2>EndIf格式2:If<表達(dá)式>Then<語(yǔ)句1>Else<語(yǔ)句2>FT語(yǔ)句(塊)1語(yǔ)句(塊)2表達(dá)式圖3.9雙分支結(jié)構(gòu)2.If…Then…Else語(yǔ)句結(jié)構(gòu)(雙分支結(jié)構(gòu)) 格式1:If<表達(dá)式>ThenFT語(yǔ)句(塊)183語(yǔ)句格式:If〈表達(dá)式1〉Then 〈語(yǔ)句塊1〉 ElseIf〈表達(dá)式2〉Then〈語(yǔ)句塊2〉 …… [Else 〈語(yǔ)句塊n+1]EndIf

If…Then…ElseIf語(yǔ)句(多分支結(jié)構(gòu))結(jié)構(gòu)語(yǔ)句格式:If〈表達(dá)式1〉Then84FTTT……表達(dá)式1表達(dá)式2表達(dá)式nn語(yǔ)句塊11語(yǔ)句塊2語(yǔ)句塊nn語(yǔ)句塊n+11F…圖3.10多分支結(jié)構(gòu)FTTT……表達(dá)式1表達(dá)式2表達(dá)式nn語(yǔ)句塊11語(yǔ)句塊2語(yǔ)句85說(shuō)明:①不管有幾個(gè)分支,程序執(zhí)行了一個(gè)分支后,其余分支不再執(zhí)行。②ElseIf子句的數(shù)量沒(méi)有限制,可以根據(jù)需要使用任意多個(gè)ElseIf子句。③語(yǔ)句中的ElseIf子句和Else子句都是可選項(xiàng),如果省略這些子句,則成為單分支結(jié)構(gòu)。④If...Then...ElseIf只是If...Then...Else的一個(gè)特例。說(shuō)明:86If語(yǔ)句的嵌套是指if或else語(yǔ)句后面的語(yǔ)句塊中又包含if語(yǔ)句。語(yǔ)句形式為:If<表達(dá)式1>thenif<表達(dá)式11>then ……endif……endif4.If語(yǔ)句的嵌套If語(yǔ)句的嵌套是指if或else語(yǔ)句后面的語(yǔ)句塊中又包含i87例如:已知X、Y、Z三個(gè)數(shù),比較他們的大小并排序,使得X>Y>Z。Ifx<ythent=x:x=y:y=t‘x與y交換,使x>yEndifIfy<zthent=y:y=z:z=t‘y與z交換,使y>zifx<ythen‘此時(shí)x,y的值已變化t=x:x=y:y=tendifendif例如:已知X、Y、Z三個(gè)數(shù),比較他們的大小并Ifx<y88格式:

SelectCase測(cè)試變量或表達(dá)式[Case表達(dá)式表1[語(yǔ)句塊1]][Case表達(dá)式表2[語(yǔ)句塊2]]……[Case表達(dá)式表n[語(yǔ)句塊n]][CaseElse[語(yǔ)句塊n+1]]EndSelect5.SelectCase語(yǔ)句(多分支結(jié)構(gòu))格式:5.SelectCase語(yǔ)句(多分支結(jié)構(gòu))89說(shuō)明:★測(cè)試變量或表達(dá)式只能是數(shù)值表達(dá)式或字符串表達(dá)式,不能是邏輯表達(dá)式?!锉磉_(dá)式表與測(cè)試變量或表達(dá)式的類型必須相同,每一個(gè)表達(dá)式表是一個(gè)或幾個(gè)值的列表。表達(dá)式表有四種形式:

一個(gè)表達(dá)式。如:Case6

一組用逗號(hào)隔開的枚舉值。如:Case1,3,5,7

表達(dá)式1TO表達(dá)式2。如:Case1To10

Is<關(guān)系運(yùn)算符><表達(dá)式>。如:CaseIs>=80說(shuō)明:一個(gè)表達(dá)式。如:Case90★當(dāng)有多個(gè)Case子句的取值范圍和測(cè)試表達(dá)式的值域相符時(shí),只執(zhí)行符合要求的第一個(gè)Case子句后的語(yǔ)句塊?!颯electCase語(yǔ)句只對(duì)單個(gè)表達(dá)式求值,并根據(jù)求值結(jié)果執(zhí)行不同的語(yǔ)句塊;而If…Then…Else語(yǔ)句可以對(duì)不同的表達(dá)式求值,然后執(zhí)行不同的操作。這是兩者的主要區(qū)別。★當(dāng)有多個(gè)Case子句的取值范圍和測(cè)試表達(dá)式的值域相符時(shí),只91

循環(huán)是在指定的條件下多次重復(fù)執(zhí)行一組語(yǔ)句,這可通過(guò)循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)。VB中提供了兩種類型的循環(huán)語(yǔ)句:一種是計(jì)數(shù)循環(huán)語(yǔ)句;另一種是條件循環(huán)語(yǔ)句。VisualBasic支持的循環(huán)結(jié)構(gòu)有:

☆Do…Loop☆For...Next☆While…Wend☆ForEach.Next

這里只介紹前兩種4.6.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)是在指定的條件下多次重復(fù)執(zhí)行一組語(yǔ)句,這可921.Do...Loop循環(huán)Do…Loop循環(huán)用于事先不知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu)。此種語(yǔ)句有四種語(yǔ)法格式:⑴DoWhile…Loop語(yǔ)句⑵Do…LoopWhile語(yǔ)句⑶DoUntil…Loop語(yǔ)句⑷Do…LoopUntil語(yǔ)句⑴DoWhile…Loop格式:DoWhile〈條件表達(dá)式〉〈循環(huán)體〉[ExitDo]〈循環(huán)體〉Loop1.Do...Loop循環(huán)Do…Loop循環(huán)用于事先不知道93TF條件循環(huán)體圖3.14DoWhile

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論