999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

在VB中可變類型變量的使用

2008-12-31 00:00:00王金峰
電腦知識與技術 2008年26期

摘要:在VB中變量的數據類型有很多種類,如字符型串型、數值型、日期型、布爾型等。還有一種特殊類型:可變類型(Variant)。定義了一個可變類型變量后,該變量可以存放任何類型的數據(數值、字符、日期等),這樣在給變量賦值時就不用對數據進行轉換了,VB系統會根據賦給變量的值的不同自動進行數據類型的轉換。

關鍵詞:變量;數據類型;可變類型;程序設計

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)26-1720-02

Variant Variables Use In Visual Basic

WANG Jin-feng

(Wuhan Engineering Institute, Wuhan 430415, China)

Abstact: Variables data type in Visual Basic is of many types such as string,numeric,date,boolen etc. And among them is Variant, a special type. A variables which is defined by the variant can be stored with any type of data (numeric,string, date and so on).Therefore,it is not necessary for usto make any conversion between data types, because Visual Basic can do so automatically according to the value of defined variables.

Key words: variables; data type; variant; programming

1 VB中的變量

在Visual Basic中可以用名字表示內存單元,這樣就能訪問內存中的數據。一個有名稱的內存單元稱為變量。程序在運行過程中可以用變量臨時存儲數據,變量的值可以發生變化。每個變量都有名字和數據類型,通過名字引用一個變量,而通過數據類型來確定該變量的存儲方式。

在使用變量之前,一般須聲明變量名和類型。在Visual Basic中,可以顯式或隱式地聲明變量及其類型。

1.1 顯式聲明:在變量使用之前對變量進行聲明。

格式:Dim|Private|Static|Public <變量名>[As<類型>]

例如下列語句分別聲明了Integer、Double、String、Currency類型的變量:

Dim x As Integer

Private y As Double

Static m As String

Public n As Currency

1.2 隱式聲明:在Visual

Basic中,變量可以不經聲明而直接使用,即為隱式聲明。

在隱式聲明中,如果把變量名拼錯了的話,會導致一個難以查找的錯誤。

為了避免寫錯變量名引起的麻煩,用戶可以規定,只要遇到一個未經明確聲明就當成變量的名字,Visual Basic 都發出錯誤警告。這就是強制顯式聲明變量。

要強制顯式聲明變量,只須在類模塊、窗體模塊或標準模塊的聲明段中加入這條語句:

Option Explicit

在添加Option Explicit語句后,Visual Basic 將自動檢查程序中是否有未定義的變量,發現后將顯示錯誤信息。

2 可變類型變量(Variant)

在顯式聲明中,使用類型關鍵字Variant定義類型(聲明格式中變量明后帶As Variant;或僅定義變量而不作類型聲明(即在聲明語句中不帶AS<類型>),或者未經聲明而直接使用的變量(隱式聲明),這種變量稱為可變類型變量(Variant)。這樣,變量的類型,即對數據的存儲形式,將隨著存放的數據類型VB自動完成各種數據類型必要的轉換。在Variant變量中可以存放任何類型的數據,包括數值、字串、日期和時間。

例如,

Dim sa As Variant或

Dim sa都可以把sa定義為可變類型變量。

例如:

sa = “100” ' 存入字符串 “100”

sa = sa – 10' sa的值變為數值90

sa = “JD” + Str(sa)' sa的值變為字符串“JD90”

sa =sa + 100 ’出錯,類型不匹配

可以看出,隨著所賦的值不同,變量的類型在不斷變化,這就是“可變數據類型”的含義。

Variant是一種特殊的數據類型,除了定長String數據及用戶定義類型外,可以包含任何種類的數據。

當Variant類型的變量包含數值數據時,可以是任何整型或實型數,負數時范圍從-1.798E308到-4.941E-324,正數時則從4.941E-324到1.798E308。通常,Variant變量會保持原來的數據類型。例如,如果把一個Integer類型的值賦值給Variant類型的變量,則接下來的運算會把此Variant當成Integer來處理。但是,如果算術運算針對包含Byte、Integer、Long或Single的Variant變量執行,而且結果 超過原來 數據類型 正常范圍時,則在Variant變量中的結果會提升到數值范圍較大的數據類型。如Byte則提升到Integer,Integer提升到Long,而Long 和Single則提升為Double。當Variant變量中的Currency、Decimal及Double類型的值超過它們各自的范圍時,就會發生錯誤。

在程序代碼中,可以用Variant數據類型來替換任何數據類型,這樣會更有適應性。如果Variant變量的內容是數字,它可以用字符串來表示數字或者用它實際的值來表示,這將由上下文來決定。

例如:

Dim MyVal As Variant

MyVal = 2856

在此例中,MyVal內有一實際值為2856的數值型數據。可以進行算術運算,如果用+運算符來將MyVal與其他含有數字的Variant或數值類型的變量相加,結果便是算術和。

可利用VarType ()函數TypeName ()函數來測試Variant變量的數據類型。

3 Variant變量的特定值

除了可以像其它標準數據類型一樣操作外,Variants 還包含三種特定值:Empty,Null 和 Error。

3.1 Empty值

有時需要知道是否已將一個值賦予所創建的變量。在賦值之前,Variant變量具有值Empty。值Empty是異于0、零長度字符串(\"\")或Null值的特定值。可用IsEmpty函數測試Empty值:

If IsEmpty (Z) Then Z = 0

當Variant變量包含Empty值時,可在表達式中使用它;將其作為 0 或零長度字符串來處理,這要根據表達式來定。

只要將任何值(包括0、零長度字符串或 Null)賦予 Variant 變量,Empty 值就會消失。而將關鍵字Empty賦予 Variant 變量,就可將 Variant 變量恢復為 Empty。

3.2 Null 值

Variant 數據類型還可包含一特定值:Null。Null通常用于數據庫應用程序,表示未知數據或丟失的數據。 由于在數據庫中使用 Null 方法,Null 具有某些唯一的特性:

1)對包含 Null 的表達式,計算結果總是Null。于是說Null 通過表達式“傳播”;如果表達式的部分之值為Null,那么整個表達式的值也為 Null。

2)將 Null 值、含 Null 的 Variant 變量或計算結果為 Null 的表達式作為參數傳遞給大多數函數,將會使函數返回Null。Null值經由返回 Variant 數據類型的內在函數傳播。也可用Null關鍵字指定Null值。例如:Z = Null

也可用IsNull函數測試Variant變量是否包含 Null 值。

If IsNull (X) And IsNull (Y) Then

Z = Null

Else

Z = 0

End If

如果將Null值賦予Variant以外的任何其它類型變量,則將出現可以捕獲的錯誤。而將Null值賦予 Variant則不會發生錯誤,Null將通過包含Variant變量的表達式傳播(盡管 Null 并不通過某些函數來傳播)。可以從任何具有Variant返回值的函數過程返回Null。

除非明確將Null賦予變量,否則變量不會設置成Null值,所以,如果不在應用程序中使用Null,就不必書寫測試Null和處理Null的程序。

不應將Empty與Null弄混。Null 是表示Variant變量確實含有一個無效數據。

3.3 Error值

在Variant數據類型中,Error是用來指示在過程中出現錯誤時的特殊值。然而,不像對其他種類的錯誤那樣,程序并不產生普通的應用程序級的錯誤處理。這可以讓程序員,或應用程序本身,根據此錯誤值采另外的行動。可以用CVE函數將實數轉換為錯誤值來產生Error值。

4 使用Variant變量時應注意的的問題

Variant變量的使用十分靈活,因為對它賦值不需要考慮類型轉換的問題。但是,這種靈活性也帶來一定隱患。使用時應注意以下幾點:

1)如果對Variant變量進行算術運算,必須確保變量中存放的是某種形式的數值,包括整數、浮點數、定點數或可以解釋為數值的字符串。如果Variant變量中的內容是“JD90”,則不能對其進行算術運算,因為“JD90”不是有效的數值型形式。同理,可以對字符串“+10”或“–2E3”進行算術運算,但不能對“123EX”進行算術運算。

2)在對存放字符串的Variant變量進行操作時可能產生歧義。運算符“+”既可以作數值相加,又可以用于字符串連接。當兩個Variant變量之間使用“+”運算時,其結果可能出乎意料,具體結果取決于兩個變量中的內容。如果兩個變量都是數值,則執行算術加運算;如果兩個變量中存放的都是字符串,則執行字符串連接操作;如果一個變量中是數值而另一個變量中是字符串,則情況就復雜了,Visual Basic先試著將字符串轉換為數值,如果轉換成功則進行算術加運算,不成功則把另一個數值轉換成字符串,然后對兩個字符串進行連接操作,形成一個新的字符串。為了避免這種情況,執行字符串連接時,盡量使用運算符“”。(下轉第1723頁)

(上接第1721頁)

3)在應用程序的設計過程中,雖然使用Variant 類型在操作不同類型的數據時,不必進行數據轉換,這樣一方面可以方便編程,因為使用Variant 變量可以不考慮變量的類型而直接進行操作;另一方面,使用Variant類型的變量,由于類型不明確,如果使用不當會造成一些不易查找的錯誤,而且使用Variant類型的變量要付出消耗大量內存空間為代價的。

參考文獻:

[1] 王金峰. Visual Basic 程序設計與實訓教程[M].北京:科學出版社.2006

[2] 李天真.Visual Basic 程序設計[M].北京:科學出版社.2003

[3] 李村合.VB數據類型Variant的性能分析[J].物探化探計算技術,2001,23(2):171.

主站蜘蛛池模板: 国产午夜一级毛片| 永久在线播放| 手机在线免费毛片| 亚洲毛片网站| 中文字幕亚洲电影| 秘书高跟黑色丝袜国产91在线| 99热这里只有精品5| 国产草草影院18成年视频| 国产亚洲男人的天堂在线观看| 亚洲精品卡2卡3卡4卡5卡区| 黄色在线不卡| 456亚洲人成高清在线| 丁香婷婷激情网| av一区二区三区高清久久| 亚洲国产天堂久久综合226114| 美美女高清毛片视频免费观看| 日韩中文字幕亚洲无线码| 99国产精品免费观看视频| 亚洲美女一区| a毛片免费观看| 日韩欧美国产另类| 亚洲欧美另类视频| 亚洲成人网在线观看| 亚洲精品午夜天堂网页| 日韩亚洲综合在线| 99re66精品视频在线观看 | 国产精品大白天新婚身材| 国产性生大片免费观看性欧美| 亚洲第一视频区| 国产欧美在线观看一区| 乱系列中文字幕在线视频| 久久久久人妻一区精品色奶水| 国产女人喷水视频| 美女被躁出白浆视频播放| 欧美国产综合视频| 亚洲经典在线中文字幕| 久久综合成人| 色国产视频| 国内精自视频品线一二区| 日韩欧美中文亚洲高清在线| 中文字幕波多野不卡一区| 青青草91视频| 在线看片中文字幕| 免费啪啪网址| 亚洲精品卡2卡3卡4卡5卡区| 精品国产自在在线在线观看| 四虎永久免费地址| 国产精品va免费视频| 亚洲男人的天堂在线观看| 最近最新中文字幕在线第一页| 最新亚洲人成网站在线观看| 伊人AV天堂| 九九视频免费在线观看| 91成人在线观看| 麻豆国产精品一二三在线观看| 无码'专区第一页| 国产丝袜第一页| 性色一区| 亚洲欧美另类视频| 久久国产香蕉| 69视频国产| 91精品视频在线播放| 日本午夜影院| 久久久久久久久18禁秘| 极品尤物av美乳在线观看| 国产一级在线播放| 久久狠狠色噜噜狠狠狠狠97视色 | 国内精自视频品线一二区| 97视频在线精品国自产拍| 欧美伦理一区| 精品91在线| 国产原创第一页在线观看| 国产乱视频网站| 欧美一区二区福利视频| 特级aaaaaaaaa毛片免费视频| 成人福利在线观看| 嫩草影院在线观看精品视频| 久久成人免费| 激情无码视频在线看| 色哟哟国产精品一区二区| 99国产精品一区二区| 国产精品第一区在线观看|