乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VB編程基礎教程4–高級變量主題 | 異次元軟件世界

       a_cheng 2009-10-21

      VB編程基礎教程4–高級變量主題

      收藏到QQ書簽 [ 程序樂園 ]

      使用多個同名的變量
      如果不同模塊中的公用變量使用同一名字,則通過同時引用模塊名和變量名就可以在代碼中區(qū)分它們。例如,如果有一個在 form1 和 module1 中都聲明了的公用 integer 變量 intx,則把它們作為 module1.intx 和 form1.intx 來引用便得到正確值。
      為了看清這是如何工作的,在一個新工程中插入兩個標準模塊,并在窗體上畫上三個命令按鈕。
      在第一個標準模塊 module1 之中聲明一個變量 intx。test 過程設置它的值:
      public intx as integer      ‘聲明 module1 的 intx。
      sub test ()
         ’設置 module1 的 intx 變量的值。
         intx = 1  
      end sub
      在第二個標準模塊 module2 中聲明了第二個變量 intx,它有相同的名字。又是名為 test 的過程設置它的值:
      public intx as integer      ‘聲明了 module2 的 intx。
      sub test ()
         ’設置 module2 的 intx 變量的值。
         intx = 2  
      end sub
      在窗體模塊中聲明了第三個變量 intx。名為 test 的過程又一次設置它的值。
      public intx as integer      ‘聲明了該窗體的 intx 變量。
      sub test ()
         ’ 設置 form 中的 intx 變量值。
         intx = 3
      end sub
      在三個命令按鈕的 click 事件過程中,每一個都調用了相應的 test 過程,并用 msgbox 來顯示這三個變量的值。
      private sub command1_click ()
         module1.test               ‘ 調用 module1 中的 test。
         msgbox module1.intx         ’ 顯示 module1 的 intx。
      end sub
      private sub command2_click ()
         module2.test               ‘ 調用 module2 中的 test。
         msgbox module2.intx         ’ 顯示 module2 的 intx。
      end sub
      private sub command3_click ()
         test                     ‘ 調用 form1 中的 test。
         msgbox intx               ’ 顯示 form1 的 intx。
      end sub
      運行應用程序,單擊三個命令按鈕中的每一個按鈕。于是將看到三個公用變量被分別引用。注意在第三個命令按鈕的 click 事件過程中,在調用 form1 的 test 過程時不必指定 form1.test,在調用 form1 的 integer 變量的值時也不必指定 form1.intx 。如果多個過程或變量同名,則 visual basic 會取變化更受限制的值,在這個例子中,就是 form1 變量。
      公用變量與局部變量的比較
      在不同的范圍內也可有同名的變量。例如,可有名為 temp 的公用變量,然后在過程中聲明名為 temp 的局部變量。在過程內通過引用名字 temp 來訪問局部變量;而在過程外則通過引用名字 temp 來訪問公用變量。通過用模塊名限定模塊級變量就可在過程內訪問這樣的變量。
      public temp as integer
      sub test ()
         dim temp as integer
         temp = 2                  ‘ temp 的值為 2。
         msgbox form1.temp         ’ form1.temp 的值為 1。
      end sub
      private sub form_load ()
         temp = 1                  ‘ 將 form1.temp 的值設置成 1。
      end sub
      private sub command1_click ()
         test  
      end sub
      一般說來,當變量名稱相同而范圍不同時,局限性大的變量總會用“陰影”遮住局限性不太大的變量(即優(yōu)先訪問局限性大的變量)。所以,如果還有名為 temp 的過程級變量,則它會用“陰影”遮住模塊內部的公用變量 temp。
      陰影窗體屬性和控件
      由于陰影效應,窗體屬性、控件、常數和過程皆被視為窗體模塊中的模塊級變量。窗體屬性或控件的名稱與模塊級變量、常數、自定義類型或過程的名稱相同是不合法的,因為它們的范圍相同。
      在窗體模塊內,和窗體中控件同名的局部變量將遮住同名控件。因此必須引用窗體名稱或 me 關鍵字來限定控件,才能設置或者得到該控件的值或它的屬性值。例如:
      private sub form_click ()
      dim text 1 , backcolor
      ’假定該窗體有一個控件也叫做 text1。
         text1 = “variable”       ‘變量用“陰影”遮住控件。
         me.text1 = “control”       ’要得到控件,必須用‘me’限定。
         text1.top = 0          ‘導致出錯!
         me.text1.top = 0       ’要得到控件,必須用‘me’限定。
         backcolor = 0          ‘變量用“陰影”遮住屬性。
         me.backcolor = 0       ’要得到窗體屬性,必須用‘me’限定。
      end sub
      使用同名的變量和過程
      專用模塊級變量和公共模塊級變量的名字也會和過程名沖突。模塊中的變量不能和任何過程同名,也不能和模塊中定義的類型同名。但可以和公用過程或其它模塊中定義的類型或變量同名。在這種情況下,從別的模塊訪問這個變量時,就必須用模塊名來限定。
      雖然上面討論陰影規(guī)則并不復雜,但是用陰影的方法可能會帶來麻煩,而且會導致難以查找的錯誤。因此,對不同的變量使用不同的名稱才是一種好的編程習慣。在窗體模塊中應盡量使變量名和窗體中的控件名不一樣。

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多