亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

VisualBasic變量、常數和數據類型及過程概述二

2019-11-18 17:43:41
字體:
來源:轉載
供稿:網友

    常數

    經常會發現代碼包含一些常數值,它們一次又一次地反復出現。還可發現,代碼要用到很難記住的數字,而那些數字沒有明確意義。
    在這些情況下,可用常數大幅度地改進代碼的可讀性和可維護性。常數是有意義的名字,取代永遠不變的數值或字符串。盡管常數有點像變量,但不能像對變量那樣修改常數,也不能對常數賦以新值。常數有兩種來源:
    1.內部的或系統定義的常數是應用程序和控件提供的。在“對象瀏覽器”中的VisualBasic(VB)、和VisualBasicforapplications(VBA)對象庫中列舉了VisualBasic的常數。其它提供對象庫的應用程序,如MicrosoftExcel和MicrosoftPRoject,也提供了常數列表,這些常數可與應用程序的對象、方法和屬性一起使用。在每個ActiveX控件的對象庫中也定義了常數。關于使用“對象瀏覽器”的詳細信息,請參閱第九章“用對象編程”。
    2.符號的或用戶定義的常數是用Const語句來聲明的。下節“創建屬于自己的常數”中將說明用戶定義的常數。
    在VisualBasic中,常數名采用大小寫混合的格式,其前綴表示定義常數的對象庫名。來自VisualBasic和VisualBasicforapplications對象庫的常數以"vb"開頭,例如vbTileHorizontal。
    設計前綴時應盡力防止發生意外沖突,不能出現常數名稱相同但表示不同數值的情況。即使使用了前綴,兩個對象庫也仍可能包含表示不同值的相同常數。在這種情況下,引用哪個常數取決于哪個對象庫具有更高的優先級。關于改變對象庫優先級的信息,請參閱“引用對話框”部分。
    為了絕對確保不發生常數名字沖突,可用以下語法來限定對常數的引用:
    [libname.][modulename.]constname
    Libname通常是控件或庫的類名。Modulename是定義常數的模塊的名字。Constname是常數名。在對象庫中定義了每個元素,并能在“對象瀏覽器”中查看元素。

    創建屬于自己的常數
    聲明常數的語法是
    [Public|Private]Constconstantname[Astype]=expression
    參數constantname是有效的符號名(其規則與建立變量名的規則一樣),expression由數值常數或字符串常數以及運算符組成;但在expression中不能使用函數調用。
    Const語句可以表示數量、日期和時間:
    ConstconPi=3.14159265358979
    PublicConstconMaxPlanetsAsInteger=9
    ConstconReleaseDate=#1/1/95#
    也可用Const語句定義字符串常數:
    PublicConstconVersion="07.10.A"
    ConstconCodeName="Enigma"
    如果用逗號進行分隔,則在一行中可放置多個常數聲明:
    PublicConstconPi=3.14,conMaxPlanets=9,_
    conWorldPop=6E 09
    等號(=)右邊的表達式往往是數字或文字串,但也可以是其結果為數或字符串的表達式(盡管表達式不能包含函數調用)。甚至可用先前定義過的常數定義新常數。
    ConstconPi2=conPi*2一旦已定義常數,就可將其放置在代碼中,使代碼更可讀。例如:
    StaticSolarSystem(1ToconMaxPlanets)
    IfnumPeople>conWorldPopThenExitSub

    設定用戶自定義常數的范圍
    和變量聲明一樣,Const語句也有范圍,也使用相同的規則:
     為創建僅存在于過程中的常數,請在這個過程內部聲明常數。
     為創建一常數,它對模塊中所有過程都有效,但對模塊之外任何代碼都無效,請在模塊的聲明段中聲明常數。
     為創建在整個應用程序中有效的常數,請在標準模塊的聲明段中進行聲明,并在Const前面放置Public關鍵字。在窗體模塊或類模塊中不能聲明Public常數。
    詳細信息關于范圍的更詳細信息,請參閱本章前面的“理解變量的范圍”一節.

    避免循環引用
    由于常數可以用其它常數定義,因此必須小心,在兩個以上常數之間不要出現循環或循環引用。當程序中有兩個以上的公用常數,而且每個公用常數都用另一個去定義時就會出現循環。例如:
    '在Module1中:
    PublicConstconA=conB*2    '在整個應用程序
                      '中有效。
    '在Module2:
    PublicConstconB=conA/2    '在整個應用程序
                      '中有效。
    如果出現循環,在試圖運行此應用程序時,VisualBasic就會產生錯誤信息。不解決循環引用就不能運行程序。為避免出現循環,可將公共常數限制在單一模塊內,或最多只存在于少數幾個模塊內。

    數據類型
    變量是用來存儲值的所在處,它有名字和數據類型。變量的數據類型決定了如何將代表這些值的位存儲到計算機的內存中。在聲明變量時也可指定它的數據類型。所有變量都具有數據類型,以決定能夠存儲哪種數據。
    根據缺省規定,如果在聲明中沒有說明數據類型,則令變量的數據類型為Variant。Variant數據類型很像一條變色龍,它可在不同場合代表不同數據類型。當指定變量為Variant變量時,不必在數據類型之間進行轉換,VisualBasic會自動完成各種必要的轉換。
    但是,如果知道變量確實總是存儲特定類型的數據,并且還聲明了這種特定類型的變量,則VisualBasic會以更高的效率處理這個數據。例如,存儲人名的變量最好表示成String數據類型,因為名字總是由字符組成。
    除變量外,數據類型也用于其它場合。在給屬性賦值時,這個值就有數據類型;函數的參數也有數據類型。事實上,在VisualBasic中,凡是與數據有關的東西就與數據類型有關。
    你也可聲明任何基本類型的數組。
    詳細信息關于更詳細信息,請參閱本章后面的“數組”部分。在第十五章“性能和兼容性的設計”中還將討論通過選擇數據類型來提高應用程序的性能。

    聲明帶數據類型的變量
    在使用非Variant變量之前,必須使用Private、Public、Dim或Static語句將變量聲明為Astype。例如,下列語句分別聲明了Integer、Double、String和Currency類型的變量:
    PrivateIAsInteger
    DimAmtAsDouble
    StaticYourNameAsString
    PublicBillsPaidAsCurrency
    一個聲明語句可將多個聲明組合起來,請看下列語句:
    PrivateIAsInteger,AmtAsDouble
    PrivateYourNameAsString,BillsPaidAsCurrency
    PrivateTest,Amount,JAsInteger
    注意如果不提供數據類型,則指定變量為缺省類型。在上例中,變量Test和Amount是Variant數據類型。如果由于其它編程語言的經驗使你感到同一個聲明語句中的所有變量都有相同的指定數據類型(此例中為Integer),那么,此處的結果可能會令人感到新鮮。

    Numeric數據類型
    VisualBasic支持幾種Numeric數據類型:Integer(整型)、Long(長整型)、Single(單精度浮點型)、Double(雙精度浮點型)和Currency(貨幣型)。與Variant類型相比,Numeric類型占用的存儲空間通常要少。
    如果知道變量總是存放整數(如12)而不是帶小數點的數字(如3.57),就應當將它聲明為Integer類型或Long類型。整數的運算速度較快,而且比其它數據類型占據的內存要少。在For...Next循環內作為計數器變量使用時,整數類型尤為有用。
    詳細信息關于控制結構的詳細資料,請參閱本章后面的“控制結構概述”。如果變量包含小數,則可將它們聲明為Single、Double或Currency變量。Currency數據類型支持小數點右面4位和小數點左面15位;它是一個精確的定點數據類型,適用于貨幣計算。浮點(Single和Double)數比Currency的有效范圍大得多,但有可能產生小的進位誤差。
    注意浮點數值可表示為mmmEeee或mmmDeee,其中mmm是尾數,而eee是指數(以10為底的冪)。Single數據類型的最大正數值為3.402823E 38,或3.4乘以10的38次方;Double數據類型的最大正數值是1.79769313486232D 308或1.8乘以10的308次方。用D將數值文字中的尾數部分和指數部分隔開,就會導致將該值作為Double數據類型來處理。同樣,用這種方式使用E,也會導致將該值作為Single數據類型來處理。

    Byte數據類型
    如果變量包含二進制數,則將它聲明為Byte數據類型的數組(本章后面的“數組”中將討論數組)。在轉換格式期間用Byte變量存儲二進制數據就可保留數據。當String變量在ANSI和Unicode格式間進行轉換時,變量中的任何二進制數據都會遭到破壞。在下列任何一種情況下,VisualBasic都會自動在ANSI和Unicode之間進行轉換:
     讀文件時
     寫文件時
     調用DLL時
     調用對象的方法和屬性時
    除一元減法外,所有可對整數進行操作的運算符均可操作Byte數據類型。因為Byte是從0-255的無符號類型,所以不能表示負數。因此,在進行一元減法運算時,VisualBasic首先將Byte轉換為符號整數。
    所有數值變量都可相互賦值,也可對Variant類型變量賦值。在將浮點數賦予整數之前,VisualBasic要將浮點數的小數部分四舍五入,而不是將小數部分去掉。
    詳細信息關于Unicode和ANSI轉換的詳細信息,請參閱第十六章“國際化”。

    String數據類型
    如果變量總是包含字符串而從不包含數值,就可將其聲明為String類型。
    PrivateSAsString
    然后可將字符串賦予這個變量,并用字符串函數對它進行操作。
    S="Database"
    S=Left(S,4)
    按照缺省規定,String變量或參數是一個可變長度的字符串。隨著對字符串賦予新數據,它的長度可增可減。也可以聲明字符串具有固定長度??捎靡韵抡Z法聲明一個定長字符串:
    String*size
    例如,為了聲明一個長度為50字符的字符串,可用下列語句:
    DimEmpNameAsString*50
    如果賦予字符串的字符少于50個,則用空格將EmpName的不足部分填滿。如果賦予字符串的長度太長,已不能成為定長字符串,則VisualBasic會直接截去超出部分的字符。
    因為定長字符串用空格填充尾部多余的空間,所以在處理定長字符串時可發現,刪除空格的Trim和RTrim函數是很有用的?!   】蓪藴誓K中的定長字符串聲明為Public或Private。在窗體和類模塊中,必須將定長字符串聲明為Private。
    詳細信息請參閱《VisualBasic6.0語言參考手冊》中的“Ltrim、RTrim和Trim函數”。

    交換字符串和數字
    如果字符串表示數值,則可將字符串賦予數值變量。也可將數值賦予字符串變量。例如,將命令按鈕、文本框和列表框放置在窗體中。在命令按鈕的Click事件中輸入下列代碼。運行應用程序并單擊命令按鈕。
    PrivateSubCommand1_Click()
       DimintXAsInteger
       DimstrYAsString
       strY="100.23"
       intX=strY             '將字符串傳遞給數值變量。
       List1.AddItemCos(strY)       '將字符串中數值的余弦值。
                          '添加到列表框中。
       strY=Cos(strY)          '將余弦值傳遞給字符串變量。
       Text1.Text=strY          '在文本框中顯示字符串。
    EndSub
    VisualBasic會自動強制變量為適當的數據類型。在轉換字符串和數值時要小心;如果傳送字符串中的值不是數值,則在運行時會出錯。

    Boolean數據類型
    若變量的值只是“true/false”、“yes/no”、“on/off”信息,則可將它聲明為Boolean類型。Boolean的缺省值為False。在下面的例子中,blnRunning是Boolean變量,存儲簡單的yes/no設置。
    DimblnRunningAsBoolean
      '查看磁帶是否在轉。
      IfRecorder.Direction=1Then
      blnRunning=True
    Endif

    Date數據類型
    Date和Time值既可包含在特定的Date數據類型中,又可包含在Variant變量中。一般的Date特性適用于這兩種類型。
    詳細信息請參閱《聯機手冊》的“高級變量主題”中的“在Variant變量中存儲Date/Time值”部分。
    當其它數值數據類型轉換為Date時,小數點左邊的值表示Date信息,小數點右邊的值則代表Time。午夜為0,正午為0.5。負數表示公元1899年12月31日之前的Date。

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
自拍亚洲一区欧美另类| 日韩在线欧美在线国产在线| 欧美一级大片在线观看| 亚洲国产欧美自拍| 一区二区在线视频播放| 欧美黄色片免费观看| 久久网福利资源网站| 日韩在线观看成人| 亚洲国产成人精品一区二区| 欧美老女人xx| 亚洲精品999| 在线播放精品一区二区三区| 日本国产欧美一区二区三区| 亚洲精品久久久久中文字幕二区| 欧美激情精品久久久久| 91国内免费在线视频| 中文精品99久久国产香蕉| 精品av在线播放| 日韩免费视频在线观看| 国产99视频在线观看| 亚洲男人天堂2024| 7m精品福利视频导航| 国产精品永久免费| 国产丝袜高跟一区| 96精品视频在线| 亚洲综合在线做性| 在线播放日韩专区| 国产午夜精品美女视频明星a级| 欧美日韩一区二区在线播放| 国产欧美日韩免费看aⅴ视频| 欧美在线激情视频| 91老司机在线| 久久精品国产综合| 欧美一级免费视频| 国产精品视频免费观看www| 亚洲视频在线观看视频| 亚洲欧美制服丝袜| 国产精品网红直播| 91高清在线免费观看| 一本色道久久综合狠狠躁篇的优点| 青青草成人在线| 精品亚洲一区二区三区四区五区| 日韩视频在线观看免费| 久久激情五月丁香伊人| 精品亚洲一区二区三区在线播放| 精品视频偷偷看在线观看| 亚洲女人天堂av| 日韩成人激情在线| 一区二区欧美日韩视频| 91啪国产在线| 欧美午夜宅男影院在线观看| 中文字幕久久久av一区| xvideos亚洲人网站| 日本91av在线播放| 欧美一级片一区| 亚洲女人被黑人巨大进入al| 中文字幕亚洲欧美一区二区三区| 51视频国产精品一区二区| 亚洲精品欧美一区二区三区| 中文字幕成人精品久久不卡| 亚洲free性xxxx护士白浆| 日韩av在线导航| 国产精品视频精品视频| 亚洲天堂一区二区三区| 国产乱肥老妇国产一区二| 亚洲人成电影在线| 久久久久九九九九| 国产亚洲免费的视频看| 在线视频中文亚洲| 日韩的一区二区| 亚洲精品欧美日韩| 国产成人精品优优av| 精品久久久中文| 97精品国产91久久久久久| 欧美激情在线播放| 成人激情在线观看| 最近更新的2019中文字幕| 国产成人精品一区二区在线| 一本久久综合亚洲鲁鲁| 欧美成人精品在线播放| 久久综合五月天| 欧美成年人视频网站欧美| 国产精品极品尤物在线观看| 国产一区二区三区在线免费观看| 91精品国产91久久久久久吃药| 色婷婷亚洲mv天堂mv在影片| 国产精品久久久久久久久免费看| 日韩在线视频免费观看高清中文| 久久久久久91| 国产欧美韩国高清| 亚洲欧美激情四射在线日| 国产成人高清激情视频在线观看| 最新国产精品拍自在线播放| 欧美性猛交xxxxx免费看| 久久亚洲精品一区| 亚洲热线99精品视频| 91精品国产综合久久久久久久久| 国产午夜精品麻豆| 欧美成人精品不卡视频在线观看| 亚洲午夜未满十八勿入免费观看全集| 欧美在线视频观看免费网站| 91久久精品国产91久久性色| 国产精品麻豆va在线播放| 亚洲国产91精品在线观看| 精品国产依人香蕉在线精品| 久久激情五月丁香伊人| 欧美激情第1页| 国产精品久久久久久久7电影| 欧美有码在线视频| 日韩欧美极品在线观看| 精品无码久久久久久国产| 国产裸体写真av一区二区| 日韩在线国产精品| 亚洲日本欧美日韩高观看| 午夜精品www| 国产在线999| 中日韩美女免费视频网址在线观看| 国产精品男女猛烈高潮激情| 欧美日韩在线观看视频小说| 欧美又大粗又爽又黄大片视频| 国产成人高清激情视频在线观看| 97热在线精品视频在线观看| 国产91精品最新在线播放| 国产精品88a∨| 欧美一区二区视频97| 亚洲专区中文字幕| 国产成人精品一区二区在线| 国产精品对白刺激| 欧美另类69精品久久久久9999| 日韩成人黄色av| 色爱av美腿丝袜综合粉嫩av| 欧美极品美女视频网站在线观看免费| 日韩欧美一区二区三区久久| 国产精品夜色7777狼人| 欧美日韩国产成人在线| 欧美日韩国产一区二区三区| 国产69精品久久久久99| 尤物yw午夜国产精品视频明星| 亚洲成人激情图| 成人精品在线观看| 日本一区二区三区四区视频| 久久成人精品一区二区三区| 国语自产精品视频在线看抢先版图片| 精品久久久久久亚洲精品| 国产这里只有精品| 成人免费在线视频网站| 成人精品视频99在线观看免费| 亚洲成人av在线播放| 亚洲精品乱码久久久久久金桔影视| 日本精品一区二区三区在线播放视频| 91中文字幕一区| 亚洲aⅴ日韩av电影在线观看| 亚洲3p在线观看| 九九热这里只有精品免费看| 日韩在线欧美在线| 日韩av网址在线观看| 日本亚洲欧美成人| 久久精品视频在线播放| www.日本久久久久com.| 91成人在线视频| 中文字幕亚洲欧美日韩在线不卡| 国产精品久久久久久久久久ktv| 国产欧美日韩视频| 国产va免费精品高清在线|