Vb程序設(shè)計(jì)_3_2014_第1頁
Vb程序設(shè)計(jì)_3_2014_第2頁
Vb程序設(shè)計(jì)_3_2014_第3頁
Vb程序設(shè)計(jì)_3_2014_第4頁
Vb程序設(shè)計(jì)_3_2014_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、主講:陳學(xué)東主講:陳學(xué)東 常丹常丹Tel: 51688529 Tel: 51688529 E-Mail: E-Mail: 北京交通大學(xué)經(jīng)濟(jì)管理學(xué)院信息管理系北京交通大學(xué)經(jīng)濟(jì)管理學(xué)院信息管理系2v教學(xué)目標(biāo)教學(xué)目標(biāo)u準(zhǔn)確理解變量、常量的概念,重點(diǎn)掌握變量、常量的作用范圍; u熟悉VB數(shù)據(jù)類型的分類及使用,了解各類型存儲(chǔ)數(shù)據(jù)值的范圍; u特別留意VB中變量使用與C中的區(qū)別(強(qiáng)制類型定義語句的使用) u掌握數(shù)組的使用:定義、一維、多維;固定數(shù)組、動(dòng)態(tài)數(shù)組;Variant型數(shù)組; u熟悉VB運(yùn)算符、表達(dá)式。3v3.1 3.1 編程風(fēng)格編程風(fēng)格u1、編程風(fēng)格格式化代碼示例u2、為 MsgBox、Input

2、Box 及 SQL 查詢創(chuàng)建字符串v3.2 3.2 變量和常量變量和常量v3.3 3.3 數(shù)據(jù)類型數(shù)據(jù)類型v3.4 3.4 數(shù)組數(shù)組v3.5 3.5 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v第三章作業(yè)第三章作業(yè)4對(duì)象、變量及過程的命名約定:對(duì)象、變量及過程的命名約定:用一致的前綴來命名對(duì)象。例:chkReadOnly、mnuFileOpen標(biāo)記和注釋編碼的標(biāo)準(zhǔn)化格式:標(biāo)記和注釋編碼的標(biāo)準(zhǔn)化格式:u過程和函數(shù)都應(yīng)以注釋開始uVB中注釋語句:以單引號(hào)()打頭號(hào)描述這段過程的功能(干什么),不包括執(zhí)行過程細(xì)節(jié)(怎么做的)。代碼本身和必要的嵌入注釋將描述實(shí)現(xiàn)過程。也應(yīng)描述傳遞給過程的參數(shù)。被過程改變的函數(shù)返回值

3、和全局變量,特別是通過引用參數(shù)的那些,也必須在每個(gè)過程的起始處描述它們。長語句的分隔(長語句的分隔(_)_)及短語句的合并(及短語句的合并(: :)空格、格式化及縮排的準(zhǔn)則??崭瘛⒏袷交翱s排的準(zhǔn)則。5目的:在用戶列表數(shù)組中找出一個(gè)指定用戶的第一次出現(xiàn)位置。輸入: strUserList():被搜索的用戶列表。 strTargetUser:要搜索的用戶名。返回: 在rasUserList 數(shù)組中rsTargetUser的第一次出現(xiàn)的索引。如果目標(biāo)用戶沒找到,返回-1。Function intFindUser (strUserList() As String, strTargetUser As

4、String) As IntegerDim i As Integer 循環(huán)計(jì)數(shù)器。Dim blnFound As Integer 目標(biāo)尋找標(biāo)志。intFindUser = -1i = 0While i 1988TitlesQry.SQL = QRY7v常數(shù):程序處理中一直不變的、可以直接使用的數(shù)常數(shù):程序處理中一直不變的、可以直接使用的數(shù)v變量:變量:臨時(shí)存儲(chǔ)數(shù)據(jù),具有名字和數(shù)據(jù)類型uOption Explicit語句:強(qiáng)制聲明變量u應(yīng)該給變量加前綴來指明它們的數(shù)據(jù)類型,以及變量范圍v常量:常量:在執(zhí)行中,值保持不變。u對(duì)于常量名,應(yīng)遵循與變量相同的規(guī)則。81.1.變量聲明變量聲明Dim|Pr

5、ivate|Public|Static VariantName As TypeNamev變量總是被定義在盡可能小的范圍內(nèi)。可有下列范圍及作用域:(1)過程級(jí):子過程或函數(shù)過程中的 Private作用范圍:在聲明它的過程中(子過程或函數(shù)中缺省)(2)模塊級(jí):窗體或代碼模塊(.frm、.bas )的聲明部分中的 Private (窗體模塊聲明中缺省)作用范圍:窗體或代碼模塊中的每一個(gè)過程(3)全局:代碼模塊(.bas)的聲明部分中的Public作用范圍:應(yīng)用程序中的每一處9(4)靜態(tài)變量:在過程結(jié)束后,變量的值仍然保留著。u將局部變量定義成靜態(tài)的,可保留其值。在過程內(nèi)部用Static關(guān)鍵字聲明一個(gè)

6、或多個(gè)變量,其用法和 Dim 語句完全一樣。Function RunningTotal (num)Static ApplesSold As SingleApplesSold = ApplesSold + numRunningTotal = ApplesSoldEnd Function102.2.常量:可用常量大幅度地改進(jìn)代碼的可讀性和可維護(hù)性常量:可用常量大幅度地改進(jìn)代碼的可讀性和可維護(hù)性。u格式:const as 類型=表達(dá)式u不能象對(duì)變量那樣修改常量,也不能對(duì)常量賦以新值。u用戶定義的常量是用 Const 語句來聲明的。Public Const conMaxPlanets As Integ

7、er = 9Const conReleaseDate = #1/1/95#u和變量聲明一樣, Const 語句也有范圍,也使用相同的規(guī)則11v數(shù)據(jù)類型:所有變量都具有數(shù)據(jù)類型,以決定能夠存儲(chǔ)哪種數(shù)據(jù)。數(shù)據(jù)類型:所有變量都具有數(shù)據(jù)類型,以決定能夠存儲(chǔ)哪種數(shù)據(jù)。u如果在聲明中沒有說明數(shù)據(jù)類型,則變量的數(shù)據(jù)類型為 Variant。它可在不同場合代表不同數(shù)據(jù)類型。VB自動(dòng)完成各種必要的數(shù)據(jù)類型轉(zhuǎn)換。u以聲明了特定類型的變量為好,會(huì)以更高的效率處理這個(gè)數(shù)據(jù)。u除變量外,數(shù)據(jù)類型也用于其它場合。如函數(shù)的參數(shù)也有數(shù)據(jù)類型。事實(shí)上,凡是與數(shù)據(jù)有關(guān)的東西就與數(shù)據(jù)類型有關(guān)。u如:Static YourName A

8、s String Public BillsPaid As Currencyu一個(gè)聲明語句可將多個(gè)聲明組合起來,請(qǐng)看下列語句:Private YourName As String,BillsPaid As Currencyu注意:注意:Private Test,Amount,J As Integer 在上例中,變量 Test 和 Amount 是 Variant 數(shù)據(jù)類型。會(huì)導(dǎo)致意外錯(cuò)誤。12數(shù)據(jù)類型數(shù)據(jù)類型存儲(chǔ)空間存儲(chǔ)空間范圍范圍Byte1字節(jié)0255Boolean2字節(jié)True或FalseInteger2字節(jié)-3276832767Long4字節(jié)-2147483648 2147483647Si

9、ngle4字節(jié)-3.402823E38-1.401298E-45; 1.401298E-45 3.402823E38Double8字節(jié)-1.797693134486232E308-4.94065645841247E-324; 4.94065645841247E-3241.797693134486232E308Currency8字節(jié)-922337203685477.5808 922337203685477.5807Decimal14字節(jié)無小數(shù)點(diǎn)時(shí)為+/-79228162514264337593543950335,小數(shù)點(diǎn)右邊有28位數(shù)時(shí)為+/-7.9228162514264337593543950

10、335Date8字節(jié)100年1月1日9999年12月31日Object4字節(jié)任何Object引用String020億Variant同String13Numeric Numeric 數(shù)據(jù)類型數(shù)據(jù)類型u幾種 Numeric 數(shù)據(jù)類型:Integer(整型)、Long(長整型)、Single(單精度浮點(diǎn)型)、Double(雙精度浮點(diǎn)型)和 Currency(貨幣型)。與 Variant 類型相比,Numeric 類型占用的存儲(chǔ)空間通常要少。u整數(shù)的運(yùn)算速度較快,占據(jù)的內(nèi)存少(2個(gè)字節(jié))。u如果變量包含小數(shù),則可將它們聲明為 Single、Double 或 Currency 變量。Currency 數(shù)

11、據(jù)類型支持小數(shù)點(diǎn)右面 4 位和小數(shù)點(diǎn)左面 15 位;它是一個(gè)精確的定點(diǎn)數(shù)據(jù)類型,適用于貨幣計(jì)算。浮點(diǎn)(Single 和 Double)數(shù)比 Currency 的有效范圍大得多,但有可能產(chǎn)生小的進(jìn)位誤差。u注意注意 浮點(diǎn)數(shù)值可表示為 mmmE Eeee 或 mmmD Deee ,其中 mmm 是假數(shù),而 eee 是指數(shù)(以 10 為底的冪)。Single 數(shù)據(jù)類型的最大正數(shù)值為 3.402823E+38,或 3.4 乘以 10 的 38 次方;Double 數(shù)據(jù)類型的最大正數(shù)值是 1.79769313486232D+308 或 1.8 乘以 10 的 308 次方。示例示例3.2 3.2 不同不

12、同NumericNumeric類型數(shù)據(jù)的精度類型數(shù)據(jù)的精度14Byte Byte 數(shù)據(jù)類型數(shù)據(jù)類型uByte 是從 0 - 255 的無符號(hào)類型,用于存儲(chǔ)二進(jìn)制數(shù)。u可Byte數(shù)組代替String 變量,后者在 ANSI 和 Unicode 格式間進(jìn)行轉(zhuǎn)換時(shí),變量中的任何二進(jìn)制數(shù)據(jù)都會(huì)遭到破壞。u在下列任一種情況下,VB都會(huì)自動(dòng)在 ANSI 和 Unicode 之間進(jìn)行轉(zhuǎn)換:讀文件、寫文件、調(diào)用 DLL 、調(diào)用對(duì)象的方法和屬性時(shí)u除一元減法外,所有可對(duì)整數(shù)進(jìn)行操作的運(yùn)算符均可操作 Byte 數(shù)據(jù)類型。在進(jìn)行一元減法運(yùn)算時(shí),VB首先將 Byte 轉(zhuǎn)換為符號(hào)整數(shù)。u所有數(shù)值變量都可相互賦值,也可對(duì)

13、 Variant 類型變量賦值。 在將浮點(diǎn)數(shù)賦予整數(shù)之前, VB要將浮點(diǎn)數(shù)的小數(shù)部分四舍五入,而不是將小數(shù)部分去掉。15String String 數(shù)據(jù)類型數(shù)據(jù)類型u如果變量總是包含字符串而從不包含數(shù)值,就可將其聲明為 String 類型。如:Private S As Stringu可將字符串賦予這個(gè)變量,并用字符串函數(shù)對(duì)它進(jìn)行操作。S = DatabaseS = Left (S,4)uString 變量或參數(shù)是一個(gè)可變長度的字符串,隨著對(duì)字符串賦予新數(shù)據(jù),它的長度可增可減。 也可以聲明字符串具有固定長度??捎靡韵抡Z法聲明一個(gè)定長字符串: Dim EmpName As String * 50u

14、如果賦予字符串的字符少于 50 個(gè),則用空格將不足部分填滿。如果賦予字符串的長度太長,則 VB會(huì)直接截去超出部分的字符。u在處理定長字符串時(shí),刪除空格的 Trim 和 RTrim 函數(shù)是很有用的。 u可將標(biāo)準(zhǔn)模塊中的定長字符串聲明為 Public 或 Private。在窗體和類模塊中,必須將定長字符串聲明為 Private。uVB中提供和很多字符串處理函數(shù)。16Boolean Boolean 數(shù)據(jù)類型數(shù)據(jù)類型u若變量的值只是true/false信息,則可將它聲明為 Boolean 類型。Boolean 的缺省值為 False。Dim blnRunning As Boolean查看磁帶是否在轉(zhuǎn)。

15、If Recorder.Direction = 1 Then blnRunning = TrueEnd ifuBoolean變量可以進(jìn)行邏輯運(yùn)算:AND、OR、NOT。示例示例 3.33.3:BooleanBoolean變量顯示結(jié)果變量顯示結(jié)果17DATE DATE 數(shù)據(jù)類型數(shù)據(jù)類型uDate 和 Time 值既可包含在特定的 Date 數(shù)據(jù)類型中,又可包含在 Variant 變量中。u當(dāng)其它數(shù)值數(shù)據(jù)類型轉(zhuǎn)換為 Date 時(shí),小數(shù)點(diǎn)左邊的值表示 Date 信息,小數(shù)點(diǎn)右邊的值則代表 Time。午夜為 0,正午為 0.5。負(fù)數(shù)表示公元 1899 年 12 月 31 日之前的 Date。18Obj

16、ect Object 數(shù)據(jù)類型數(shù)據(jù)類型uObject 變量作為 32 位(4 個(gè)字節(jié))地址來存儲(chǔ),該地址可引用應(yīng)用程序中或某些其它應(yīng)用程序中的對(duì)象??梢噪S后(用 Set 語句)指定一個(gè)被聲明為 Object 的變量去引用應(yīng)用程序所識(shí)別的任何實(shí)際對(duì)象。Dim objDb As ObjectSet objDb = OpenDatabase (c:Vb5Biblio.mdb)u在聲明對(duì)象變量時(shí),請(qǐng)?jiān)囉锰囟ǖ念?,而不用一般?Object(例如用 TextBox 而不用 Control,或者象上面的例子那樣,用 Database 取代 Object)。運(yùn)行應(yīng)用程序之前,Visual Basic 可以決

17、定引用特定類型對(duì)象的屬性和方法。因此,應(yīng)用程序在運(yùn)行時(shí)速度會(huì)更快。u當(dāng)使用其它應(yīng)用程序的對(duì)象,并在“對(duì)象瀏覽器”中的“類”列表中列舉對(duì)象時(shí),不要用 Variant 或一般的 Object,而應(yīng)聲明對(duì)象。這樣可確保 Visual Basic 能夠識(shí)別引用的特定類型對(duì)象,在運(yùn)行時(shí)解決引用問題。19Variant Variant 數(shù)據(jù)類型(數(shù)據(jù)類型(1 1)uVariant 變量能夠存儲(chǔ)所有系統(tǒng)定義類型的數(shù)據(jù)。uVisual Basic 會(huì)自動(dòng)完成任何必要的轉(zhuǎn)換。例如: Dim SomeValue 缺省為 Variant。SomeValue = 17SomeValue 包含 17(雙字符的串)。So

18、meValue = SomeValue - 15 現(xiàn)在, SomeValue 包含數(shù)值 2。SomeValue = “U” & SomeValue 現(xiàn)在, SomeValue 包含 “U2” (雙字符的串)。u不必過多關(guān)注 Variant 變量中數(shù)據(jù)的類型就可對(duì) Variant 變量進(jìn)行操作,但須避免落入陷阱。u如果對(duì) Variant 變量進(jìn)行數(shù)學(xué)運(yùn)算或函數(shù)運(yùn)算,則 Variant 必包含某個(gè)數(shù)。u如果正在連接兩個(gè)字符串,則用 & 操作符而不用 + 操作符。20v數(shù)組:u用相同名字引用一系列變量,并用數(shù)字(索引)來識(shí)別它們,以此縮短和簡化程序。u一個(gè)數(shù)組中的所有元素具有相同的數(shù)

19、據(jù)類型。當(dāng)然,當(dāng)數(shù)據(jù)類型為 Variant 時(shí),各個(gè)元素能夠包含不同種類的數(shù)據(jù)。u兩種類型的數(shù)組:固定大小的數(shù)組,它總是保持同樣的大?。灰约霸谶\(yùn)行時(shí)大小可以改變的動(dòng)態(tài)數(shù)組。示例示例3.43.4數(shù)組的使用數(shù)組的使用( (初始化初始化) )21u固定大小的數(shù)組在數(shù)組名之后跟一個(gè)用括號(hào)括起來的上界。例如,Dim Counters (14) As Integer 15 個(gè)元素。用關(guān)鍵字 To 顯式提供下界(為 Long 數(shù)據(jù)類型)。例如,Dim Counters (1 To 15) As Integeru多維數(shù)組 Static MatrixA (9, 9) As Doubleu可以用 For 循環(huán)嵌套有效的處理多維數(shù)組。示例示例 3.53.5:數(shù)組的輸出:數(shù)組的輸出22v動(dòng)態(tài)數(shù)組就可以在任何時(shí)候改變大小。有助于有效管理內(nèi)動(dòng)態(tài)數(shù)組就可以在任何時(shí)候改變大小。有助于有效管理內(nèi)存。存。v1.1.創(chuàng)建動(dòng)態(tài)數(shù)組創(chuàng)建動(dòng)態(tài)數(shù)組u1、給數(shù)組附以一個(gè)空維數(shù)表,就將數(shù)組聲明為動(dòng)態(tài)數(shù)組。Dim DynArray ()u2、用 ReDim 語句分配實(shí)際的元素個(gè)數(shù)。ReDim DynA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論