官术网_书友最值得收藏!

第2章Visual Basic的入門鑰匙—Visual Basic語言基礎

本章視頻教學錄像:1小時5分鐘

對任何新知識的學習都是開始時最難,雖然Visual Basic一向以易學易用而著稱,但是對那些從未接觸過Visual Basic的初學者來說,由于編碼需要遵循一定的規則,剛開始難免會因各種各樣的語言規則,不知從何入手。為了學好如何應用Visual Basic程序進行編碼,就必須要把基本的語言使用規則基礎打好。本章將帶領讀者從Visual Basic的語言基礎開始循序漸進地學習。介紹Visual Basic語言的基本元素和程序控制語句,主要包括標識符、數據類型、運算符、表達式、數組、程序控制結構和代碼編寫規則等。

本章要點(已掌握的在方框中打鉤)

□ 了解標識符和常用數據類型

□ 了解常量和變量

□ 掌握各種運算符

□ 熟悉表達式的用法

□ 了解代碼編寫規范

2.1 標識符和數據類型

本節視頻教學錄像:22分鐘

標識符和數據類型是Visual Basic程序的基本構成要素,本節對這兩個概念進行闡述。

2.1.1 標識符

標識符是用戶在編程時定義的名稱,包括常量、變量、過程、函數和類等,在實際操作這些變量的時候我們需要為每個變量起一個名字以示區別。這就像在日常生活中每一個人、每一個商店都會有一個名字一樣。

在Visual Basic中有兩種標識符,分別是系統關鍵字和用戶自定義標識符。

系統關鍵字是Visual Basic中擁有固定含義,不能被重新定義的標識符。其實在現實生活中也有這樣的關鍵詞,如計算機、手機、衛生間,這些詞已經被明確賦予了它的意義,我們起名字的時候就不會再使用這些詞。

Visual Basic中常見的關鍵字如表所示。

2.1.2 數據類型

數據類型是用抽象的方式來描述客觀事物的一種定義,其不同的數據類型定義了不同的數據存儲方式。計算機語言正是通過選擇不同的數據類型來準確地對客觀事物進行描述。數據類型的整體分類如圖所示。

圖中對Visual Basic 6.0中數據類型的整體情況進行了描述。在細節方面,考慮到數據的運算效率和精度要求,又將數值型分為整型、長整型、單精度型、雙精度型、字節型和貨幣型等。各類型的字節取值和所占空間范圍如表所示。

下面對表中的各種數據類型進行介紹。

1. 數值數據類型(Numeric)

數值數據類型包括整型(Integer)、長整型(Long)、單精度浮點型(Single)、雙精度浮點型(Double)和貨幣型(Currency)。要提高程序的運行性能,就要具體數據具體對待。如果變量中存放的數據是整數,就要將其聲明為整型(Integer)或者長整型(Long);如果變量中存放的數據是帶小數點的數字,就應該將變量聲明為單精度浮點型(Single)、雙精度浮點型(Double)或者貨幣型(Currency)。

例如:

      Dim s As lnteger
      s=3.65
      print s

運行程序后,會在窗體中直接輸出一個數值4。這里需要注意的是,將整型或貨幣型的數值賦給整型變量后,VB會自動對數值的小數部分進行四舍五入。

2. 字節數據類型(Byte)

如果變量中存放的是二進制數,則要將變量聲明為字節數據類型(Byte)。特別是對變量中存儲的二進制數據需要進行類型轉換。如果不用字節數據類型存儲這些二進制數,可能會導致二進制數據的丟失或損毀。

提示

在計算機中通常把用來存儲一個英文字母的8個二進制位叫作一個字節。一個英文字母(不分大小寫)占一個字節的空間,一個中文漢字占兩個字節的空間。符號中英文標點占一個字節,中文標點占兩個字節。

3. 字符串數據類型(String)

字符串是指除了雙引號和回車符號之外的所有可以輸出的字符。字符串包括在雙引號中,如果變量中保存的數據都是字符串(例如人名),就應該把變量聲明為字符串類型。在Visual Basic中,String變量或參數默認是一個可變長度的字符串,隨著對字符串賦予新數據,它的長度可增可減。當然,也可以聲明字符串具有固定長度,例如:

      Dim Name As String * 20

這條語句聲明變量Name是一個長度為20個字符的定長字符串常量。如果你聲明了一個定長字符串變量的長度后實際存儲的字符長度小于聲明長度,Visual Basic會自動將剩余的部分填充空格;如果賦予字符串的長度超過了聲明長度,Visual Basic會自動將超出長度部分的字符截去。

4. 布爾數據類型(Boolean)

布爾數據類型又叫作邏輯型數據。如果變量的值只有兩個對立的狀態,如“True”或“False”、“Yes”或“No”,就應該將變量聲明為布爾數據類型。在Visual Basic中布爾數據類型的默認值為False。

提示

布爾是英國的數學家和邏輯學家,1815年11月2日生于林肯,1864年12月8日卒于愛爾蘭的科克。為了紀念他在邏輯學方面的卓越貢獻,人們將表示邏輯變量的值以他的名字命名。

5. 日期型數據類型(Date)

如果變量中要保存的數據是用來表示日期和時間的,就應該將變量聲明為日期數據類型。日期數據類型在代碼中進行賦值的時候,必須用兩個英文“#”號括起來。例如:

      Dim s As Date
      s = #11/23/2009#
      Print s

最終的結果將會在窗體上顯示“2009-11-23”字樣。

提示

當其他數值類型的數據轉換為日期數據類型的時候,小數點左邊的值表示日期,小數點右邊的值表示時間。如果是負數,則表示公元1899年12月31日前的日期。

6. 對象數據類型(Object)

對象數據類型(Object)的變量作為32位(4個字節)地址來存儲,通過這個地址可以引用當前應用程序或者其他應用程序中的對象。

7. 變體型數據類型(Variant)

變體型數據類型(Variant)變量能夠存儲所有系統定義類型的數據。如果將其賦予Variant變量,則不必在這些數據的類型間進行轉換,Visual Basic會自動完成任何必要的轉換。

提示

在Visual Basic 6.0中可以將所有的變量都設置為變體類型,同時這似乎看起來也很方便,不用再去麻煩地定義其他的數據類型。然而,在程序運行的時候,因為程序變量的空間分配、數據類型的轉換等都會占用大量的系統空間,因此不建議讀者在編寫代碼的時候使用變體型數據類型,而應根據實際需求,合理地使用變量類型。

8. 自定義數據類型

上面介紹的都是Visual Basic中的基本數據類型,但是在實際編程中這些基本數據類型并不能滿足所有的需求。例如,我們設計了一個員工薪水計算的程序,在這個程序中,需要用一種數據類型來描述員工的個人信息,而員工的個人信息是由姓名、性別和職位等很多項組成的。沒有一種基本數據類型可以直接描述這個數據類型。這個時候可以通過將基本數據類型予以組合來創建一個符合我們自身需求的新的數據類型,這種數據類型就是自定義數據類型。自定義數據類型通過Type語句來實現。

語法格式如下所示。

        Type自定義類型名
            元素名1 As類型名
            元素名2 As類型名
            …
            元素名n As類型名
          End Type

【范例2-1】 根據自身需求,自定義一個employee變體類型,包含員工的姓名、性別、年齡和職位等字段。

⑴ 啟動Visual Basic 6.0,在彈出的【新建工程】對話框中選擇【標準EXE】圖標,然后單擊【打開】按鈕。

⑵ 在【Form1】窗體上單擊右鍵,在彈出的快捷菜單中選擇【查看代碼】菜單項,進入代碼窗口。

技巧

用鼠標雙擊窗體或者選擇【運行】菜單的【啟動】命令,也可以進入代碼窗口。

⑶ 在代碼窗口的頂端輸入以下代碼(代碼2-1-1.txt)。

      01 Private Type employee   '自定義員工的數據類型
      02  name As String '員工姓名
      03  sex As String   '員工性別
      04  age As lnteger  '員工年齡
      05  position As String      '員工職位
      06 End Type       '結束定義
      07  Dim employee1 As employee     '聲明一個自定義類型的變量

⑷ 在代碼窗口中選擇【Form】窗體的【Click】事件。

⑸ 輸入以下代碼(代碼2-1-2.txt)。

      01 Private Sub Form_Click()
      02  employee1.name="王小強"    '為employee1對象的name成員賦值
      03  employee1.sex="男"   '為employee1對象的sex成員賦值
      04  employee1.age="25"   '為employee1對象的age成員賦值
      05  employee1.position="社長"    '為employee1對象的position成員賦值
      06  Print"員工信息"'輸出標題
      07  Print   '輸出空行
      08  Print   '輸出空行
      09   Print"姓名:"&employee1.name '輸出姓名
      10  Print"性別:"&employee1.sex   '輸出性別
      11  Print"年齡:"&employee1.age   '輸出年齡
      12  Print"職位:"&employee1.position       '輸出職位
      13 End Sub

【運行結果】

保存程序,單擊【啟動】按鈕,運行程序。用鼠標單擊窗體,結果如圖所示。

2.2 常量和變量

本節視頻教學錄像:17分鐘

在Visual Basic中對數據的操作離不開常量和變量。那什么是變量,什么是常量,常量和變量各有什么特點,在操作常量和變量的時候需要注意些什么?本節將介紹相關內容。

2.2.1 常量

常量是指在程序運行過程中其值不變的數字、字符或字符串。用戶在編程時使用的常數就是一種常量。有的讀者可能會有這樣的疑問,如果在編程的時候需要使用某個具體數字,比如10,那么直接寫上10不就好了,為什么還要先定義一個常量,再把10賦給這個常量,然后使用這個常量,這不是多此一舉嗎?

不,常量的用途自有它的微妙之處。

⑴ 如果直接使用數值來編寫表達式,計算結果當然不會有任何問題。但是如果使用的這個數值變了,比如以前是10,現在變成20了,那么就要在這個程序中將所有使用到這個數值的地方都修改掉。如果我們事先定義一個常量,然后在所有使用這個數值的地方都使用這個常量,那么只需要把這個常量的值從10改成20就可以了。

⑵ 使用常量能夠增強程序的可讀性。如果不用一些有實際意義的名字來代替那些數字,很難說清楚在程序中某個地方的數字10和另外一個地方的數字10有什么區別,究竟各是什么意義。二者的不同之處如下面兩個圖所示。

不定義常量的修改方法

定義常量的修改方法

Visual Basic中的常量有兩種形式:直接常量和符號常量。

1. 直接常量

直接常量實際上就是所賦的值為基本類型的常量,主要有字符串常量、數值常量、布爾常量,以及日期常量等。

⑴ 字符串常量

字符串常量是用雙引號括起來的,除了雙引號、回車和換行符之外的所有字符定義的常量。如果雙引號內沒有任何字符,并不表示這個常量不存在,只是表明這是一個內容為空的字符串,我們把它叫作空字符串。

⑵ 數值常量

數值常量就是值為數值的常量。常見的5種數值常量有整數常量、長整型常量、定點數常量、浮點數常量和字節數常量。

⑶ 布爾常量

布爾常量就是取值為布爾值的常量,即只有True和False兩個取值的常量。

⑷ 日期常量

日期常量是所取值為表示日期時間的值的常量。

2. 符號常量

符號常量分為系統內部定義常量和用戶自定義常量兩種。

⑴ 系統內部定義常量

在Visual Basic中內置了一些經常使用的常量,通常這些常量以字母“vb”作為前綴,如vbCalendar、vbCallType等。

① 打開Visual Basic開發環境,按【F2】快捷鍵或者選擇【視圖】菜單中的【對象瀏覽器】菜單項,打開【對象瀏覽器】窗口。

② 在庫選擇下拉列表中選擇【VB】或者【VBA】選項,就可以看到很多的系統內部定義常量。

⑵ 用戶自定義常量

如果用戶覺得系統內部定義常量不能滿足自己的需求,可以通過一定的規則創建屬于自己的符號常量。在Visual Basic中,可使用Const語句創建一個符號變量。

語法:

        [Private|Public] Const <常量名> [As類型] = <表達式>

語句前面的Private或Public是定義的這個常量的作用域,其中Private表示定義的常量只能在該常量所在模塊內使用,而Public則表示定義的常量可以被該常量所在模塊之外的其他模塊使用。

常量名:指定常量名稱

Const:常量定義關鍵字。

As:指定常量的類型。

表達式:指定常量定義的數值常數、字符串常數或者由運算符組成的表達式。如果是數值常數,不僅可以使用十進制,還可以使用十六進制(數值前加“&H”)和八進制(數值前加“&O”)。

例如:

      Const s As String="木木"     '定義字符型常量
      Const s As lnteger=100      '定義整型常量

【語法詳解】

常量不同于變量,一旦定義了一個常量,這個常量就會一直占據一定的內存空間。從程序執行效率的角度考慮,不要在程序中定義不需要使用的常量。

2.2.2 變量

在Visual Basic中,變量是指在程序運行的過程中,具有特定類型的可以改變的數字、字符或字符串。

在我們編寫程序時,有時某個值是不確定的或者是需要在程序運行中由用戶指定的,這時我們可以通過定義一個變量來寫出運算表達式,而不必知道這個值是多少。

例如要編寫一個根據員工工作年數來計算獎金的程序,計算公式是:獎金=1000×工作年數。因為每個人的工作年數是不同的,所以每個人的獎金也是不一樣的,這時就可以把工作年數定義為一個變量,不同的工作年數會計算出不同的獎金數。

1. 變量的類型

根據變量的作用范圍,可以分為全局變量、模塊/窗體變量和局部變量等3類。

⑴ 全局變量

在整個程序中都可以使用的變量。定義一個全局變量的語法為:

      Public變量名 [As類型]

⑵ 模塊/窗體變量

作用范圍比全局變量要小一些。模塊/窗體變量可以在變量所在的模塊或窗口中使用。在程序的“通用聲明”部分使用Dim或者Private語句就可以定義一個模塊/窗體變量。定義一個模塊/窗體變量的語法為:

      Private變量名 [As類型]

⑶ 局部變量

局部變量的作用范圍最小,只能在變量所在的過程中使用。在程序的某個過程中使用Dim或者Static語句就可以定義一個局部變量。局部變量雖然作用范圍比較小,但是在自己的作用范圍內絕對是“地頭蛇”。如果在某個局部變量外部有一個和它同名的變量,在該局部變量的作用范圍內起作用的將是這個局部變量。

2. 如何聲明一個變量

使用Dim或Static語句進行顯式聲明。

⑴ 使用Dim語句聲明

語法:

      Dim變量名 [As類型]

使用Dim語句聲明的變量作用范圍取決于Dim語句所在的位置。如果Dim語句是在某個過程內,那么聲明的變量就是該過程中的局部變量;如果Dim語句是在某個窗體或模塊的“通用聲明”部分,那么聲明的變量就是一個模塊/窗體變量。

⑵ 使用Static語句聲明

語法:

      Static變量名 [As類型]

使用Static定義的變量叫作靜態變量。一個變量除了有它的作用范圍之外,還有一個屬性就是它的生命周期或者叫作存活時間。一旦一個變量的生命周期結束,那么這個變量就不存在了,它所占據的內存空間也會被釋放。一個局部變量如果不是靜態的,那么它所在過程的代碼執行完畢這個變量的生命周期就結束了,再次執行這段代碼的時候,這個變量就會重新開始一個新的生命周期。靜態變量所在過程的代碼執行完畢生命周期并不會結束。靜態變量和非靜態變量的區別就好比買房和租房,如果房子是自己買的,那么即使外出度假時房子空閑也不會有人占有這個房子;而租房,租期滿了如果不續租,房子就會被房東收回,如果續租就會重新開始一個新的租期。下面通過一段代碼來看看靜態變量和非靜態變量的區別。

      Private Sub Command1_Click()
      Static m As lnteger   '定義一個靜態變量
      Dim n As lnteger    '定義一個內部變量
      m=m+1  '讓靜態變量值加1
      n=n+1   '讓內部變量值加1
      End Sub

此段代碼在第1次執行的時候,因為變量m和n都沒有被賦值,所以m和n都是它們的默認初始值0。運行結束后m和n的值都是1。

當此段代碼第2次被執行的時候,因為m是靜態變量,所以m的生命周期并沒有結束,它的值還是第1次執行后的1。因為n不是靜態變量,所以第1次執行結束它的生命周期就結束了,當第2次執行的時候,它會重新開始一個新的生命周期,n會被再次賦予默認初始值0。所以第2次執行后,m為2,n為1。

隱式聲明就是不經聲明直接使用,此時Visual Basic將會根據所賦予的值自動設置它的類型。例如:

      x=1       'x為整型
      Name = "cat" 'Name為字符串型

隱式聲明看起來似乎更加方便,但隱式聲明出現的問題往往是最棘手的,因為它產生的問題很難被發現,而且編譯器也不會報錯。隱式聲明最大的問題恰恰源自它的優點:不用經過聲明可以在代碼中直接使用。我們來看下面的代碼。

      Private Sub Command1_Click()
      cat=6     '為沒有聲明的變量cat賦值
      n=car     '為沒有聲明的變量n賦值car
      End Sub

首先,我們不經聲明直接使用了變量cat并將它賦值為6,然后想把cat的值也就是6賦給變量n,可是一不小心把cat寫成了car,程序就會認為我們不經聲明又直接使用了一個變量car,于是程序就又新建了一個變量car,并用默認值給這個新建的變量賦值。

這時候變量n的值已經不是6了,如果再使用變量n進行各種計算,就會出現很多出乎意料的結果,而程序依然能夠運行,并且不會報錯。

注意

在編程時應盡量少用隱式聲明,以免產生程序在結果有誤時仍可以運行的情況。

使用類型說明符直接聲明一個變量的語法為:

        <變量名>類型符

在使用一個變量之前并不必先聲明這個變量,Visual Basic會用變量的名字自動創建一個變量。

使用隱式聲明的變量很危險,我們可以使用強制顯式聲明來解決這個問題。一旦開啟了強制顯式聲明功能,如果沒有聲明一個變量就使用,編譯器就會報錯。可以通過以下兩種方式開啟強制顯式聲明。

⑴ 通過【選項】對話框設置強制顯式聲明

選擇【工具】菜單下的【選項】菜單項,彈出【選項】對話框,選擇【編輯器】選項卡,選中【要求變量聲明】復選框,即可打開強制顯式聲明功能。

⑵ 代碼聲明

在代碼窗口中的聲明部分手動輸入強制顯式聲明變量語句(Option Explicit)。

2.3 運算符

本節視頻教學錄像:12分鐘

運算符就是在Visual Basic中執行某種運算功能的符號。在Visual Basic中包括算術運算符、賦值運算符、關系運算符、邏輯運算符、連接運算符和特殊運算符等。

2.3.1 算術運算符

Visual Basic提供有非常豐富的算術運算符,使用這些運算符能夠實現一些非常復雜的數學運算。下表按照運算優先級高低順序列出了Visual Basic中的算術運算符及其功能。

2.3.2 賦值運算符

Visual Basic中的賦值運算符是“=”,在這里這個等號并不是平時數學運算中的等號,它表示將等號右邊的值賦給等號左邊的變量。

賦值運算表達式是:

      <變量名> = <要賦的值>

變量名:可以是變量、數組或者對象的某個屬性。

要賦的值:可以是常數、變量、表達式、函數或者對象的屬性等,但是它必須有確定的值。

例如:

      String ="我愛VB"

表示將字符串“我愛VB”賦給變量String。這里需要注意的是,在賦值的時候,等號兩邊的數據類型要匹配。

2.3.3 關系運算符

關系運算符又叫作比較運算符。關系運算是通過比較兩個表達式之間的關系,最終返回一個布爾值類型的運算結果。關系運算符之間的優先級是相同的。下表列出了Visual Basic中的關系運算符。

提示

如果參與比較的兩個變量或表達式都是數值的話,就直接比較它們的大小;如果參與比較的兩個變量或表達式都是字符的話,則將字符轉換為ASCII碼并比較這兩個ASCII碼值。

2.3.4 邏輯運算符

在Visual Basic中提供有進行邏輯運算的運算符。邏輯運算符的優先級比算術運算符和關系運算符要低。下表列出了Visual Basic中的邏輯運算符。

例如:邏輯值的運算如下表所示。

2.3.5 連接運算符

字符串連接運算符的作用是把兩個字符串合并連接為一個字符串。Visual Basic有兩個字符串連接運算符,分別是“&”和“+”,它們的優先級是相同的。使用“&”運算符時,如果兩個字符都是字符串,則直接將兩個字符串連接成一個新的字符串;如果兩個字符中有一個是數值,Visual Basic自動將這個數值轉換成為字符串,然后再連接成一個新字符串。

“+”運算符在參與計算的兩個表達式都是字符串的時候和“&”運算符的功能是一樣的,如果參與計算的另一個表達式中有一個是數值或者兩個都是數值,將進行加法操作。因此,如果要做兩個字符串的連接操作,最好使用“&”運算符,這樣就不會為到底進行的是加法操作還是字符串連接操作而費腦筋了。

2.3.6 特殊運算符

除了以上運算符外,在Visual Basic中還有兩個特殊運算符:Is和Like。

⑴ Is運算符

比較兩個對象的引用變量。

語法:

      結果=對象引用變量1 ls對象引用變量2

如果對象引用變量1和對象引用變量2引用的是同一個對象,運算結果為True,否則運算結果為False,如圖所示。

⑵ Like運算符

比較給定字符串是否和指定的模式相匹配。

語法:

      結果=字符串Like模式

如果字符串匹配給定的模式,結果返回True,否則返回False,如圖所示。

下面列出了模式中的各種匹配條件。

⑴ ? 表示任意一個字符。

⑵ * 表示任意多個字符。

⑶ # 表示任意一個數字(0~9)。

⑷ [chars] 表示chars中出現的任意一個字符。

⑸ [!chars] 表示要匹配的字符串中不能出現chars中的任意一個字符。

例如:

      result ="a" Like "[a-z]"

運算結果為True,因為字符“a”是從a到z之間的一個字符。

2.3.7 運算符的優先級

運算符的優先級是指在計算表達式時運算符執行的先后順序。具有較高優先級的運算符先于較低優先級的運算符執行。然而在實際開發中,我們要盡量避免使用運算符的優先級來指定運算的順序,更好的方法是把要優先計算的部分用圓括號括起來。例如表達式a + b * c,按照優先級順序是要先計算b *c的值,然后再和a相加。如果要執行a + b的計算,只需將表達式改為(a + b) * c就可以了。使用圓括號來指定優先級有以下兩個優點。

⑴ 不再需要記憶復雜的優先級順序,也不用擔心由于優先級順序記憶錯誤導致的計算錯誤。

⑵ 表達式更容易被人閱讀。在實際開發過程中,一個軟件往往需要多人共同完成,即使你能很準確地記憶和使用運算符的優先級,并不能保證別人也能很準確地記憶和使用運算符的優先級,所以使用圓括號指定程序運算表達式的優先級無疑是一種更加聰明和高效的方式。

例如:

      S=(30-5<(8+6)And 9*8=72)

一個表達式中如果包含了多種運算符,那么該運算符應該按以下次序進行:算術表達式>字符串表達式>關系表達式>邏輯表達式。因此,上例中的運算結果為Flase。

2.4 表達式

本節視頻教學錄像:3分鐘

表達式是由常量、變量和函數等用運算符及圓括號連接而成的式子。表達式是構成程序代碼的最基本要素之一。根據表達式的運算結果,可將其分為算術表達式、字符串表達式和日期表達式等3種。

2.4.1 算術表達式

用算術運算符和括號將常量、變量或函數等運算對象連接起來的式子稱為算術表達式。Visual Basic中常用的算數運算符有+(加)、-(減)、*(乘)、/(除)、\(整除)、mod(模運算,求余數)和^(冪)等。

2.4.2 字符串表達式

字符串表達式是用字符串運算符將字符串連接起來的表達式。在Visual Basic中有兩個字符串運算符:“&”和“+”。使用“&”運算符時,如果兩個字符都是字符串,則直接將兩個字符串連接成一個新的字符串;如果兩個字符中有一個是數值,Visual Basic會自動將這個數值轉換為字符串,然后再連接成一個新字符串。“+”運算符在參與計算的兩個表達式都是字符串的時候,和“&”運算符的功能是一樣的;但如果參與計算的另一個表達式中有一個是數值或者兩個都是數值,則進行加法操作。

2.4.3 日期表達式

當我們需要計算或者使用時間和日期相關的數據時(例如,編寫一個程序需要每天在固定的時間備份數據),就要用到日期表達式。日期表達式主要是對Date(日期型)數據類型進行計算。

2.5 代碼編寫規范

本節視頻教學錄像:9分鐘

代碼編寫規范在應用程序的開發過程中有著極為重要的作用,有利于程序員對程序進行讀寫,以及方便后期維護,同時也是養成良好編程習慣的基礎。

2.5.1 Visual Basic 6.0標識符的定義規則

在Visual Basic中有兩種標識符,分別是系統關鍵字和用戶自定義標識符。系統關鍵字是Visual Basic中擁有固定含義、不能被重新定義的標識符。用戶自定義標識符是用戶自己為變量通過一定的規則所定義的名稱。這就像我們中國人在起名字的時候要把姓放在前面,名字放在后面一樣,是一個命名規則。在Visual Basic中用戶自定義標識符的命名規則如下。

⑴ 用戶自定義標識符不能和系統關鍵字相同。

⑵ 在同一個作用域內不允許出現相同名稱的用戶自定義標識符。

⑶ 用戶自定義標識符不區分字母大小寫。

⑷ 用戶自定義標識符必須以字母開頭,后跟數字、英文大小寫字母、下劃線或美元符號“$”。

⑸ 長度不能超過255個字符,而控件、窗體、類和模塊等的名字不能超過40個字符。

2.5.2 Visual Basic 6.0中變量及控件的命名規則

變量必須要命名后才能賦值。在過程內部聲明的變量,在該過程執行時才存在。當運行過程結束時,該變量的值自動清除。變量命名必須符合以下規定。

⑴ 變量名必須以字母開頭,不能以數字或下劃線開始。

⑵ 變量不能包含嵌入的句號、空格或者其他停頓符號。

⑶ 變量長度不得超過255個字符。

⑷ 變量名不能是Visual Basic的保留字,如Name、For等。

⑸ 在編碼過程中,定義變量時選擇的變量名一定要遵循上述規則,否則系統會給出錯誤提示并以紅色字體顯示錯誤行。

在Visual Basic中,控件以圖標的形式放在“工具箱”中,每種控件都有與之對應的圖標。啟動Visual Basic,工具箱位于窗體的左側。

1. 標準控件(內部控件)Visual Basic 6.0的控件分為以下3類

⑴ 標準控件(也稱內部控件)。

⑵ ActiveX控件。

⑶ 可插入對象。

2. 控件的命名和控件值

⑴ 在一般情況下,窗體和控件的命名都有默認值,如Form1、Command1、Text1等。在應用程序中使用約定的前綴,可以提高程序的可讀性。

⑵ 為了方便使用,Visual Basic為每個控件規定了一個默認屬性,在設置這樣的屬性時,不必給出屬性名,通常把該屬性稱為控件的值。

2.5.3 程序書寫規則

按照程序書寫規則寫出的代碼,不僅清晰明了,更為重要的是具有很好的可讀性。因此,在編寫代碼的時候要遵循一定的書寫規則,如下所述。

⑴ 每條語句寫一行,一行最多允許有255個字符。

⑵ 如果需要在同一行中書寫多條語句,應用英文狀態下的冒號“:”隔開。

⑶ 需要對較長的語句進行換行,可在該語句行的末尾加入一個空格和一個下劃線。

例如:

      lf a > 0 and b < 0 And c <> 0 And _
      d = 0 Then

如果進行換行時沒有輸入空格,系統會提示語法錯誤。例如在上面的語句中,如果沒有輸入空格,就會彈出一個警告對話框,提示編譯錯誤。

⑷ 為代碼添加注釋,以方便后期檢查或別人閱讀。

⑸ 在Visual Basic中不區分字母大小寫,所以cat、CAT和Cat都是一樣的,因此在定義變量的時候需要注意。

2.5.4 添加注釋

優秀的程序員都具有在關鍵步驟下添加注釋的好習慣。添加注釋只是為了方便用戶看懂代碼而寫的,目的是提高代碼的可讀性,其本身對程序并沒影響。添加注釋需要在Visual Basic一條語句的最后添加注釋符(')或關鍵字Rem。注釋符在程序運行時會通知Visual Basic自動忽略注釋符之后的語句。這樣便于日后檢查修改程序。

2.5.5 格式化縮排程序語句

為了進一步增加程序的可讀性,建議程序員盡量養成程序縮排的好習慣。在書寫程序時,可以采用Tab鍵手工對程序進行縮排,也可以通過編輯工具欄中的“凸出”和“縮進”命令進行編排。例如:

沒有采用縮排的代碼。

      01 Private Sub Command1_Click()
      02 Dim i,j As lnteger'定義兩個整型變量
      03 For i=1 To 9    '用For循環打印9行內容
      04 j=1    '為變量j賦初值
      05 Do While j<=l  '用Do循環,打印每一列中的內容
      06 Print i;"*";j;"=";i*j,      '輸出每一列的內容
      07 j=j+1 '增加行數
      08 Loop   '滿足條件,繼續內部循環
      09 Print    '打印空行,起換行作用
      10 Next i   '滿足條件,繼續外部循環
      11 End Sub

采用縮排的代碼。

      01 Private Sub Command1_Click()
      02  Dim i,j As lnteger      '定義兩個整型變量
      03   For i=1 To 9  '用For循環打印9行內容
      04    j=1 '為變量j賦初值
      05     Do While j<=l      '用Do循環,打印每一列中的內
      06      Print i;"*";j;"=";i*j, '輸出每一列的內容
      07      j=j+1   '增加行數
      08     Loop      '滿足條件,繼續內部循環
      09    Print '打印空行,起換行作用
      10   Next i '滿足條件,繼續外部循環
      11 End Sub

對沒有采用縮排格式的代碼來說,讀起來有點找不到“北”的感覺,在沒有添加注釋的情況下,只有一句一句進行分析才明白代碼的最終目的是什么。而對采用縮排格式的代碼來說,很清晰地就能分析出來,代碼中主要分為內部循環和外部循環,其中內循環的作用和外循環的作用也一眼即可明了。

2.6 高手點撥

本節視頻教學錄像:2分鐘

對于從未接觸過Visual Basic的初學者來說,要想快速學好Visual Basic,就要從Visual Basic的語言基礎開始循序漸進地學習。在Visual Basic的語言基礎學習過程中要以下注意內容。

⑴ 標識符的定義規則。

⑵ 各種數據類型特點和作用。

⑶ 變量和常量的應用。

⑷ 運算符的作用和優先級。

作為初學者,只有對上述幾點做到了然于胸,才能讀懂和編寫基本的程序。

2.7 實戰練習

一、思考題

1. 用戶自定義標識符的命名規則是什么?

2. 使用圓括號來指定優先級時有哪些優點?

二、上機題

交換兩個變量的值,寫出相應的語句。

主站蜘蛛池模板: 敖汉旗| 西乌珠穆沁旗| 罗甸县| 洛南县| 光山县| 江孜县| 大同县| 承德县| 南通市| 吴桥县| 铜川市| 韶关市| 海宁市| 赣州市| 嵊州市| 沧州市| 青神县| 简阳市| 柘荣县| 清徐县| 五华县| 休宁县| 沙田区| 平陆县| 颍上县| 留坝县| 绍兴市| 理塘县| 青浦区| 喜德县| 阿克苏市| 桃源县| 灌南县| 淮滨县| 望都县| 泰顺县| 乐平市| 黄山市| 寿光市| 黄浦区| 大渡口区|