




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第二章VB程序設(shè)計基礎(chǔ)
2.1VB集成開發(fā)環(huán)境
2.2可視化編程的基本概念
2.3窗體和基本控件介紹
2.4VB字符集、關(guān)鍵字和標識符
2.5數(shù)據(jù)類型
2.6常量
2.7變量
2.8運算符和表達式
2.9常用內(nèi)部函數(shù)
2.10語法描述和程序代碼書寫規(guī)則第二章VB程序設(shè)計基礎(chǔ)2.1VB集成開發(fā)環(huán)境12.1VB集成開發(fā)環(huán)境
VB集成開發(fā)環(huán)境由IDE主窗口、工具箱窗口、屬性窗口、窗體窗口、代碼窗口以及工程資源管理器窗口組成。如下圖2-1所示:啟動VB2.1VB集成開發(fā)環(huán)境VB集成開發(fā)環(huán)境由ID22.2可視化編程的基本概念
2.2.1對象
對象是數(shù)據(jù)和對該數(shù)據(jù)進行加工、操作的過程代碼的封裝體。對象的創(chuàng)建與編輯:(1)建立系統(tǒng)對象(2)對象命名(3)對象編輯(4)修改對象位置(5)修改對象大小(6)復(fù)制對象(7)刪除對象
2.2可視化編程的基本概念2.2.1對象3有如下兩種方法:(1)單擊工具箱窗口的指定對象圖標,鼠標指針移動到窗體窗口上,按住鼠標左鍵拖動,直到所需大小后,再釋放鼠標;(2)雙擊工具箱窗口的指定對象圖標,此時在窗體上建立一個大小和位置為默認的相應(yīng)控件對象。
對象的創(chuàng)建與編輯
——建立系統(tǒng)對象啟動VB有如下兩種方法:對象的創(chuàng)建與編輯
4對象的名稱(Name)是對象的一個重要的屬性,它用在程序代碼中表示這個對象;用戶可以不給對象命名,此時使用默認名,也可以重新命名;對象命名的規(guī)則是:以字母或漢字開頭組成,后可加字母、漢字、數(shù)字或下劃線,字符數(shù)不超過40。設(shè)計時在屬性窗口用對象的名稱屬性(Name)設(shè)置。對象的創(chuàng)建與編輯
——對象命名對象的名稱(Name)是對象的一個重要的屬性,它5在窗體設(shè)計階段時,要對控件對象進行編輯、復(fù)制或刪除時,首先要先在窗體中選定對象。選定對象的方法有兩種:(1)選定單個對象:單擊指定對象,則指定對象被選定,被選定對象稱為活動對象,活動對象有八個方向的控制點;(2)選定多個對象:在選定單個對象后,按住Ctrl鍵,再單擊其它指定對象。
對象的創(chuàng)建與編輯
——對象編輯在窗體設(shè)計階段時,要對控件對象進行編輯、復(fù)制或6修改對象位置的方法是:選定單個或多個對象后,在對象的內(nèi)部拖動鼠標,便可移動對象在窗體中的位置。對象的創(chuàng)建與編輯
——修改對象位置修改對象位置的方法是:選定單個或多個對象后,在7拖動活動對象八個方向控制點中的任何一個,可改變對象的大小。
對象的創(chuàng)建與編輯
——修改對象大小拖動活動對象八個方向控制點中的任何一個,可改變8
先選定要復(fù)制的對象,再選擇工具欄的“復(fù)制”按鈕可把選定對象復(fù)制到剪貼板,再選擇工具欄的“粘貼”按鈕可把剪貼板中的對象復(fù)制到窗體中。此時VB系統(tǒng)的IDE環(huán)境出現(xiàn)對話框,詢問是否創(chuàng)建控件數(shù)組,選擇“否”則復(fù)制出結(jié)構(gòu)相同但名字不同的控件對象。對象的創(chuàng)建與編輯
——復(fù)制對象先選定要復(fù)制的對象,再選擇工具欄的“復(fù)制”按9
先選定要刪除的對象,再按Del鍵便可刪除選定的對象。對象的創(chuàng)建與編輯
——刪除對象先選定要刪除的對象,再按Del鍵便可刪除選定的102.2可視化編程的基本概念
2.2.2對象的屬性、事件和方法
★對象的屬性★對象的事件★對象的方法
2.2可視化編程的基本概念2.2.2對象11對象的屬性(Property)對象的屬性是指對象的特征,即對象的數(shù)據(jù)。對象屬性設(shè)置方法有兩種:(1)設(shè)計階段直接在屬性窗口設(shè)置(2)運行階段在程序的過程代碼中用賦值語句設(shè)置:格式為:<對象名>.<屬性名>=<屬性值>例如:把一個名稱為“Label1”的標簽的Caption屬性值更改為“確定”,在程序的過程代碼中可用如下賦值語句實現(xiàn):Label1.Caption=“確定"對象的屬性(Property)對象的屬性是指對象的特征,即對12對象的事件(Event)
對象的事件是指發(fā)生在對象身上的并可以作出確定信息響應(yīng)的事情。事件過程代碼模板形式如下:[Private|Public]Sub<對象名>_<事件過程名>([<參數(shù)列表>])[事件過程代碼]EndSub對象的事件(Event)對象的事件是指發(fā)生在13對象的方法(Method)
對象的方法是對象可以執(zhí)行的操作。對象可能有一到多個方法,不同的對象可能有相同的方法,如窗體和標簽等控件都有Move方法。方法在引用時要依附于特定的對象。對象方法的調(diào)用格式如下:[<對象名>.]<方法名>[<參數(shù)列表>]例如:Label1.Move0,0,Label1.Width/2,Label1.Height/2對象的方法(Method)對象的方法是對象可以142.3窗體和基本控件介紹2.3.1控件的基本屬性(公共屬性)2.3.2窗體(Form)屬性 2.3.3標簽(Label)及其屬性2.3.4文本框(TextBox)及其屬性2.3.5命令按鈕(CommandButton)及其屬性2.3.6控件默認屬性2.3.7窗體和控件的基本事件2.3.8窗體和控件的基本方法
2.3窗體和基本控件介紹2.3.1控件的基本屬性(公共152.3.1控件的基本屬性1、Name屬性:在一個窗體里,該屬性唯一識別一個對象,每一個控件對象都必須有該屬性,不同類控件是不能同名的。2、Caption屬性:確定在控件上顯示的內(nèi)容,如窗體標題欄上的文字信息或命令按鈕上顯示的文字信息等。
2.3.1控件的基本屬性1、Name屬性:在一個窗體里,該162.3.1控件的基本屬性3.Height、Width、Top、Left屬性
Height:控件高度
Width:控件寬度
Top:控件頂部離容器頂部的高度Left:控件左邊離容器左邊寬度
LeftHeightTopWidth控件容器(窗體)左上角2.3.1控件的基本屬性3.Height、Width、T172.3.1控件的基本屬性4.Enabled屬性:是否容許對控件操作。5.Visible屬性:控件是否可見。6.Font屬性:指控件上文本字體屬性。Font屬性由一組屬性(FontName、FontSize、FontBold、FontItalic等)組成,在設(shè)計階段由相應(yīng)的Font對話框設(shè)定。7.ForeColor、BackColor屬性:分別表示控件前景色和背景色。8.BackStyle、BorderStyle屬性:分別表示背景風格及邊框風格。2.3.1控件的基本屬性4.Enabled屬性:是否182.3.2窗體(Form)屬性
在VB6.0中窗體有50多個屬性,包括了上述十多個屬性。
注意:當在窗體上設(shè)置了Font字體屬性后,在其中的控件相應(yīng)的Font字體屬性如不另行設(shè)置,則使用窗體的Font字體屬性。2.3.2窗體(Form)屬性在V192.3.3標簽(Label)及其屬性標簽(Label)控件只能用于顯示文字信息。標簽最重要的屬性是Caption屬性,其它常用屬性有:1.Alignment屬性:決定標簽顯示正文文字的對齊方式,取值0、1、2分別為正文左對齊,右對齊和居中對齊方式。2.AutoSize屬性:決定標簽在窗體上的幾何大小是否因正文大小自動調(diào)整。True為自動調(diào)整,F(xiàn)alse為不自動調(diào)整。2.3.3標簽(Label)及其屬性202.3.4文本框(Text)及其屬性文本框控件主要用于文本編輯,在它的區(qū)域內(nèi),可以實現(xiàn)文字輸入、刪除、修改、顯示等功能。文本框控件最重要的屬性是Text屬性,表示文本框輸入和顯示文本的內(nèi)容。其它常用屬性有:1.MultiLine屬性:控制文本內(nèi)容是否用多行顯示。2.MaxLength屬性:表示文本框中能允許的文本的最大長度。3.ScrollBars屬性:控制是否允許出現(xiàn)滾動條。2.3.4文本框(Text)及其屬性212.3.5命令按鈕(CommandButton)及其屬性在應(yīng)用程序中,命令按鈕用于執(zhí)行命令。命令按鈕常用屬性有:1.Picture屬性:在按鈕表面設(shè)置圖片,圖片可在設(shè)計或運行時設(shè)置,此時Caption屬性的文字內(nèi)容依然有效。2.ToolTipText屬性:工具提示,是文本內(nèi)容,設(shè)計時在屬性窗口寫入。當鼠標經(jīng)過該按鈕時,顯示指定文字內(nèi)容。2.3.5命令按鈕(CommandButton)及其屬性222.3.6控件的默認屬性
VB中把某個控件的最重要屬性稱為該控件的值或默認屬性。對于默認屬性,在程序運行時,可以直接改變控件的值,而不必指定該控件的哪個屬性。例如:有一標簽Label1,若要將其Caption屬性改為“VisualBasic”,由于標簽的默認屬性為Caption,則下面兩條語句是等價的:Label1.Caption="VisualBasic"Label1="VisualBasic"2.3.6控件的默認屬性VB中把232.3.7窗體和控件的基本事件1.Click事件:鼠標單擊事件2.DblClick事件:鼠標雙擊事件3.LostFocus事件:是指窗體、命令按鈕、文本框等失去焦點而發(fā)生的事件。4.GotFocus事件:是指窗體、命令按鈕、文本框等取得焦點而發(fā)生的事件。5.KeyPress事件:當在鍵盤按下并釋放某個按鍵時發(fā)生的事件。6.Change事件:當控件的相關(guān)屬性值發(fā)生改變時,便會引發(fā)該事件。7.Load事件:將窗體調(diào)入內(nèi)存時發(fā)生的事件。2.3.7窗體和控件的基本事件1.Click事件:鼠標242.3.8窗體和控件的基本方法
1.Print方法:在窗體、圖片框或打印機上輸出文字信息。語法格式為:
[對象名.]Print[{Spc(n)|Tab(n)}][表達式列表][;|,]2.Cls方法:用于清除運行時在窗體或圖形框中顯示的文本或圖形。語法格式為:
[對象名.]Cls2.3.8窗體和控件的基本方法1.Print方法252.3.8窗體和控件的基本方法-續(xù)
3.Move方法:用于在容器內(nèi)移動控件對象并改變該對象的幾何大小。語法格式為:
[對象名.]Move左邊距離[,上邊距離[,寬度[,高度]]]這個方法等同于如下的四個設(shè)置語句:<對象名>.Left=<值><對象名>.Top=<值><對象名>.Width=<值><對象名>.Height=<值>2.3.8窗體和控件的基本方法-續(xù)3.Move方262.3.8窗體和控件的基本方法-續(xù)
4.Hide、Show方法:分別為隱藏、展現(xiàn)窗體的方法,常常用于多重窗體的程序5.SetFocus方法:是為窗體及控件取得焦點的方法。2.3.8窗體和控件的基本方法-續(xù)4.Hide27例2.1按照下圖設(shè)計界面,運行時在文本框中輸入文字,選擇任一個命令按鈕便能出現(xiàn)相應(yīng)的效果。例2.1例2.1按照下圖設(shè)計界面,運行時在文本框中輸入文字,選282.4VB字符集、關(guān)鍵字和標識符
2.4.1字符集2.4.2關(guān)鍵字2.4.3標識符
2.4VB字符集、關(guān)鍵字和標識符
2.4.1字符集292.4.1字符集
字符是程序設(shè)計語言規(guī)定的程序中最小的語法單位。VB字符集中的基本字符包括:1.數(shù)字:0~92.英文字母:A~Z,a~z3.特殊字符:空格$#@,.&*()+-/\="等2.4.1字符集302.4.2關(guān)鍵字
關(guān)鍵字是程序中有確定語法含義的由字符集中字符組成的字符串。關(guān)鍵字是程序的重要組成部分在程序中一般不能另作它用。在VB中盡管關(guān)鍵字可以用作變量名等,然而這會引起麻煩。在VB中,常用的關(guān)鍵字包括系統(tǒng)提供的標準過程(如End)、標準函數(shù)(如Sin)、運算符(如Mod)、常數(shù)(如vbCrlf)等。
2.4.2關(guān)鍵字312.4.3標識符
標識符是VB程序中使用程序員定義的常量、變量、函數(shù)及控件變量等的名字。在VB程序中,標識符的命名規(guī)則為:以字母或漢字開頭組成,后可加字母、數(shù)字、漢字或下劃線,字符數(shù)≤255。注意:在VB程序中標識符是不區(qū)分大小寫的。合法標識符的例子:A123,B_4,shuxue,數(shù)學。不合法標識符的例子:+ABC,B4,End2.4.3標識符322.5數(shù)據(jù)類型
數(shù)據(jù)類型是程序的處理對象。數(shù)據(jù)類型包括一個數(shù)據(jù)集合和一個操作(運算)集合。VB不僅提供了系統(tǒng)定義的標準數(shù)據(jù)類型,還允許用戶定義自己的數(shù)據(jù)類型。表2-3中列出了VB中定義的全部標準數(shù)據(jù)類型。
VB的常用數(shù)據(jù)類型有以下幾種:2.5.1數(shù)值型(Numeric)數(shù)據(jù)2.5.2非數(shù)值型數(shù)據(jù)2.5.3自定義類型數(shù)據(jù)2.5數(shù)據(jù)類型
數(shù)據(jù)類型是程序的處理對象。332.5.1數(shù)值型(Numeric)數(shù)據(jù)一、整型數(shù)(1)整數(shù)(2)長整型數(shù)二、浮點數(shù)(1)單精度數(shù)(2)雙精度數(shù)2.5.1數(shù)值型(Numeric)數(shù)據(jù)一、整型數(shù)342.5.1數(shù)值型(Numeric)數(shù)據(jù)-整數(shù)整數(shù):用于表示不帶小數(shù)點和指數(shù)符號的數(shù)。十進制整數(shù)只能包含數(shù)字0~9和正負號(正號可以省略),十進制整數(shù)的取值范圍為-32768~+32767。十六進制整數(shù)由數(shù)字0~9、字母A~F(或a~f)組成,并以&H引導(dǎo),其后面的數(shù)據(jù)位數(shù)小于等于4位,其取值范圍為&H0~&HFFFF。八進制整數(shù)由數(shù)字0~7組成,并以&O或&引導(dǎo),其后面的數(shù)據(jù)位數(shù)小于等于6位,其取值范圍為&O0~&O177777。2.5.1數(shù)值型(Numeric)數(shù)據(jù)-整數(shù)整數(shù):用于表352.5.1數(shù)值型(Numeric)數(shù)據(jù)-長整型數(shù)
長整型數(shù)的數(shù)字組成與整數(shù)相同,正號可以省略,并且在數(shù)值中不能出現(xiàn)逗號(分節(jié)符)。十進制長整型數(shù)的范圍為:-2147483648~+2147483647。十六進制長整型數(shù)以&H開頭,以&結(jié)尾,其范圍:&H0&~&HFFFFFFFF&。八進制長整型數(shù)以&O或&開頭,以&結(jié)尾,其范圍:&O0&~&O37777777777&。2.5.1數(shù)值型(Numeric)數(shù)據(jù)-長整型數(shù)362.5.1數(shù)值型(Numeric)數(shù)據(jù)-單精度數(shù)
單精度數(shù)用來表示帶有小數(shù)部分的實數(shù),可以精確到7位十進制數(shù),小數(shù)點可以位于這些數(shù)字的任何位置,正號可以省略。單精度數(shù)有兩種表示方法:定點表示法和浮點表示法。
☆單精度數(shù)的定點表示法在單精度數(shù)表示的范圍內(nèi),如果這個數(shù)值含有小數(shù),而不含指數(shù),則可用定點表示法。例如:-1.4178.9+55.8.0000778-346.788443
☆單精度數(shù)的浮點表示法浮點表示法就是數(shù)學中的科學計數(shù)法,即以10的整數(shù)次冪表示的數(shù),以字母“E”來表示底數(shù)10。例如:-2.3×103,0.00033221×10-21分別表示為:-2.3E3.00033221E-212.5.1數(shù)值型(Numeric)數(shù)據(jù)-單精度數(shù)372.5.1數(shù)值型(Numeric)數(shù)據(jù)-雙精度數(shù)
雙精度數(shù)可以精確到15位或16位十進制數(shù),小數(shù)點可以位于這些數(shù)字的任何位置,正號可以省略。雙精度數(shù)也有兩種表示方法:定點表示法和浮點表示法。
☆
雙精度數(shù)的定點表示法在雙精度數(shù)表示的范圍內(nèi),如果這個數(shù)含有小數(shù),而不含指數(shù),則可用定點表示法。例如:-12.2344567880.543367775100111111.1256
☆雙精度數(shù)的浮點表示法這是更大范圍的科學計數(shù)法,即以10的整數(shù)次冪表示的數(shù),以字母“D”來表示底數(shù)10。例如:-1.4477332D87245.65453221D-4.23456778D+52.5.1數(shù)值型(Numeric)數(shù)據(jù)-雙精度數(shù)382.5.1數(shù)值型(Numeric)數(shù)據(jù)-使用說明(1)如果數(shù)據(jù)包含小數(shù),則應(yīng)使用單精度數(shù)或雙精度數(shù)。(2)在VB中,數(shù)值型數(shù)據(jù)都有一個有效的范圍值,程序中的數(shù)如果超出規(guī)定的范圍,就會出現(xiàn)“溢出”信息。如果該數(shù)小于范圍的下限值,系統(tǒng)將按0處理;如果大于上限值,則系統(tǒng)只按上限值處理,并顯示出錯誤信息。(3)一般情況下VB使用十進制數(shù)計數(shù),但有時也使用十六進制數(shù)和八進制數(shù)表示,表示值時它們與十進制是等價的。(4)所有數(shù)值變量都可以相互賦值,也可對變體(Variant)類型變量賦值。在將浮點數(shù)賦予整數(shù)之前,VB要將浮點數(shù)的小數(shù)部分四舍五入,而不是將小數(shù)部分去掉。
2.5.1數(shù)值型(Numeric)數(shù)據(jù)-使用說明392.5.2非數(shù)值數(shù)據(jù)一、字符型(String)二、邏輯型(Boolean)三、日期型(Date)四、變體型(Variant)
2.5.2非數(shù)值數(shù)據(jù)一、字符型(String)402.5.2非數(shù)值數(shù)據(jù)-字符型(String)
字符型數(shù)據(jù)是用雙引號括起的字符序列,例如“A123”、“String”及“漢字”等。在VB中,String數(shù)據(jù)有可變長度字符型和固定長度字符型兩類。例如:DimxasStringDimyasString*8在上面的變量聲明中,變量x被聲明為可變長度字符型;而變量y被聲明為固定長度字符型,其長度為8個字符。注意:VB對其語法的大小寫沒有區(qū)別,但在字符串中,VB對大小寫是有區(qū)別的,如果想忽視字符串大小寫的區(qū)別,可以在窗體和標準模塊的“通用”代碼段中加上Optioncomparetext語句。例如:Optioncomparetextx="aaa":y="aAA"這兩個字符串的值相同,如果去掉Optioncomparetext,則兩字符串的值不同。2.5.2非數(shù)值數(shù)據(jù)-字符型(String)412.5.2非數(shù)值數(shù)據(jù)-邏輯型(Boolean)
邏輯型數(shù)據(jù)表示只有兩個值的邏輯量(True和False)。當邏輯數(shù)據(jù)作算術(shù)運算時,True轉(zhuǎn)換為-1,F(xiàn)alse轉(zhuǎn)換為0;當其它數(shù)值數(shù)據(jù)轉(zhuǎn)換為邏輯數(shù)據(jù)時,非0轉(zhuǎn)換為True,0轉(zhuǎn)換為False。2.5.2非數(shù)值數(shù)據(jù)-邏輯型(Boolean)422.5.2非數(shù)值數(shù)據(jù)-日期型(Date)
日期型數(shù)據(jù)表示日期,表示的范圍是100年1月1日~9999年12月31日。在VB中是用八個字節(jié)來保存Date數(shù)據(jù)的。日期型數(shù)據(jù)用兩個“?!碧柊驯硎救掌诤蜁r間的值括起來,就像字符串數(shù)據(jù)是用雙引號括起來的一樣。在程序里,每一個日期數(shù)據(jù)都可以用多種方法表示,如2001年4月13日可表示為:#April13,2001#或#13,Apr01#或#4/13/01#;又如2001年4月13日下午10點30分25秒可表示為:#2001-4-1310:30:25PM#。注意:將其他數(shù)據(jù)類型的數(shù)值轉(zhuǎn)換為日期型時,小數(shù)點左邊的值表示日期信息,小數(shù)點右邊的值則代表時間信息。0為午夜,0.5為正午。負數(shù)表示公元1899年12月31日之前的日期。
2.5.2非數(shù)值數(shù)據(jù)-日期型(Date)日432.5.2非數(shù)值數(shù)據(jù)-變體型(Variant)
變體型數(shù)據(jù)是VB中的特殊類型。如在程序中沒有定義為具體的數(shù)據(jù)類型,則作為Variant型數(shù)據(jù)。變體型可以表示數(shù)值、字符、邏輯、對象等多種類型的數(shù)據(jù),因此它的實際類型就是當前存放數(shù)據(jù)的類型。
注意:關(guān)于貨幣型數(shù)據(jù)、字節(jié)型數(shù)據(jù)以及對象型數(shù)據(jù)等,在此從略,請參考有關(guān)書籍。2.5.2非數(shù)值數(shù)據(jù)-變體型(Variant)442.5.3自定義數(shù)據(jù)類型在VB中使用Type關(guān)鍵字可以定義程序員所有的自定義類型數(shù)據(jù)。如表示一個學生的信息{學號,姓名,性別,年齡}={1001,黎明,男,21}不能用單一的標準類型表示。使用Type關(guān)鍵字可以定義如下的新類型:TypeStudent_TypeNoAsIntegerNameAsString*8SexAsBooleanAgeAsIntegerEndType要使用這種類型變量Stu,可以寫如下的定義:DimStuAsStudent_Type2.5.3自定義數(shù)據(jù)類型在VB中使用Typ452.6常量
常量,是指在程序不能發(fā)生變化的量。常量有直接常量和符號常量兩種,符號常量又包括程序員聲明的常量和系統(tǒng)提供的常量。2.6.1直接常量2.6.2符號常量(1)程序員聲明的常量(2)系統(tǒng)提供的常量2.6常量
常量,是指在程序不能發(fā)生變化的量。462.6常量-直接常量
直接常量在程序中以常規(guī)的、明顯的方式來表示。根據(jù)使用的數(shù)據(jù)類型不同,直接常量可分為:數(shù)值常量、字符串常量、邏輯常量和日期常量。(1)數(shù)值常量就是常數(shù),包括整型數(shù)、長整型數(shù)、單精度數(shù)、雙精度數(shù)。例如:1234567893.14159-4.5d-3(2)字符串常量是用兩個雙引號括起來的一串字符。這些字符可以是除雙引號和回車符、換行符以外的所有字符。例如:"China"、""、"****""1234567“(3)邏輯常量只有True(真)和False(假)兩個值。(4)日期常量是用兩個“?!碧柊驯硎救掌诤蜁r間的值括起來表示日期常量。例如:#April13,2001##2001-4-1310:30:25PM#2.6常量-直接常量
直接常量在程序中以常規(guī)的、472.6常量(符號常量)-程序員聲明的常量
在程序中,用標識符表示的常量稱為符號常量。在VB中使用關(guān)鍵字Const定義符號常量,其格式為:
Const<符號常量名>[As<類型名>]=<表達式>符號常量的例子:ConstPiAsDouble=3.1415926ConstPi_Two=Pi*2ConstString1="String1"注意:如果用逗號進行分隔,則在一行中可放置多個常量聲明,例如:ConstPi=3.1415926,Max=100,Min=02.6常量(符號常量)-程序員聲明的常量
482.6常量(符號常量)-系統(tǒng)提供的常量
由系統(tǒng)設(shè)定的系統(tǒng)符號常數(shù),它們不需要定義而直接使用。如vbCrlf表示回車換行,vbRed表示顏色的值為十進制255。可以在系統(tǒng)的對象瀏覽器中找到有關(guān)的常數(shù)定義。2.6常量(符號常量)-系統(tǒng)提供的常量
由492.7變量
變量是指在程序中可以發(fā)生變化的量。變量有三個要素:名字、類型和值。變量名字用在程序里,代表這個變量。變量名用在可以計算的一個式子中,則代表這個變量在內(nèi)存中的內(nèi)容,即該變量的值。2.7.1變量命名2.7.2變量聲明(1)變量顯式聲明(2)變量隱式聲明(3)強制顯式聲明變量語句OptionExplicit2.7變量
變量是指在程序中可以發(fā)生變化502.7.1變量命名
變量名的命名規(guī)則必須符合標識符的命名規(guī)則。其它程序員定義的名字如符號常數(shù)、函數(shù)等都適用標識符的命名規(guī)則。合法的變量名或符號名如:abc、qrt4、Pi、aw;不合法的變量名或符號名如:3ab、f$12、gongto。2.7.1變量命名
變量名的命名規(guī)則必須符512.7.2變量聲明-變量顯式聲明
變量在使用前一般需要聲明。最常用的變量聲明語句是Dim。用Dim等語句來聲明變量稱為強制顯式聲明。用Dim聲明變量的語法格式是:
Dim<變量名>[As<類型關(guān)鍵字>]用Dim語句聲明變量例子:DimiCountAsIntegerDimiCount%Dima,bAsSingle,c1,c2AsString,c3AsString*6(固定長度型)注意:“%”是Integer的類型聲明符,上面第一句與第二句聲明代表的意義一樣,都是把iCount聲明為整型。
2.7.2變量聲明-變量顯式聲明
變量在使522.7.2變量聲明-變量隱式聲明
在代碼中不用Dim語句或其它語句定義而直接使用的變量是變體型變量,在VB中允許如此使用變量稱為隱式聲明。隱式聲明變量會帶來程序隱患,例如:
PrivateSubCommand1_Click()Score=95PrintScorEndSub
在上面的程序段中,因為在第三行把Score變量名寫錯了,所以窗體上總是顯示為空。當VB遇到新名字,它分辨不出這是意味著隱式聲明了一個新變量呢,還是僅僅把一個現(xiàn)有變量名寫錯了,于是只好用這個名字再創(chuàng)建一個新變量。
2.7.2變量聲明-變量隱式聲明
在代碼中532.7.2變量聲明-強制顯式聲明變量語句OptionExplicit隱式聲明變量會帶來程序隱患,應(yīng)在窗體和標準模塊的“通用”代碼段中用OptionExplicit語句強制顯式聲明所有變量。例如:PrivateSubCommand1_Click()Score=95PrintScorEndSub
在上面的程序段中,如果對包含Command1_Click()的窗體或標準模塊執(zhí)行OptionExplicit語句,那么VB將認定Score和Scor都是未經(jīng)聲明的變量,并發(fā)出錯誤信息。隨后就可以顯式聲明Score。這樣一來,就很容易發(fā)現(xiàn)拼寫錯誤了。2.7.2變量聲明-強制顯式聲明變量語句OptionE542.8運算符和表達式
2.8.1算術(shù)運算符及其表達式2.8.2字符串運算符及其表達式2.8.3關(guān)系運算符及其表達式2.8.4邏輯運算符及其表達式2.8.5日期運算符及其表達式2.8.6運算符的優(yōu)先級和類型轉(zhuǎn)換
2.8運算符和表達式
2.8.1算術(shù)運算符及其表達式552.8.1算術(shù)運算符及其表達式
算術(shù)運算符是數(shù)值數(shù)據(jù)進行四則運算的符號。VB中的算術(shù)運算符有:+、-、*、/、\、^和Mod,它們的意義見表2-4。
【算術(shù)表達式的書寫規(guī)則】(1)在數(shù)學表達式中省略的內(nèi)容必須重新寫上。例如2ab要寫成2*a*b
(2)每個符號占1格,所有符號都必須一個一個并排寫在同一橫線上,不能在右上角或右下角寫冪或下標。例如:35要寫成3^5,y1+y2要寫成y1+y2
(3)所有括號都用圓括號,括號必須配對。例如3[a+4(b+1)]+c必須寫成3*(a+4*(b+1))+c(4)要把數(shù)學表達式中的有些固定符號,改成VB中可以表示的符號。例如:要把πr2改寫為PI*r^2。2.8.1算術(shù)運算符及其表達式
算術(shù)運算符562.8.2字符串運算符及其表達式
字符串運算符有兩個:“&”和“+”,它們都是二元運算符。當運算符連接的兩個表達式都是字符串時,它們的作用是一樣的,即將兩個字符串首尾相連。下面的示例使用“&”和“+”運算符將字符串連接起來。"廣東"+"人民"和"廣東"&"人民"結(jié)果都是"廣東人民";"123"+"45"和"123"&"45"結(jié)果都是"12345";“&”和“+”的區(qū)別在于:“&”強制兩個表達式(它們的類型可能不同)作字符串連接;而“+”卻要視情況而定。2.8.2字符串運算符及其表達式
字符串運572.8.2字符串運算符及其表達式-例
例子:123+45結(jié)果是168;123&45結(jié)果是"12345";"123"+45結(jié)果是168;"123"&45結(jié)果是"12345"。"123a"+4結(jié)果是語法錯;"123a"&4結(jié)果是"123a4";結(jié)論:
在VB中,“&”運算的結(jié)果總是字符串;而“+”的運算結(jié)果要視情況而定。(1)如果“+”的左右兩邊都是字符串,則結(jié)果返回字符串;(2)如果“+”的左右兩邊都是數(shù)字,則結(jié)果返回兩數(shù)之和;(3)如果“+”的左右兩邊一邊是數(shù)字,一邊是字符串,則分兩種情況:若字符串由純數(shù)字組成,則轉(zhuǎn)化為數(shù)字后再相加,結(jié)果返回兩數(shù)之和;否則結(jié)果返回“類型不匹配”的錯誤信息。2.8.2字符串運算符及其表達式-例
例子:123582.8.3關(guān)系運算符及其表達式關(guān)系運算符都是二元運算符,是把前后兩個字符串或兩個數(shù)值表達式連在一起,構(gòu)成關(guān)系表達式,從而進行比較。比較的結(jié)果是邏輯值:True或False。關(guān)系運算符如表2-5所示。2.8.3關(guān)系運算符及其表達式關(guān)系運算符都是二元592.8.4邏輯運算符及其表達式(1)邏輯運算符邏輯運算(也稱布爾運算)是用邏輯運算符連接兩個或多個關(guān)系式,組成一個邏輯表達式。VB中的邏輯運算符有六個,見表2-6。2.8.4邏輯運算符及其表達式(1)邏輯運算符602.8.4邏輯運算符及其表達式(2)邏輯表達式邏輯表達式由關(guān)系表達式、邏輯運算符、常量、變量和函數(shù)組成。邏輯表達式的一般格式為:<關(guān)系表達式1><邏輯運算符><關(guān)系表達式2>
邏輯運算符用來對邏輯型數(shù)據(jù)進行各種邏輯運算。邏輯表達式運算的結(jié)果與關(guān)系表達式相同,仍然為邏輯型數(shù)據(jù),即True或False。表2-7列出了每一種邏輯運算可能返回的結(jié)果。2.8.4邏輯運算符及其表達式(2)邏輯表達式612.8.4邏輯運算符及其表達式-例閏年的條件是:年號(year)能被4整除,但不能被100整除;或者能被400整除。判斷某年號year是閏年的邏輯表達式是:
(yearMod4=0AndyearMod100<>0)Or(yearMod400=0)2.8.4邏輯運算符及其表達式-例622.8.5日期運算符及其表達式日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),它們之間只能進行加“+”、減“-”運算。日期型表達式由算術(shù)運算符(“+”或“-”)、算術(shù)表達式、日期型常量、日期型變量和函數(shù)組成。日期型表達式的運算有下面三種情況:(1)#08/16/2002#-#07/28/2002#,結(jié)果為數(shù)值型數(shù)據(jù)19。(2)#08/16/2002#+10,結(jié)果為日期型數(shù)據(jù)#02-08-26#。(3)#08/16/2002#-10,結(jié)果為日期型數(shù)據(jù)#02-08-06#。2.8.5日期運算符及其表達式日期型數(shù)據(jù)是一632.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型(1)運算符的優(yōu)先級在一個復(fù)雜的表達式中,可能出現(xiàn)括號、關(guān)系、邏輯、算術(shù)等運算符,在此情況下,先計算括號里的式子;在無括號里的式子中,按如下優(yōu)先級計算:
邏輯運算<關(guān)系運算<字符運算<算術(shù)運算運算符的優(yōu)先順序如表2-8所示。2.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型(1)運算符的優(yōu)先級642.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型(2)在運算中數(shù)據(jù)類型的轉(zhuǎn)換(i)數(shù)字類型的轉(zhuǎn)換(ii)字符串和數(shù)字轉(zhuǎn)換(iii)布爾型的轉(zhuǎn)換(IV)日期轉(zhuǎn)換
2.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型(2)在運算中數(shù)據(jù)類652.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型-續(xù)(i)數(shù)字類型的轉(zhuǎn)換在表達式中VB將所有的數(shù)字類型都轉(zhuǎn)換成精度最高的類型,并且表達式的類型也是這種類型。例如,在Integer,Single,Double三種類型中,精度級別為Integer<Single<Double。例如:Single變量x的值為1.2,則VB表達式x+1計算時,1轉(zhuǎn)換為1.0,計算的結(jié)果為2.2,類型為Single。如果將數(shù)字表達式賦給一個變量,若這個變量不是Variant類型,最終結(jié)果以這個變量的類型來決。例如:sum=2.33。其中sum是整型,根據(jù)VB的規(guī)則,進行四舍五入,結(jié)果為2。2.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型-續(xù)(i)數(shù)字類662.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型-續(xù)(ii)字符串和數(shù)字轉(zhuǎn)換對于比較大的數(shù)字或比較小的數(shù)字就要用科學記數(shù)法。字符串包括的數(shù)字或科學記數(shù)法都能變?yōu)閿?shù)字,反過來也成立。(iii)布爾型的轉(zhuǎn)換當布爾型的值轉(zhuǎn)換成數(shù)字時,True轉(zhuǎn)換成-1,F(xiàn)alse轉(zhuǎn)換成0。反過來,當數(shù)字轉(zhuǎn)換成布爾型時,非零轉(zhuǎn)換成True,零轉(zhuǎn)換成False。(IV)日期轉(zhuǎn)換VB將日期型轉(zhuǎn)換成數(shù)字型時,最終結(jié)果是Double型。整數(shù)代表自1899-12-30號以來的天數(shù),小數(shù)代表某一天的時間。Double轉(zhuǎn)換成日期型時的方法是日期轉(zhuǎn)換成數(shù)字的逆推。2.8.6運算符的優(yōu)先級及轉(zhuǎn)換類型-續(xù)(ii)字符672.9常用內(nèi)部函數(shù)
2.9.1常用數(shù)學函數(shù)2.9.2字符串函數(shù)2.9.3日期和時間函數(shù)2.9.4轉(zhuǎn)換函數(shù)2.9.5格式函數(shù)2.9.6Shell函數(shù)
2.9常用內(nèi)部函數(shù)
2.9.1常用數(shù)學函數(shù)682.9.1常用數(shù)學函數(shù)
數(shù)學函數(shù)可以用于科學計算,它們和數(shù)學中的定義是一致的。表2-9列出了一些常用的數(shù)學函數(shù)。2.9.1常用數(shù)學函數(shù)
數(shù)學函數(shù)可以用于科學692.9.2字符串函數(shù)
與字符串操作有關(guān)的常用函數(shù)稱為字符串函數(shù)。表2-10列出了常用的字符串函數(shù)。2.9.2字符串函數(shù)
與字符串操作有關(guān)的常用函70例2.2查找與替換字符串按下圖設(shè)計程序界面。在下圖右邊的文本框輸入待查找的字符串(也可在設(shè)計階段設(shè)置),然后分別在左邊的兩個文本框里輸入待查找的子字符串和待替換的子字符串,查找字串從文本框txtSeek輸入,替換字串從文本框txtReplace輸入。單擊查找按鈕,把在文本框中找到的子字符串顯示出來,單擊替換按鈕,用待替換的子字符串代替文本框中查找到的子字符串。
替換示意圖例2.2例2.2查找與替換字符串按下圖設(shè)計程序界面。712.9.3日期和時間函數(shù)
在表2-12中列出了一些與日期和時間操作有關(guān)的常用函數(shù)。2.9.3日期和時間函數(shù)
在表2-12中列出了722.9.4轉(zhuǎn)換函數(shù)
轉(zhuǎn)換函數(shù)實現(xiàn)從一種類型轉(zhuǎn)換到另一種類型。表2-13列出了常用轉(zhuǎn)換函數(shù)。2.9.4轉(zhuǎn)換函數(shù)
轉(zhuǎn)換函數(shù)實現(xiàn)從一種類型732.9.5格式(Format)函數(shù)
格式函數(shù)用于把各種數(shù)值、日期等表達式的結(jié)果轉(zhuǎn)換為設(shè)定格式的字符串,以便于輸出處理。在這里,只介紹格式函數(shù)對于數(shù)值的操作。Format函數(shù)的語法格式為:Format(<表達式>,<格式字符串>)其中:<表達式>可以是數(shù)值型、日期型或字符型的表達式;<格式字符串>是一個字符串常量或變量,由專門的格式說明字符組成。這些說明字符決定了數(shù)據(jù)項<表達式>的顯示格式和長度。常用的格式字符有#、0、.、$等。表2-14為常用的數(shù)值型格式說明符簡表。2.9.5格式(Format)函數(shù)
格式742.9.6Shell函數(shù)
在VB中不但提供了可調(diào)用的內(nèi)部函數(shù),還可以調(diào)用各種應(yīng)用程序,也就是說,凡是能夠在DOS或Windows下運行的可執(zhí)行程序,都可以在VB中通過Shell函數(shù)調(diào)用。Shell函數(shù)的語法格式如下:Shell(Pathname,[,Windowstyle])其中,Pathname為包括在兩個雙引號中的可執(zhí)行程序的有效路徑。Windowstyle是一個可
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療設(shè)備進貨合同范本
- 午托廚房合同范本
- 《荷花》教學反思三年級語文教學反思
- 《老狼》音樂教案
- 華夏聯(lián)??照{(diào)合同范本
- 縣城轉(zhuǎn)讓超市合同范本
- 口紅廠家合同范本
- 分期車貸合同范本
- 原版合同范例
- 《對稱圖形》教學反思
- 2025年黑龍江生態(tài)工程職業(yè)學院單招職業(yè)傾向性測試題庫及答案一套
- 小學數(shù)學中巧用信息技術(shù)創(chuàng)造情境教學
- 安徽省歷年中考語文現(xiàn)代文閱讀之非連續(xù)性文本閱讀6篇(截至2024年)
- 公司員工生日會活動復(fù)盤
- 2025年北京青年政治學院高職單招高職單招英語2016-2024年參考題庫含答案解析
- 永輝超市存貨管理問題及優(yōu)化建議9700字
- 售后服務(wù)組織結(jié)構(gòu)及崗位職責
- 網(wǎng)絡(luò)工程師(軟考)考試(重點)題庫300題(含答案解析)
- 統(tǒng)編版八年級語文上冊第六單元作業(yè)設(shè)計
- 中建通風與空調(diào)施工方案
- 2024-2025年江蘇專轉(zhuǎn)本英語歷年真題(含答案)
評論
0/150
提交評論