麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

VisualBasic變量、常數(shù)和數(shù)據(jù)類型及過程概述二

2019-11-18 17:43:41
字體:
供稿:網(wǎng)友

    常數(shù)

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

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

    設(shè)定用戶自定義常數(shù)的范圍
    和變量聲明一樣,Const語句也有范圍,也使用相同的規(guī)則:
     為創(chuàng)建僅存在于過程中的常數(shù),請(qǐng)?jiān)谶@個(gè)過程內(nèi)部聲明常數(shù)。
     為創(chuàng)建一常數(shù),它對(duì)模塊中所有過程都有效,但對(duì)模塊之外任何代碼都無效,請(qǐng)?jiān)谀K的聲明段中聲明常數(shù)。
     為創(chuàng)建在整個(gè)應(yīng)用程序中有效的常數(shù),請(qǐng)?jiān)跇?biāo)準(zhǔn)模塊的聲明段中進(jìn)行聲明,并在Const前面放置Public關(guān)鍵字。在窗體模塊或類模塊中不能聲明Public常數(shù)。
    詳細(xì)信息關(guān)于范圍的更詳細(xì)信息,請(qǐng)參閱本章前面的“理解變量的范圍”一節(jié).

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

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

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

    Numeric數(shù)據(jù)類型
    VisualBasic支持幾種Numeric數(shù)據(jù)類型:Integer(整型)、Long(長整型)、Single(單精度浮點(diǎn)型)、Double(雙精度浮點(diǎn)型)和Currency(貨幣型)。與Variant類型相比,Numeric類型占用的存儲(chǔ)空間通常要少。
    如果知道變量總是存放整數(shù)(如12)而不是帶小數(shù)點(diǎn)的數(shù)字(如3.57),就應(yīng)當(dāng)將它聲明為Integer類型或Long類型。整數(shù)的運(yùn)算速度較快,而且比其它數(shù)據(jù)類型占據(jù)的內(nèi)存要少。在For...Next循環(huán)內(nèi)作為計(jì)數(shù)器變量使用時(shí),整數(shù)類型尤為有用。
    詳細(xì)信息關(guān)于控制結(jié)構(gòu)的詳細(xì)資料,請(qǐng)參閱本章后面的“控制結(jié)構(gòu)概述”。如果變量包含小數(shù),則可將它們聲明為Single、Double或Currency變量。Currency數(shù)據(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)位誤差。
    注意浮點(diǎn)數(shù)值可表示為mmmEeee或mmmDeee,其中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次方。用D將數(shù)值文字中的尾數(shù)部分和指數(shù)部分隔開,就會(huì)導(dǎo)致將該值作為Double數(shù)據(jù)類型來處理。同樣,用這種方式使用E,也會(huì)導(dǎo)致將該值作為Single數(shù)據(jù)類型來處理。

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

    String數(shù)據(jù)類型
    如果變量總是包含字符串而從不包含數(shù)值,就可將其聲明為String類型。
    PrivateSAsString
    然后可將字符串賦予這個(gè)變量,并用字符串函數(shù)對(duì)它進(jìn)行操作。
    S="Database"
    S=Left(S,4)
    按照缺省規(guī)定,String變量或參數(shù)是一個(gè)可變長度的字符串。隨著對(duì)字符串賦予新數(shù)據(jù),它的長度可增可減。也可以聲明字符串具有固定長度。可用以下語法聲明一個(gè)定長字符串:
    String*size
    例如,為了聲明一個(gè)長度為50字符的字符串,可用下列語句:
    DimEmpNameAsString*50
    如果賦予字符串的字符少于50個(gè),則用空格將EmpName的不足部分填滿。如果賦予字符串的長度太長,已不能成為定長字符串,則VisualBasic會(huì)直接截去超出部分的字符。
    因?yàn)槎ㄩL字符串用空格填充尾部多余的空間,所以在處理定長字符串時(shí)可發(fā)現(xiàn),刪除空格的Trim和RTrim函數(shù)是很有用的。    可將標(biāo)準(zhǔn)模塊中的定長字符串聲明為Public或Private。在窗體和類模塊中,必須將定長字符串聲明為Private。
    詳細(xì)信息請(qǐng)參閱《VisualBasic6.0語言參考手冊(cè)》中的“Ltrim、RTrim和Trim函數(shù)”。

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

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

    Date數(shù)據(jù)類型
    Date和Time值既可包含在特定的Date數(shù)據(jù)類型中,又可包含在Variant變量中。一般的Date特性適用于這兩種類型。
    詳細(xì)信息請(qǐng)參閱《聯(lián)機(jī)手冊(cè)》的“高級(jí)變量主題”中的“在Variant變量中存儲(chǔ)Date/Time值”部分。
    當(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。

->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美一级高潮片免费的 | 手机免费看一级片 | 欧美精品一级 | 视频一区二区三区在线播放 | 成年人黄视频 | 久久久国产精品网站 | 黄色片网站在线免费观看 | 4p嗯啊巨肉寝室调教男男视频 | 欧洲精品视频在线观看 | 大片毛片| 午夜精品成人一区二区 | 亚洲成人在线视频网 | 精品一区二区视频在线观看 | 亚洲男人的天堂在线视频 | 毛片在线免费视频 | 国产四区 | 精品一区二区三区在线视频 | 精品一区二区免费视频视频 | 久久精品欧美视频 | 欧美精品v国产精品v日韩精品 | av在线日韩 | 欧美高清一级片 | 一级免费黄色免费片 | www.99久| 92看片淫黄大片欧美看国产片 | 国产午夜亚洲精品 | 久久久久久久国产a∨ | 成人做爰高潮片免费视频美国 | 欧美性激情视频 | 国产黄色一区二区 | 国产乱淫av片免费观看 | 欧美一级黄色影院 | 欧美一级做一a做片性视频 日韩黄色片免费看 | 久久55 | 国产亚洲精品综合一区91 | 国产宾馆3p国语对白 | 国产精品aⅴ | 国产无限资源在线观看 | 久久久tv | 中文字幕在线观看二区 | 曰韩黄色片 |