版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VisualBasic程序設(shè)計河西學(xué)院計算機系高彩霞/gcxgcuncun@1第1講VisualBasic程序開發(fā)環(huán)境、對象及操作第2講數(shù)據(jù)類型及運算第3講控制結(jié)構(gòu)第4講常用標(biāo)準(zhǔn)控件(文本、按鈕、圖形)第5講數(shù)組第6講常用標(biāo)準(zhǔn)控件(選擇性控件及框架)第7講過程第8講常用標(biāo)準(zhǔn)控件(滾動條、計時器、焦點等)第9講菜單和對話框第10講多重窗體、鍵盤與鼠標(biāo)事件第11講數(shù)據(jù)文件目錄2第1講VisualBasic程序開發(fā)環(huán)境、對象及操作1.1VisualBasic的特點和版本
1.2VisualBasic的啟動與退出
1.3集成開發(fā)環(huán)境
1.4對象1.5窗體1.6控件
31.1VisualBasic的特點和版本
本章目錄
VisualBasic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。4可視化編程面向?qū)ο蟮某绦蛟O(shè)計和結(jié)構(gòu)化程序設(shè)計語言事件驅(qū)動編程機制訪問數(shù)據(jù)庫動態(tài)數(shù)據(jù)交換(DDE)對象的鏈接與嵌入(OLE)動態(tài)鏈接庫(DLL)建立用戶自己的ActiveX控件和ActiveX文檔Internet組件下載完備的幫助系統(tǒng)
1.1.1VB的特點本章目錄51.1.2vb的版本VisualBasic6.0包括3種版本,分別為學(xué)習(xí)版、專業(yè)版和企業(yè)版。
本章目錄61.2VisualBasic的啟動與退出安裝:執(zhí)行VB6.0的Setup.exe,在安裝程序的提示下進行,初學(xué)者可采用典型安裝方式。VB6.0聯(lián)機幫助文件使用MSDN文檔格式,聯(lián)機幫助文件不在VB6.0系統(tǒng)盤上,而與VisualStudio產(chǎn)品的幫助集合在兩張CD盤上,安裝過程中,系統(tǒng)會提示插入MSDN盤。
本章目錄7在驅(qū)動器中插入VB6.0系統(tǒng)CD盤。安裝程序在CD盤的根目錄下,運行安裝程序Setup.exe,即可進入“安裝程序向?qū)А薄?啟動VB有4種方法:選擇開始菜單中的
MicrosoftVisualBasic6.0中文版程序。VB6.0窗口列出了VB能夠建立的應(yīng)用程序類型,初學(xué)者只要選擇默認標(biāo)準(zhǔn).EXE。單擊新建按鈕,就可創(chuàng)建該類型的應(yīng)用程序。利用我的電腦開始——運行桌面快捷方法本章目錄91.3集成開發(fā)環(huán)境本章目錄101.3.1主窗口
三種工作模式
設(shè)計模式界面的設(shè)計和代碼的編制
運行模式運行應(yīng)用程序
中斷模式暫時中斷程序運行,調(diào)試程序
2.菜單欄
包括13個下拉菜單
3.工具欄本章目錄111.3.2窗體設(shè)計窗口窗體是建立VB應(yīng)用程序的主要部分,一個應(yīng)用程序至少有一個窗體窗口。每個窗體必須有一個唯一的窗體名,默認名為Form1.設(shè)計狀態(tài)的窗體由網(wǎng)格點構(gòu)成,方便用戶對控件的定位,網(wǎng)格點間距可以通過工具|選項|通用進入窗體網(wǎng)格設(shè)置.運行時可通過屬性控制窗體的可見性(窗體的網(wǎng)格始終不顯示)。本章目錄121.3.3代碼設(shè)計窗口
用來進行代碼設(shè)計:各種事件過程、過程代碼的編寫和修改。打開代碼設(shè)計窗口的方法:雙擊窗體、控件資源管理器窗口的
”查看代碼”本章目錄131.3.4屬性窗口設(shè)置窗體或控件的屬性,如顏色、字體、大小等。本章目錄141.3.5工程管理器窗口
保存一個應(yīng)用程序所有屬性以及組成這個應(yīng)用程序所有的文件。工程文件的擴展名為.VBP,工程文件名顯示在工程文件窗口的標(biāo)題框內(nèi)。
已存盤未存盤本章目錄151.3.6工具箱窗口
由21個被繪制成按鈕形式的圖標(biāo)構(gòu)成,利用這些工具,用戶可以在窗體上設(shè)計各種控件。其中20個控件稱為標(biāo)準(zhǔn)控件(注意,指針不是控件,僅用于移動窗體和控件,以及調(diào)整它們的大小)。也可通過工程|部件命令將第3方開發(fā)的其他控件裝入到工具箱。本章目錄161.4VB對象對象指現(xiàn)實世界中的實體。如一個人、一輛汽車、一臺電腦、一份報表等。每個對象有自己的特征(屬性)、行為(方法)和發(fā)生在該對象上的活動(事件)。例如人具有身高、體重等特征,具有行走、說話等行為,外界作用在人對象上的各種活動,如下雨等。本章目錄17例如:工具箱內(nèi)的TextBox是類(它確定了TextBox的屬性、方法和事件)窗體上顯示的是兩個TextBox對象本章目錄18屬性、事件和方法構(gòu)成對象的三要素屬性存放對象的數(shù)據(jù)(決定對象外觀及功能)例如,控件名稱、文本、大小等屬性。對象屬性的設(shè)置方法:
設(shè)計階段利用屬性窗口直接設(shè)置屬性值程序運行時通過語句對象名.屬性名=屬性值
例如:Command1.Caption="確定"注意:若屬性只能在設(shè)計階段設(shè)置,在程序運行階段不可改變,稱為只讀屬性。
1.4.1對象的屬性、事件和方法
本章目錄19事件
發(fā)生在對象上的事情同一事件,對不同的對象,會引發(fā)不同的反應(yīng):教師_鈴聲()講課EndSub學(xué)生_鈴聲()聽講EndSubVB為對象預(yù)先定義了一系列的事件。例如,單擊Click、獲取焦點GotFocus、按下鍵盤KeyPress等其他人員_鈴聲()可不于響應(yīng)EndSub本章目錄20事件過程應(yīng)用程序處理事件的步驟應(yīng)用程序設(shè)計的主要工作就是為對象編寫事件過程的代碼。事件過程的形式如下:Sub對象名_事件(參數(shù))
… 事件過程代碼EndSub本章目錄21例:單擊按鈕,使Text1的字體為20磅.SubCommand1_Click()
Text1.FontSize=20EndSub一個動作可能同時發(fā)生多個事件。例如單擊鼠標(biāo)同時發(fā)生了:Click、MouseDown、MouseUp事件編程時,只要對需要的事件過程編碼。注意:在代碼窗,自動產(chǎn)生事件過程的模板,不要修改模板的內(nèi)容,只需鍵入過程的代碼。模板產(chǎn)生用戶輸入本章目錄22程序執(zhí)行的次序與程序設(shè)計者無關(guān),取決于用戶的操作,這就是事件驅(qū)動程序設(shè)計方式。VB程序的執(zhí)行步驟如下:①
啟動應(yīng)用程序,裝載和顯示窗體;②
窗體(或窗體上的控件)等待事件的發(fā)生;③
事件發(fā)生時,執(zhí)行對應(yīng)的事件過程;④
重復(fù)執(zhí)行步驟②和③。事件驅(qū)動本章目錄23方法面向?qū)ο蟮某绦蛟O(shè)計語言,為程序設(shè)計人員提供了一種特殊的過程和函數(shù)。方法是面向?qū)ο蟮?,調(diào)用時一定要指明對象。對象方法的調(diào)用格式為: [對象.]方法[參數(shù)名表]若省略對象,表示當(dāng)前對象,一般指窗體。例如:Text1.SetFocus此語句使Text1控件獲得焦點,光標(biāo)在本文框內(nèi)閃爍。本章目錄241.5窗體1.5.1窗體和控件具有基本屬性(1)Name名稱屬性所創(chuàng)建的對象名稱,在程序中引用。(2)Caption標(biāo)題屬性該屬性決定了對象上顯示的內(nèi)容。(3)Height、Width、Top和Left屬性決定對象的高度、寬度,和位置。本章目錄25(4)Enabled屬性 對象是否允許操作(5)Visible屬性 對象是否可見(6)Font屬性組 文本的外觀FontName字體、FontSize大小FontBold粗體、FontItalic斜體、FontStrikethru刪除線、FontUnderline下劃線
本章目錄26(7)ForeColor屬性前景顏色(8)BackColor屬性背景顏色(9)MousePointer鼠標(biāo)指針類型 設(shè)置值范圍0~15,由系統(tǒng)指定。若為99,由用戶提供的圖形文件定義鼠標(biāo)指針形狀。(10)MouseIcon屬性在MousePointer屬性值為99時,存放自定義的鼠標(biāo)圖標(biāo)文件(.ico或.cur)。圖標(biāo)庫在Graphics目錄下。本章目錄27AutoRedraw(自動重畫)BorderStyle(邊框類型)ControlBox(控制框)Picture(圖形)WindowState(窗口狀態(tài))28控件默認屬性所謂默認屬性是程序運行時,可以改變某控件的值,而不必指定該控件的哪個屬性??丶J屬性控件默認屬性文本框命令按鈕單選按鈕TextDefaultValue標(biāo)簽圖形、圖像框復(fù)選框CaptionPictureValue例如,下面兩條語句是等價的:Text1.Text="VisualBASIC"Text1="VisualBASIC"本章目錄291.5.2窗體-事件
Click(單擊)事件DblClick(雙擊)事件Load(裝入)事件Unload(卸載)事件Activate(活動)、Deactivdte(非活動)事件Paint(繪畫)事件
本章目錄301.5.3窗體-方法
使用方法的語法形式:[對象.]方法[參數(shù)列表]Cls方法清除運行時在窗體或圖形框中產(chǎn)生的文本或圖形,
Cls方法不能清除窗體在設(shè)計時的文本和圖形Move方法可移動窗體或控件,并可改變其大小。語法格式如下:[對象.]Move左邊距離[,上邊距離[,寬度[,高度]]]本章目錄311.6控件VisualBasic6.0的控件分為以下3類:
-標(biāo)準(zhǔn)控件(也稱內(nèi)部控件)
-ActiveX控件
-可插入對象控件的畫法和基本操作32第2講數(shù)據(jù)類型及運算2.1數(shù)據(jù)類型2.2變量和常量2.3運算符和表達式2.4常用內(nèi)部函數(shù)2.5程序結(jié)構(gòu)和編碼規(guī)則本章目錄33本章目錄2.1數(shù)據(jù)類型34352.2.1常量在程序運行過程中,其值不能被改變的量稱為常量。在VB中有三類常量:
普通常量符號常量系統(tǒng)常量。一、普通常量
1.
整型常量
(1)整型(Integer):表示-32768至32767之間的整數(shù)例如:1011020(2)長整型(Long):表示-2,147,483,648至2,147,483,647之間的整數(shù)例如:長整型常數(shù)的書寫:23&2.2變量和常量36
通常我們說的整型常量指的是十進制整數(shù),但VB中可以使用八進制和十六進制形式的整型常數(shù),因此整型常數(shù)有如下三種形式:
1)十進制整數(shù)。如125,0,-89。202)八進制整數(shù)。以&或&O開頭的整數(shù)是八進制整數(shù),如&O25表示八進制整數(shù)25,等于十進制數(shù)21。3)十六進制。以&H開頭的整數(shù)是十六進制整數(shù),如&H25表示十六進制整數(shù)25,等于十進制數(shù)37。37
2、實數(shù)1)單精度實型(Single):有效數(shù)為7位2)雙精度實型(Double):有效數(shù)為15位常量的表示:1)十進制小數(shù)形式。它是由正負號(+,-)、數(shù)字(0~9)和小數(shù)點(.)或類型符號(!、#)組成,即±n.n,±n!或±n#,其中n是0~9的數(shù)字。例如0.123、.123、123.0、123!、123#等2)指數(shù)形式?!纍E±m(xù)或±n.nE±m(xù),±nD±m(xù)或±n.nD±m(xù)例:1.25E+3和1.25D+3相當(dāng)于1250.0或者1.25×103。383、字符串常量在VB中字符串常量是用雙引號””括起的一串字符,可以是所有西文字符和漢字、標(biāo)點符號等;例如"ABC","abfg","123","0","VB程序設(shè)計"等。說明:(1)""表示空字符串,而""表示有一個空格的字符串;(2)若字符串中有雙引號,例如ABD"XYZ,則用連續(xù)兩個雙引號表示,即:"ABD""XYZ“4、邏輯(Boolean)數(shù)據(jù)類型只有兩個值True,或False。將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時:True為-1,F(xiàn)alse為0;其它數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時:非0為True,0為False。395、日期常量日期(Date)型數(shù)據(jù)按8字節(jié)的浮點數(shù)來存儲,表示日期范圍從公元100年1月1日~9999年12月31日,而時間范圍從0:00:00~23:59:59。一種在字面上可被認作日期和時間的字符,只要用號碼符“#”括起來,都可以作為日期型數(shù)值常量。例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#都是合法的日期型常量。
40二、符號常量在程序中,某個常量多次被使用,則可以使用一個符號來代替該常量,這樣不僅在書寫上方便,而且有效地改進了程序的可讀性和可維護性。VB中使用關(guān)鍵字Const聲明符號常量。其格式如下:
Const常量名[As類型]=常數(shù)表達式
或:Const常量名[類型符號]=常數(shù)表達式例如:ConstPIAsDouble=3.1415926535等價于:ConstPI#=3.141592653541例如,要將文本框Text1的前景顏色設(shè)置為紅色,可以使用下面的語句:Text1.ForeColor=vbRed這里的vbRed就是系統(tǒng)常量。這比直接使用16進制數(shù)來設(shè)置要直觀得多。三、系統(tǒng)常量
VB系統(tǒng)提供的應(yīng)用程序和控件的系統(tǒng)定義常數(shù)。它們存放于系統(tǒng)的對象庫中,在“對象瀏覽器”中的VisualBasic(VB)和VisualBasicforapplications(VBA)對象庫中列舉了VisualBasic的常數(shù)422.2.2變量在程序運行中其存儲的值可以改變的量。命名規(guī)則:一.變量的命名規(guī)則1.以字母或漢字開頭,后可跟字母、數(shù)字或下劃線組成.2.變量名最長為255個字符;3.VB中不區(qū)分變量名的大小寫,不能使用VB的關(guān)鍵字;4.字符之間必須并排書寫,不能出現(xiàn)上下標(biāo)以下是合法的變量名:
a,x,x3,BOOK_1,sum5以下標(biāo)識符是非法的:
3s,s*T,-3x,bowy-1,if43二.變量聲明
1.用Dim語句顯式聲明變量形式:Dim變量名[AS類型] Dim變量名[類型符]例: DimabAsinteger,sumAssingle等價于Dimab%,sum!44下面是一個很簡單的程序,其使用的變量a,b,Total都沒有事先定義。PrivateSubForm_Click()Total=0a=10:b=20Total=a+bPrint“Total=";TotalEndSub2.隱式聲明VisualBasic允許用戶在編寫應(yīng)用程序時,不聲明變量而直接使用,系統(tǒng)臨時為新變量分配存儲空間并使用,這就是隱式聲明。所有隱式聲明的變量都是Variant數(shù)據(jù)類型。VisualBasic根據(jù)程序中賦予變量的值來自動調(diào)整變量的類型。例如:453.強制顯式聲明——OptionExplicit語句良好的編程習(xí)慣都應(yīng)該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時也使程序易于調(diào)試。VisualBasic中可以強制顯式聲明,可以在窗體模塊、標(biāo)準(zhǔn)模塊和類模塊的通用聲明段中加入語句:OptionExplicit462.3運算符和表達式和其他語言一樣,VB中也具有豐富的運算符,通過運算符和操作數(shù)組合成表達式,實現(xiàn)程序編制中所需的大量操作。運算符是表示實現(xiàn)某種運算的符號。VB中的運算符可分算術(shù)運算符、字符串運算符、關(guān)系運算符和邏輯運算符4類。47一.運算符1.算術(shù)運算符與算術(shù)表達式例:5+2*10mod10\9/3+2^2結(jié)果是:11(ia=3)482.字符串運算符與字符串表達式
字符串運算符有:&、+。功能是字符串連接例如:"ABCD"+"EFGHI"'結(jié)果為:ABCDEFGHI"VB”&“程序設(shè)計教程”'結(jié)果為:VB程序設(shè)計教程說明:當(dāng)連接符兩旁的操作數(shù)都為字符串時,上述兩個連接符等價。它們區(qū)別是:
+(連接運算):兩個操作數(shù)均應(yīng)為字符串類型;
&(連接運算):兩個操作數(shù)既可為字符型也可為數(shù)值型,當(dāng)是數(shù)值型時,系統(tǒng)自動先將其轉(zhuǎn)換為數(shù)字字符,然后進行連接操作。49例:"100"+123'結(jié)果為223"100"+"123"'結(jié)果為100123"Abc"+123'出錯"100"&123'結(jié)果為100123100&123'結(jié)果為100123"Abc"&"123"'結(jié)果為Abc123"Abc"&123'結(jié)果為Abc123注意:使用運算符“&”時,變量與運算符“&”之間應(yīng)加一個空格。這是因為符號“&”還是長整型的類型定義符,如果變量與符號“&”接在一起,VB系統(tǒng)先把它作為類型定義符處理,因而就會出現(xiàn)語法錯誤。503關(guān)系運算符與關(guān)系表達式比較兩個運算量之間的關(guān)系,關(guān)系表達式的運算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。VB中的關(guān)系運算符如下表所示。運算符含義優(yōu)先級實例結(jié)果<小于所有關(guān)系運算優(yōu)先級相同。低于算術(shù)運算的加“+”,減“-”運算,高于邏輯非“Not”運算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"True
51關(guān)系運算的規(guī)則如下:(1)當(dāng)兩個操作式均為數(shù)值型,按數(shù)值大小比較。(2)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。例:"ABCDE">"ABRA" 結(jié)果為False(3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,如:29>"189",按數(shù)值比較,結(jié)果為False。(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,如:77>"sdcd",不能比較,系統(tǒng)出錯。(5)“Like”運算符是VB6.0新增加的。其使用格式為:str1Likestr2524邏輯運算符與邏輯表達式
邏輯運算符:Not,And,Or,Xor53說明:(1)邏輯運算符的優(yōu)先級不相同,Not>AND>OR(2)VB中常用的邏輯運算符是Not、And和Or。它們用于將多個關(guān)系表達式進行邏輯判斷。例如:數(shù)學(xué)上表示某個數(shù)在某個區(qū)域時用表達式:10≤X<20用VB程序中應(yīng)寫成:
X>=10AndX<20
如果寫成如下形式將是錯誤的:10<=x<20或10<=xOrx<20
54例:用人單位招聘秘書:年齡小于40歲,女性,學(xué)歷??苹虮究疲簩懗蓷l件VB的表達式:年齡<=39性別=“女”學(xué)歷=“??啤睂W(xué)歷=“本科”AndOrAnd()55
5日期型表達式日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能有下面3種情況:1.一個日期型數(shù)據(jù)可以相減:
DateB-DateA結(jié)果是一個數(shù)值型整數(shù)(兩個日期相差的天數(shù))。例如:#05/08/2002#-#05/01/2002#其結(jié)果為數(shù)值:72.一個日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作加法運算:DateA+N其結(jié)果仍是一個日期型數(shù)據(jù)。3.一個日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作減法運算:DateA-N其結(jié)果仍是一個日期型數(shù)據(jù)。例如:#05/08/2002#-756表達式的說明:1、組成:變量、常量、函數(shù)、運算符和圓括號2、書寫規(guī)則:運算符不能相鄰例a+-b是錯誤的乘號不能省略例x乘以y應(yīng)寫成:x*y括號必須成對出現(xiàn)(均使用圓括號)表達式從左到右在同一基準(zhǔn)上書寫,無高低、大小之分57
3、不同數(shù)據(jù)類型的轉(zhuǎn)換運算結(jié)果的數(shù)據(jù)類型向精度高的數(shù)據(jù)類型靠Integer<Long<Single<Double<Currency
4、優(yōu)先級算術(shù)運算符>=字符運算符>關(guān)系運算符>邏輯運算例如:(b-sqr(b*b-4*a*c))/(2*a)(a+b)/(a-b)58
VB提供了上百種內(nèi)部函數(shù)(庫函數(shù)),要求掌握這些常用函數(shù)的功能及使用。調(diào)用方法:
函數(shù)名(參數(shù)列表)有參函數(shù)函數(shù)名無參函數(shù)說明:1.使用庫函數(shù)要注意參數(shù)的個數(shù)及其參數(shù)的數(shù)據(jù)類型2.要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍)例如:sqr(x)要求:x>=03.要注意函數(shù)的值域。如:exp(23773)的值就超出實數(shù)在計算機中的表示范圍。2.4常用內(nèi)部函數(shù)
59數(shù)學(xué)函數(shù)-43Int(-3.5)Int(3.5)取小于或等于N的最大整數(shù)Int(N)2.3Log(10)自然對數(shù)Log(N)-33Fix(-3.5)Fix(3.9)取整Fix(N)20.086Exp(3)enExp(N)1Cos(0)余弦函數(shù)Cos(N)3.5Abs(-3.5)取絕對值A(chǔ)bs(N)結(jié)果實例含義函數(shù)名本章目錄60數(shù)學(xué)函數(shù)0Tan(0)正切函數(shù)Tan(N)3Sqr(9)平方根Sqr(N)-1Sgn(-3.5)符號函數(shù)Sgn(N)0Sin(0)正弦函數(shù)Sin(N)-44Round(-3.5)Round(3.5)四舍五入取整Round(N)[0,1)之間的數(shù)Rnd產(chǎn)生隨機數(shù)Rnd[(N)]結(jié)果實例含義函數(shù)名Rnd函數(shù)返回0和1(包括0但不包括1)之間的雙精度隨機數(shù).每次運行時,要產(chǎn)生不同序列的隨機數(shù),先執(zhí)行Randomize語句。產(chǎn)生a~b的之間的隨機整數(shù):Int(Rnd*(b-a+1)+a)本章目錄61轉(zhuǎn)換函數(shù)"ABC"Ucase$("abc")小寫字母轉(zhuǎn)為大寫字母Ucase(C)"144"Oct$(100)十進制轉(zhuǎn)換成八進制Oct](N)"123.45"Str$(123.45)數(shù)值轉(zhuǎn)換為字符串Str(N)123Val("123AB")數(shù)字字符串轉(zhuǎn)換為數(shù)值Val(C)"abc"Lcase$("ABC")大寫字母轉(zhuǎn)為小寫字母Lcase$(C)64Hex(100)十進制轉(zhuǎn)換成十六進制Hex(N)"A"Chr$(65)ASCII碼值轉(zhuǎn)換成字符Chr(N)2003-11-13CDate("2003/11/13")轉(zhuǎn)換成日期型CDate65Asc("A")字符轉(zhuǎn)換成ASCII碼值A(chǔ)sc(C)結(jié)果實例功能
函數(shù)名本章目錄62字符串函數(shù)"BCD"Mid("ABCDE",2,3)取字符子串Mid(C,N1[,N2])"ABCD"Trim("ABCD")去掉字符串兩邊空格Trim(C)"A3AB3"Replace("ACDABCD","CD","3")用C2替代C1Replace(C,C1,C2)""Space(3)產(chǎn)生N個空格的字符串
Space(N)4Len("AB教育")字符串長度Len(C)"ABC"Left("ABCDE",3)取字符串左邊n個字符Left(C,N)7InStr(2,"EFABCDEFG","EF")從n開始,在C1中找C2InStr([N,]C1,C2[,M])結(jié)果實例說明
函數(shù)名本章目錄63字符串函數(shù)"ABCD"TRim(“ABCD")去掉字符串兩邊的空格TRim(C)"DCBA"StrReverse("ABCD")將字符串反序StrReverse(C)"AAA"String(3,"ABC")重復(fù)首字符n次String(N,C)S(0)="123"S(1)=“ab"S=Split("123,ab",",")將字符串分隔成字符數(shù)組Split(C[,D])“"Space(3)產(chǎn)生n個空格的字符串Space(N)"ABCD"RTrim("ABCD")去掉字符串右邊空格RTrim(C)“BCD"Right("ABCD",3)取字符串右邊n個字符Right(C,N)結(jié)果實例說明
函數(shù)名本章目錄64日期函數(shù)Second(#1:12:56PM#)返回秒(0~59)Second(C|N)Time返回系統(tǒng)時間Time[()]Year(365)返回年代號(1753~2078)Year(C|N)Now返回系統(tǒng)日期和時間NowMonth("2003,05,01")返回月份代號(1~12)Month(C|N)Minute(#1:12:56PM#)返回分鐘(0~59)Minute(C|N)Hour(#1:12:56PM#)返回小時(0~24)Hour(C|N)Day("2003,05,01")返回日期代號(1~31)Day(C|N)Date返回系統(tǒng)日期Date[()]實例說明
函數(shù)名本章目錄65Shell函數(shù)Shell函數(shù)可調(diào)用各種應(yīng)用程序。格式如下:
Shell(命令字符串[,窗口類型])命令字符串為要執(zhí)行的應(yīng)用程序名(包括路徑),必須是可執(zhí)行文件(.com、.exe、.bat)。窗口類型表示執(zhí)行應(yīng)用程序的窗口狀態(tài),0~4,6的整型數(shù)值,1表示正常窗口狀態(tài)。函數(shù)調(diào)用成功返回一個任務(wù)標(biāo)識ID,不成功,則返回0。例
i=Shell("calc.exe")
本章目錄662.5程序結(jié)構(gòu)和編碼規(guī)則本章目錄67編碼規(guī)則(1)VB代碼不區(qū)分字母的大小寫關(guān)鍵字首字母自動轉(zhuǎn)換成大寫,其余字母轉(zhuǎn)換成小寫。用戶自定義的變量、過程名,以第一次定義的為準(zhǔn),以后輸入的自動向首次定義的形式轉(zhuǎn)換。(2)語句書寫自由一行上可書寫多句語句(用冒號分隔),一行最多255個字符。單行語句可分若干行書寫,在本行后加入續(xù)行符(空格和下劃線)。(3)注釋、暫停與程序結(jié)束語句本章目錄68第3講VB控制結(jié)構(gòu)3.1順序結(jié)構(gòu)3.2選擇結(jié)構(gòu)3.3循環(huán)結(jié)構(gòu)3.4其它輔助控制語句3.5綜合應(yīng)用693.1順序結(jié)構(gòu)VB具有結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),是程序設(shè)計的基礎(chǔ)。(1)順序結(jié)構(gòu)在順序結(jié)構(gòu)中,算法的每一步操作都是按從上到下的線性次序執(zhí)行的。(2)選擇結(jié)構(gòu)又稱分支結(jié)構(gòu),根據(jù)給出的條件,選擇執(zhí)行一個分支。因此,在選擇結(jié)構(gòu)中,必然包含了條件判斷。(3)循環(huán)結(jié)構(gòu)又稱重復(fù)執(zhí)行結(jié)構(gòu)。根據(jù)給出的條件,判斷是否重復(fù)執(zhí)行某一組操作。本章目錄703.1.1賦值語句形式:變量名=表達式計算右邊表達式的值,然后賦給左邊的變量。給變量賦值和設(shè)定屬性是VB編程中常見的兩個任務(wù)。例如:n=n+1
'計數(shù)累加
Text1.Text
="" '清除文本框的內(nèi)容Text1.Text
="歡迎使用VB"'文本框顯示字符串
本章目錄71賦值語句注意點賦值語句不允許寫成表達式=變量,雖然賦值號與關(guān)系運算符等于號都用=表示,VB系統(tǒng)會根據(jù)所處的位置自動判斷符號的意義。
賦值號左邊的變量只能是變量,不能是常量、常數(shù)符號、表達式。下面均為錯誤的賦值語句:Now()=x+y'左邊是表達式(函數(shù))5=sqr(s)+x+y
'左邊是常量本章目錄72InputBox函數(shù)打開一個對話框,等待用戶輸入,返回字符串類型的輸入值。形式:InputBox(提示[,標(biāo)題][,默認值][,x坐標(biāo)位置][,y坐標(biāo)位置])提示項不能省略。3.1.2數(shù)據(jù)輸出和輸入本章目錄73打開一個信息框,等待用戶選擇一個按鈕。MsgBox函數(shù)返回所選按鈕的值,MsgBox過程不返回值MsgBox函數(shù)形式:
變量[%]=MsgBox(提示[,按鈕][,標(biāo)題])MsgBox過程形式:
MsgBox
提示[,按鈕][,標(biāo)題]按鈕項是一整型表達式,決定信息框按鈕的數(shù)目和類型及出現(xiàn)在信息框上的圖標(biāo)形式。
MsgBox函數(shù)和MsgBox過程
本章目錄74MsgBox按鈕設(shè)置
第3個按鈕為默認512VBDefaultButton3第2個按鈕為默認56VBDefaultButton2第1個按鈕為默認0VBDefaultButton1默認按鈕
信息圖標(biāo)64VBInformation警告信息圖標(biāo)48VBExclamation詢問信息圖標(biāo)32VBQuestion關(guān)鍵信息圖標(biāo)16VBCritical圖標(biāo)類型
重試、取消按鈕5VBRetryCancel是、否按鈕4VBYesNo是、否、取消按鈕3VBYesNoCancel終止、重試、忽略按鈕2VBAboutRetryIgnore確定、取消按鈕1VBOkCancel確定按鈕0VBOkOnly按鈕數(shù)目描述值內(nèi)部常數(shù)分組本章目錄75MsgBox所選按鈕返回值
本章目錄內(nèi)部常數(shù)返回值被單擊的按鈕vbOk1確定vbCancel2取消vbAbort3終止vbRetry4重試vbIgnore5忽略vbYes6是vbNo7否76Print方法作用:在對象上輸出信息。對象.Print[Spc(n)|Tab(n)][輸出列表
][;|,]對象:窗體、圖形框或打印機。缺省為窗體。Spc(n)函數(shù):從當(dāng)前位置起空n個空格Tab(n)函數(shù):從最左端開始計算的第n列分號:定位在上一個被顯示的字符之后逗號:定位在下一個打印區(qū)開始處(每區(qū)14列)Print語句尾無分號或逗號,輸出后換行77Format格式輸出函數(shù)
形式:
Format(表達式[,"格式字符串"])1.23E-01"0.00E+00"1234.567用指數(shù)表示E+$1234.57"$###.##"1234.567在數(shù)字前強加$$123456.7%"####.##%"1234.567數(shù)值乘以100,加百分號%1,234.567"##,##0.000"1234.567千分位,1234.567"#####.####"1234.567位置不足時不填充0#01234.5670"00000.0000"1234.567用0填充不足的位置0顯示結(jié)果格式字符串表達式作用符號常用數(shù)值格式化符及舉例783.2選擇結(jié)構(gòu)計算機要處理的問題往往是復(fù)雜多變的,僅采用順序結(jié)構(gòu)是不夠的。必須利用選擇結(jié)構(gòu)等來解決實際應(yīng)用中的各種問題。VB中提供了多種形式的條件語句來實現(xiàn)選擇結(jié)構(gòu),有If條件語句和Select情況語句等。它們都是對條件進行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。本章目錄793.2.1If條件語句1.If…Then語句(單分支結(jié)構(gòu))
If<表達式>Then
語句塊(可以是一句或多句語句)EndIf或
If<表達式>Then<語句>表達式:關(guān)系表達式、邏輯表達式,算術(shù)表達式。表達式值按非零為True,零為False進行判斷。該語句的作用是當(dāng)表達式的值為True,執(zhí)行Then后面的語句塊,否則不做任何操作。本章目錄IF演示80單分支結(jié)構(gòu)例:已知兩個數(shù)x和y,比較它們的大小,使得x大于y。Ifx<yThent=xx=yy=tEndIf
或Ifx<yThent=x:x=y:y=t
簡單If形式無EndIf時,只能是一句語句或語句間用冒號分隔,而且必須在一行上書寫。
本章目錄81雙分支結(jié)構(gòu)2.If…Then…Else語句If表達式Then
語句塊1Else
語句塊2EndIf或If表達式Then語句1
Else語句2當(dāng)表達式的值為True時,執(zhí)行Then后面的語句塊1,否則執(zhí)行Else后面的語句塊2本章目錄82雙分支結(jié)構(gòu)例:計算分段函數(shù)本章目錄Ifx<>0Then雙分支y=sin(x)+sqr(x*x+1)Else結(jié)構(gòu)實現(xiàn)y=cos(x)-x^3+3*xEndIf83多分支結(jié)構(gòu)3.If…Then…ElseIf語句
If表達式1Then
語句塊1
ElseIf表達式2Then
語句塊2 …
[Else
語句塊n+1]
EndIf作用:根據(jù)不同的表達式值確定執(zhí)行哪個語句塊
本章目錄843.2.2SelectCase語句SelectCase變量或表達式Case表達式值列表1
語句塊1Case表達式值列表2
語句塊2 …[CaseElse語句塊n+1]EndSelect表達式列表與變量或表達式的類型必須相同,是下面4種形式之一:表達式例:"A"一組用逗號分隔的枚舉值
2,4,6,8
表達式1To表達式260To100Is關(guān)系運算符表達式Is<60本章目錄數(shù)值型或字符串表達式85SelectCase語句例例4.9判斷坐標(biāo)點(x,y),落在哪個象限。代碼一
Ifx>0Andy>0ThenMsgBox("在第一象限")ElseIfx<0Andy>0ThenMsgBox("在第二象限") ElseIfx<0Andy<0ThenMsgBox("在第三象限") ElseIfx>0Andy<0ThenMsgBox("在第四象限") EndIf
代碼二SelectCasex,yCasex>0Andy>0MsgBox(“在第一象限”)Casex<0Andy>0MsgBox(“在第二象限”)Casex<0Andy<0MsgBox(“在第三象限”)Casex>0Andy<0MsgBox(“在第四象限”)EndSelect代碼二錯誤:1.SelectCase后不能出現(xiàn)多個變量2.Case后不能出現(xiàn)變量及有關(guān)運算符本章目錄86選擇結(jié)構(gòu)的嵌套
本章目錄
在IF語句的Then分支和Else分支中可以完整地嵌套另一IF語句或SelectCase語句,同樣SelectCase語句每一個Case分支中都可嵌套另一IF語句或另一SelectCase語句。注意:
1.只要在一個分支內(nèi)嵌套,不出現(xiàn)交叉,滿足結(jié)構(gòu)規(guī)則,其嵌套的形式將有很多種,嵌套層次也可以任意多。2.對于多層IF嵌套結(jié)構(gòu)中,要特別注意IF與Else的配對關(guān)系,一個Else必須與IF配結(jié),配對的原則是:在寫含有多層嵌套的程序時,建議使用縮進對齊方式,這樣容易閱讀和維護。87(1)IF<條件1>Then…..
if<條件2>Then……Else…..EndIf….Else….
IF<條件3>Then…..Else…..EndIf…..EndIF(2)IF<條件1>Then…..SelectCase…Case……
IF<條件1>Then……Else…..EndIf……Case….…..EndSelect….EndIF下面是兩種正確的嵌套形式:選擇結(jié)構(gòu)的嵌套
883.2.3條件函數(shù)(1)IIf函數(shù)IIf(表達式,表達式為真時的值,表達式為假時的值)IIf函數(shù)是If…Then…Else結(jié)構(gòu)的簡潔表示例如,將x,y中大的數(shù),放入Tmax變量中:Tmax=IIf(x>y,x,y)該語句與如下語句等價
:Ifx>yThenTmax=xElseTmax=y
本章目錄89常見錯誤在選擇結(jié)構(gòu)中缺少配對的結(jié)束語句對多行式的If塊語句中,應(yīng)有配對的EndIf語句結(jié)束。多邊選擇ElseIf關(guān)鍵字的書寫和條件表達式的表示
ElseIf
不要寫成ElseIf。SelectCase語句的使用
SelectCase后不能出現(xiàn)多個變量;Case子句后不能出現(xiàn)變量。903.3循環(huán)結(jié)構(gòu)計算機最擅長的功能之一就是按規(guī)定的條件,重復(fù)執(zhí)行某些操作。例如,按照人口某增長率,對人口增長統(tǒng)計;根據(jù)各課程的學(xué)分、績點和學(xué)生的成績,統(tǒng)計每個學(xué)生的平均績點等。這類問題都可通過循環(huán)結(jié)構(gòu)來方便地實現(xiàn)。VB中提供了兩種類型的循環(huán)語句:一種是計數(shù)循環(huán)語句;另一種是條件型循環(huán)語句。
本章目錄913.3.1For循環(huán)語句For循環(huán)語句用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。For循環(huán)變量=初值To終值
[Step步長] 語句塊 [ExitFor] 語句塊Next循環(huán)變量循環(huán)變量必須為數(shù)值型。循環(huán)次數(shù)>0初值<終值=1時,可省略<0初值>終值=0死循環(huán)步長本章目錄92For循環(huán)語句循環(huán)流程:(1)循環(huán)變量被賦初值,它僅被賦值一次。(2)判斷循環(huán)變量是否在終值內(nèi),如果是,執(zhí)行循環(huán)體;如果否,結(jié)束循環(huán),執(zhí)行Next的下一語句。(3)循環(huán)變量加步長,轉(zhuǎn)(2),繼續(xù)循環(huán)
本章目錄例4.11
計算1~100的奇數(shù)和
Dimi%,sum%Fori=1To100Step2sum=sum+iNextiMsgBox(sum)93注意:
出了循環(huán),循環(huán)控制變量值的問題。例程序段:Fori=2To13Step3循環(huán)執(zhí)行次數(shù)Printi,輸出i的值分別為:Nexti25811Print:Print“I=“,i出了循環(huán)輸出為:I=14
在循環(huán)體內(nèi)對循環(huán)控制變量可多次引用;但最好不要對其賦值,否則影響原來的循環(huán)控制規(guī)律。943.3.2Do…Loop循環(huán)語句Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。形式1:Do{While|Until}<條件>
語句塊[ExitDo語句塊]Loop形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;形式2為先執(zhí)行后判斷,至少執(zhí)行一次。形式2:Do
語句塊[ExitDo語句塊]Loop{While|Until}<條件>本章目錄95Do…Loop流程本章目錄963.3.3循環(huán)的嵌套在一個循環(huán)體內(nèi)又包含了一個完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。循環(huán)嵌套對For循環(huán)語句和Do…Loop語句均適用。例4.14打印九九乘法表
思考:打印上三角或下三角程序如何改動?本章目錄97
Forii=1To10Forjj=1To20… Nextii Nextjj
Forii=1To10Forii=1To20… Nextii Nextii
Forii=1To10Forjj=1To20… NextjjNextii
Forii=1To10…NextiiForii=1To10
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋七年級數(shù)學(xué)上冊 第二章 有理數(shù)2.2數(shù)軸 2在數(shù)軸上比較數(shù)的大小說課稿(新版)華東師大版
- 2023九年級數(shù)學(xué)下冊 第二十八章 銳角三角函數(shù)28.2 解直角三角形及其應(yīng)用28.2.2 應(yīng)用舉例第2課時 方向角和坡角問題說課稿 (新版)新人教版
- Module 7 Unit 2 There are twelve boys on the bike(說課稿)-2024-2025學(xué)年外研版(三起)英語 四年級上冊
- 16赤壁賦說課稿
- 4《說說我們的學(xué)?!罚ㄕf課稿)- 2004-2025學(xué)年統(tǒng)編版道德與法治三年級上冊001
- 2025銷售居間合同勞動合同
- Unit4《Bobbys House》lesson6(說課稿)-2024-2025學(xué)年北師大版(三起)英語四年級上冊
- 10在牛肚子里旅行 說課稿-2024-2025學(xué)年三年級上冊語文統(tǒng)編版
- 16新年的禮物 (說課稿)統(tǒng)編版道德與法治一年級上冊
- 2024年九年級語文上冊 第五單元 第9課《劉姥姥進賈府》說課稿 北師大版
- 九三學(xué)社申請入社人員簡歷表
- 卓有成效的管理者讀后感3000字
- 七年級下冊-備戰(zhàn)2024年中考歷史總復(fù)習(xí)核心考點與重難點練習(xí)(統(tǒng)部編版)
- 北師大版小學(xué)六年級數(shù)學(xué)下冊同步教案 (表格式全冊)
- 巖土工程勘察服務(wù)投標(biāo)方案(技術(shù)方案)
- 實驗室儀器設(shè)備驗收單
- 新修訂藥品GMP中藥飲片附錄解讀課件
- 蒙特利爾認知評估量表北京版
- 領(lǐng)導(dǎo)干部個人有關(guān)事項報告表(模板)
- 危險化學(xué)品目錄2023
- GB/T 7631.18-2017潤滑劑、工業(yè)用油和有關(guān)產(chǎn)品(L類)的分類第18部分:Y組(其他應(yīng)用)
評論
0/150
提交評論