visual basic-程序設計代碼基礎_第1頁
visual basic-程序設計代碼基礎_第2頁
visual basic-程序設計代碼基礎_第3頁
visual basic-程序設計代碼基礎_第4頁
visual basic-程序設計代碼基礎_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三章VB程序設計代碼基礎程序設計中有兩個主要步驟:一個是界面設計,一個是代碼編寫。程序設計中代碼編寫是功能實現的關鍵,代碼一方面決定了程序是否能夠正確完成規(guī)定的功能,另一方面代碼還決定了程序在使用上的方便性。1VB3-程序設計代碼基礎§3.1VB的字符和關鍵字字符是構成程序設計語言的最小語法單位。VB的字符集包括:一、

VB的字符集:數字:0~9共10個;英文字母:a~z,A~Z共52個;特殊字符:

空格!“#$%^&*()-+=_{[]}~|\/‘;:?<>,.@共31個。2VB3-程序設計代碼基礎§3.1VB的字符和關鍵字關鍵字又稱為保留字,在語言中有特殊的含義,是語言的組成部分。用于表示系統(tǒng)提供的函數、標準過程、運算符、常量等。用戶不能自定義關鍵字的含義。二、

VB的關鍵字:數據類型名:Integer、Single、Double、Long、Boolean、Currency等選擇或循環(huán)結構中使用的:If、Else、ElseIf、End、Select、Case、For、While、Loop、Do、Next等定義變量或常量時使用的:Dim、Pravite、Public、Const、Static等3VB3-程序設計代碼基礎§3.2VB的數據類型數據是程序的重要組成部分,也是程序的處理對象。為了表示各種不同類型的外界信息,在程序設計語言中都有各種不同的數據類型。VB提供的數據類型有:數值型、字符串型、布爾型、日期型、可變型、對象型。例如表示年齡應使用整數,而表示姓名則必須使用字符串。4VB3-程序設計代碼基礎一、數值型數據VB提供的數值型數據分為整數類型、實數類型和字節(jié)型三大類。整數類型

實數類型字節(jié)型(Byte)整型(Integer)長整型(Long)單精度浮點型(Single)雙精度浮點型(Double)

貨幣型(Currency)數值型數據5VB3-程序設計代碼基礎一、數值型數據數據類型類型符關鍵字存儲空間(字節(jié))數值類型數值范圍備注整型%Integer2整數-215~215-1(-32768~32767)長整型&Long4整數-231~231-1(-2147483648~2147483647)單精度浮點型!Single4實數負數:-3.402823*1038~-1.401298*10-45正數:1.401298*10-45~3.402823*1038最多7位精確雙精度浮點型#Double8實數負數:-1.79769313486232*10308~

-4.94065645841247*10-324正數:4.94065645841247*10-324~

1.79769313486232*10308最多15位精確貨幣型@Currency8實數-922337203685477.5808~

922337203685477.5807精確的定點小數小數點左邊有15位數字,右邊有4位字節(jié)型Byte1整數0~255存儲二進制數據6VB3-程序設計代碼基礎二、字符串型數據(String,類型符號$)字符串型數據是用一對雙引號括起來的字符序列。字符串中的字符是任意可打印的字符和漢字。字符串中沒有字符叫作空串,用連續(xù)兩個雙引號表示。在字符串中連續(xù)兩個雙引號表示一個雙引號。例如語句:print"""今天是2005年2月21日"""

的輸出結果是:"今天是2005年2月21日"7VB3-程序設計代碼基礎三、布爾型數據(Boolean)布爾型數據又叫邏輯型數據,只有兩種取值。布爾型數據在內存中占2個字節(jié)的存儲空間,用于進行邏輯判斷,取值有True和False兩種。布爾型數據轉換為其它類型的數據時False轉換為0,True轉換為-1。其它類型的數據轉換為布爾型時,0轉換為False,非0轉換為True。8VB3-程序設計代碼基礎四、日期型數據(Date)日期型數據用來表示日期和時間。日期型數據在內存中占8個字節(jié)的存儲空間,可表示的日期從100年1月1日~9999年12月31日、時間從0:00:00~23:59:59。日期型數據可以用##括的字符來表示。日期型數據可以用數值來表示,以整數表示1899年12月31日以來的天數,以小數表示午夜以來的時間。9VB3-程序設計代碼基礎五、可變型數據(Variant)可變型數據又叫做通用型數據,可以包含任何類型的數據。可變型數據是VB的默認數據類型??勺冃蛿祿杏幸粋€特殊的數值:空值(Empty)。一個變量定義為可變型后未賦任何值,則為空值。需要注意的是空值與空串不同。10VB3-程序設計代碼基礎§3.3常量常量:指在程序運行過程中其值不發(fā)生變化的量。在VB中有兩種形式的常量:直接常量和符號常量,符號常量又分為系統(tǒng)定義的常量和用戶自定義常量。直接常量符號常量用戶定義符號常量

系統(tǒng)定義符號常量常量11VB3-程序設計代碼基礎一、直接常量以直接明顯的形式給出的數。根據常量的數據類型,分為數值常量、字符串常量、布爾常量、日期常量等。如:12345、&O123、&Hffee都是整型常量;2.23、0.1874E+2等都是單精度浮點型常量;-2.23、0.187465789D+2等都是雙精度浮點型常量;"WelcometoHenanUniversityofScienceandTechnology"、"12345"都是字符串常量;True、False都是布爾型常量;#2006-2-10#、#Feburary10,2006#都是日期型常量12345678、&O11223344、&Hffee&都是長整型常量;12VB3-程序設計代碼基礎二、用戶自定義符號常量1.聲明格式:Const常量名[As類型名]=數值例如聲明語句:ConstPIAsSingle=3.1415926

表示PI是一個單精度型符號常量,其值為3.141593再如聲明語句:ConstPI=3.1415926

也表示PI是一個符號常量,其值為3.1415926再如聲明語句:ConstPIAsInteger=3.1415926

也表示PI是一個符號常量,其值為313VB3-程序設計代碼基礎二、用戶自定義符號常量2.自定義符號常量使用的一些說明

(1)一個聲明語句中可以聲明多個符號常量:

ConstPIAsSingle=3.1415926,STRAsString="Hello"(2)可以使用已經聲明過的符號常量,如下聲明:

ConstPI=3.1415926ConstPI2=2*PI14VB3-程序設計代碼基礎三、系統(tǒng)定義符號常量VB系統(tǒng)還提供了應用程序的控件的系統(tǒng)定義符號常量。這些符號常量存儲在對象庫中。VB5.0以后的版本中,系統(tǒng)定義符號常量用前綴或庫引用來標識。前綴“vb”表明這個符號常量屬于VB應用版的對象庫;前綴“db”表明這是一個數據訪問對象庫常量;前綴“xl”表明這個常量屬于MicrosoftExcel對象庫VB中系統(tǒng)定義符號常量可以從對象瀏覽器中瀏覽。15VB3-程序設計代碼基礎§3.4變量數據存入內存后,必須用某種方式訪問它,才能夠執(zhí)行指定的操作。在VB中可以用名字來表示內存單元,這樣就能夠訪問內存中的數據。一個有名稱的內存單元稱為變量,變量的值在程序運行期間是可以變化的。每一個變量都有名字和數據類型,通過變量名來引用一個變量,而通過變量的數據類型來確定對變量的訪問方式。16VB3-程序設計代碼基礎一、變量的命名規(guī)則(1)以字母或下劃線開頭,后跟字母、數字或下劃線;(2)不超過255個字符;(3)不能使用關鍵字;(4)不能與運算符、語句、標準函數、過程名、

符號常量名、方法名、屬性名等同名;(5)不區(qū)分大小寫。17VB3-程序設計代碼基礎二、變量的聲明1.顯式聲明:Dim|Public|Private|Static<變量名>[As類型]聲明格式變量的類型備注DimaAsIntegera是一個整型變量。在模塊頂部聲明段或者在過程中定義StaticaAsIntegera是一個局部靜態(tài)整型變量在過程中聲明PublicaAsIntegera是一個公共整型變量在模塊的聲明段中聲明PrivateaAsIntegera是一個模塊級整型變量在模塊頂部的聲明段中聲明18VB3-程序設計代碼基礎二、變量的聲明1.顯式聲明:Dim|Public|Private|Static<變量名>[As

類型]對顯示聲明的補充說明:(1)當顯示聲明時不給定類型,變量的類型為可變型(Variant)。(2)可變型變量的初值為空值。(3)數值型變量的初值為0。(4)字符串型變量的初值為空串。(5)布爾型變量的初值為False。19VB3-程序設計代碼基礎二、變量的聲明2.隱式聲明:變量不需要聲明而直接使用。

請看如下的幾個語句:MyValue="123"'存入字符串,變量的值為"123"MyValue=myValue+100'與數值計算后類型為數值,變量的值為223MyValue=myValue&"ABC"'與字符串連接后為字符串型在隱式聲明時可以使用類型符號來定義變量的類型:請看下面的語句:MyValue%=123'

變量MyValue為整型變量MyString$="ABCDE"

'

變量MyString為字符型變量20VB3-程序設計代碼基礎二、變量的聲明3.強制顯式聲明:強制變量必須進行聲明才能使用。

強制聲明語句為:OptionExplicit強制聲明語句必須放在窗體模塊或標準模塊的聲明段

。使用了強制聲明語句后,變量在使用之前必須進行聲明,否則將出錯。21VB3-程序設計代碼基礎三、變量的作用域和生存期變量有三種重要屬性:類型、作用域和生存期。類型決定了變量所存儲的數據的類型、范圍和精度。作用域由變量的定義位置和定義關鍵字表示,它決定了變量所能夠使用的范圍。生存期由變量定義的關鍵字表示,它決定了變量的存在的時間。一個變量既在作用域又在生存期才能起作用。22VB3-程序設計代碼基礎三、變量的作用域和生存期1.變量的作用域(起作用的范圍)過程級變量:在過程內部聲明,作用域為過程。模塊級變量:在模塊的通用聲明段使用Dim或Private聲明,作用域為該模塊。全局變量:在模塊的通用聲明段使用Public聲明,作用域為應用程序中的所有過程。23VB3-程序設計代碼基礎三、變量的作用域和生存期2.變量的生存期(保留存儲單元的時間)靜態(tài)變量:使用Static關鍵字聲明,生存期為程序。且該變量只能被初始化一次。即使用不在作用域,存儲單元仍保留。靜態(tài)變量只能在過程中定義。動態(tài)變量:聲明時不使用Static關鍵字,生存期與作用域相同。一旦不在作用域,存儲單元立即釋放。24VB3-程序設計代碼基礎§3.2VB的運算符和表達式用運算符號將運算對象(操作數)連接起來的式子構成表達式。VB中有以下5類運算符和表達式:(1)算術運算符和算術表達式(2)字符串運算符和字符串表達式(3)關系運算符和關系表達式(4)布爾(邏輯)運算符和布爾表達式(5)日期運算符和日期表達式25VB3-程序設計代碼基礎一、算術運算符和算術表達式1.算術運算符:

+-*/\mod^2.算術運算符優(yōu)先級:低于括號和函數,且各算術運算符的優(yōu)先級不同:(*/)\mod(+-)高低^-26VB3-程序設計代碼基礎一、算術運算符和算術表達式-3^2的結果是:

-9(-3)^2的結果是:

93\2的結果是:

1-3.6\2的結果是:

-23\5的結果是:

03.7mod3的結果是:

1-3mod2的結果是:

-111mod-3的結果是:

227VB3-程序設計代碼基礎二、字符串運算符和字符串表達式1.字符串運算符:

+&

2.功能:字符串運算符的功能是將兩個運算對象(字符串)連接起來。3.優(yōu)先等級:字符串運算符優(yōu)先級低于算術運算符,高于關系運算符。28VB3-程序設計代碼基礎二、字符串運算符和字符串表達式(1)“&”運算符進行強制性字符串連接。

"1234"&"5678"123456783.字符串運算符的使用說明:

"1234"&"abcd"1234abcd1234&12341234123429VB3-程序設計代碼基礎二、字符串運算符和字符串表達式(2)“+”運算符則進行加法或字符串連接運算。

"1234"+"5678"123456783.字符串運算符的使用說明:

"1234"+123424681234+"abce"出錯兩個字符串進行字符串連接一個數值和一個數字組成的字符串進行加法運算一個數值和一個由非數字組成的字符串出錯30VB3-程序設計代碼基礎三、關系運算符和關系表達式關系表達式的取值為布爾值,只有True(真)和False(假)兩種。關系運算符又叫比較運算符,是在兩個運算對象進行比較運算時使用的。31VB3-程序設計代碼基礎三、關系運算符和關系表達式1.關系運算符:

<<=>>=<>=LikeIs

2.優(yōu)先等級:關系運算符優(yōu)先級低于算術和字符串運算符,高于布爾運算符。(1)數值對象比較時按數值大小比較

3.關系運算符的使用說明:

(2)字符串比較時按對應字符的ASCII碼值比較,遇到第一個不同的ASCII值時結束比較。

32VB3-程序設計代碼基礎三、關系運算符和關系表達式"1234">"12345"False"13">"1234"True"1234">"abced"False"abce">"ABCD"True"">"12345"False33VB3-程序設計代碼基礎四、布爾運算符和布爾表達式布爾表達式的取值為布爾值,只有True(真)和False(假)兩種。布爾運算符又叫邏輯運算符,是進行兩個運算對象的邏輯運算時使用的。34VB3-程序設計代碼基礎四、布爾運算符和布爾表達式1.布爾運算符:

NotAndOrXor

EqvImp2.布爾運算符優(yōu)先級:低于關系運算符,且各布爾運算符的優(yōu)先級不同:Imp高低AndOr,XorEqvNot35VB3-程序設計代碼基礎四、布爾運算符和布爾表達式3.布爾表達式的使用注意事項要想表示:0<=a<=10

,不能寫成0<=a<=10,而必須寫成:0<=aAnda<=10

或者:a>=0Anda<=10

要想表示:a=2,3,4

,不能寫成a=2,a=3,a=4或者a=2,3,4,而必須寫成:a=2Ora=3Ora=4

36VB3-程序設計代碼基礎五、日期運算符和日期表達式日期型數據可以進行下面的運算:(1)日期型數據與數值進行加法運算;(2)日期型數據與數值進行減法運算;日期型數據通常只進行加減運算,運算對象只能是數值型數據或日期型數據。37VB3-程序設計代碼基礎五、日期運算符和日期表達式日期型數據與數值進行加法運算結果為日期,其中整數部分作為日期中向后的天數,小數部分作為0點以來的時間;#2006-2-12#+3結果為:2006-2-15

#2006-2-12#+366結果為:2007-2-13

#2006-2-12#+3.2結果為:2006-2-154:48:00(1)日期型數據與數值進行加法運算38VB3-程序設計代碼基礎五、日期運算符和日期表達式日期型數據與數值進行加法運算結果為日期,其中整數部分作為日期中向前的天數,小數部分作為0點向前的時間;#2006-2-12#-3結果為:2006-2-9

#2006-2-12#-366結果為:2005-2-11

#2006-2-12#-3.2結果為:2006-2-819:12:00(2)日期型數據與數值進行減法運算39VB3-程序設計代碼基礎六、表達式的運算順序運算順序先根據優(yōu)先等級,如果優(yōu)先等級相同,再按照從左到右的原則。^-*,/\Mod+,-&,+=,<>,><,>,<,>=,<=,Like,IsNotAndOra+b>c+dAnda>=5OrNotc>0Ord<0分析下面表達式的運算順序40VB3-程序設計代碼基礎§3.6常用內部函數程序設計語言中的函數包括兩大類:標準(內部)函數和用戶自定義函數。內部函數是為了方便用戶使用,對于在程序設計中公共需要的函數(如輸入函數、輸出函數、三角函數、平方根函數等)進行預定義,以供用戶隨時調用。用戶自定義函數是用戶根據程序設計的特殊需要所定義的函數,由戶定義并編寫程序代碼,供用戶使用。VB中常用的內部函數有:數學函數、字符串函數、隨機函數、轉換函數、日期和時間函數。41VB3-程序設計代碼基礎一、數學函數格式:Abs(x)(1)絕對值函數Abs功能:Abs(x)返回x的絕對值,返回值的類型與參數相同。Abs(1234)1234Abs(1234.987)1234.987Abs(-1234)123442VB3-程序設計代碼基礎一、數學函數格式:Sin(x)、Cos(x)、Tan(x)、Atn(x)(2)三角函數Sin、Cos、Tan、Atn功能:返回參數x的三角函數值,參數為弧度,返回值為Double。Sin(45)0.706825181105366Cos(60*3.14/180)0.500459689008206Sin(45*3.14/180)Cos(60*3.1415926/180)0.5000000154700410.707106771713121Sin(45*3.1415926/180)43VB3-程序設計代碼基礎一、數學函數格式:Sqr(x)(3)平方根函數Sqr功能:Sqr(x)函數返回參數x的平方根,x>=0。Sqr(9)31.4142135623731Sqr(2)出錯Sqr(-3)44VB3-程序設計代碼基礎一、數學函數格式:Exp(x)、Log(x)(4)指數和對數函數Exp、Log功能:Exp(x)函數返回ex,Log(x)函數返回ln(x)Exp(1)2.718281828459051Exp(0)0.999999327347582Log(2.71828)注意:VB沒有提供常用對數函數,需要計算lg(x)時按下面的公式轉換:

log(x)/log(10)2.30258509299405Log(10)45VB3-程序設計代碼基礎一、數學函數格式:Sgn(x)(5)符號函數Sgn功能:Sgn(x)函數返回x的符號,正數返回1,負數返回-1,零返回0Sgn(-8)-11Sgn(0.48)0Sgn(0)46VB3-程序設計代碼基礎一、數學函數格式:Int(x)、Fix(x)(6)取整函數Int、Fix功能:Int(x)返回不大于x的最大整數,Fix(x)返回x的整數部分Int(-6.5)-76Int(6.5)Fix(-6.5)-66Fix(6.5)47VB3-程序設計代碼基礎二、字符串函數格式:LTrim(s)、RTrim(s)、Trim(s)(1)刪除空白字符函數LTrim、RTrim、Trim功能:LTrim(s)函數刪除s左邊的空格,RTrim(s)函數刪除s右邊的空格,Trim(s)函數刪除s左邊和右邊的空格。"歡迎使用VB"LTrim("歡迎使用VB")"歡迎使用VB"RTrim("歡迎使用VB")"歡迎使用VB"Trim("歡迎使用VB")48VB3-程序設計代碼基礎二、字符串函數格式:Left(s,n)、Right(s,n)、Mid(s,m,n)(2)取子串函數Left()、Right()、Mid()功能:Left(s,n)函數返回s左邊的n個字符;Right(s,n)函數返回s右邊的n個字符;Mid(s,m,n)函數返回s中從第m個字符開始的n個字符。Left("ABCDE",3)"ABC""ABCDE"Left("ABCDE",8)"張"Left("張三",1)"CD"Mid("ABCDE",3,2)"BCC"Right("AABBCC",3)49VB3-程序設計代碼基礎二、字符串函數格式:Len(s)(3)字符串長度函數Len功能:Len(s)函數返回字符串s中字符的個數。Len("ABCDE")57Len("ABCDE")0Len("")50VB3-程序設計代碼基礎二、字符串函數格式:String(n,s)(4)生成子串函數String功能:String(n,s)函數返回由n個s中第一個字符組成的字符串。String(4,"A")"AAAA""AAAA"String(4,"ABCDE")"aaaaa"String(5,97)(5)生成空格函數Space格式:Space(n)功能:Space(n)函數返回由n個空格組成的字符串。51VB3-程序設計代碼基礎二、字符串函數格式:InStr(n,s1,s2)(6)搜索子串函數InStr功能:InStr(n,s1,s2)函數返回在字符串s1中出現子串s2的位置,n決定了在s1中搜索的起始位置。InStr("ABCDE","CD")3InStr(1,"ABCDE","CD")3InStr(4,"ABCDE","CD")052VB3-程序設計代碼基礎二、字符串函數格式:UCase(s)、LCase(s)(7)大小寫轉換函數UCase、LCase功能:UCase(s)函數將s中的字母全部轉換成大寫;

LCase(s)函數將s中的字母全部轉換成小寫。UCase("ABoy")"ABOY"LCase("ABCDE***")"abcde***"53VB3-程序設計代碼基礎三、隨機函數隨機函數經常用于測試、模擬、游戲程序中。例如隨機抽題、概率模擬等。再如排隊吃飯、等車時間等都是隨機模擬問題。54VB3-程序設計代碼基礎三、隨機函數(1)格式:Rnd(x)1.隨機函數Rnd(2)功能:返回一個[0,1)之間的隨機數。(3)說明:若x<0,則每次都以x作為隨機數種子;

若x=0,產生與最近生的隨機數相同的數;

若x>0,以上個隨數為種子,產生序列中的下一個隨機數55VB3-程序設計代碼基礎三、隨機函數(4)產生任意范圍的隨機數的表達式1.隨機函數Rnd[a,b]:a+Int(Rnd*(b-a+1))[a,b):a+Rnd*(b-a)(a,b]:a+1+Rnd*(b-a)56VB3-程序設計代碼基礎三、隨機函數格式:Randomize2.Randomize語句功能:使用系統(tǒng)時間作為隨機化種子。說明:(1)Randomize應放在使用Rnd函數之前。(2)使用該語句后,再調用Rnd函數,每次都產生不同的隨機數。57VB3-程序設計代碼基礎四、轉換函數轉換函數用于進行數據類型之間的轉換。轉換函數有很多,常用的轉換函數有:(1)字符與ASCII碼之間的轉換函數;(2)數值與字符之間的轉換函數。58VB3-程序設計代碼基礎四、轉換函數格式:Asc(s)(1)字符轉成ASCII碼值函數Asc功能:Asc(s)返回字符串s中第一個字符的ASCII碼值。Asc("A")65Asc("BCD")66Asc("")出錯Asc("")3259VB3-程序設計代碼基礎四、轉換函數格式:Chr(x)(2)ASCII碼值轉換成字符函數Chr功能:Chr(x返回數值x所對應的ASCII碼字符。Chr(65)"A"Chr(32)空格Chr(49)"1"60VB3-程序設計代碼基礎四、轉換函數格式:Str(x)(3)數值轉換成字符串函數Str功能:Str(x)返回x所對應的字符串。Str(56)"56"Str(32.9999)"32.9999"61VB3-程序設計代碼基礎四、轉換函數格式:Val(s)(4)字符串轉換成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論