vb中的變數定義的問題

2022-04-05 04:57:25 字數 1114 閱讀 9536

1樓:

在函式、過程內部定義,為區域性變數;在外部定義的是公共變數。

定義公共變數有兩種方式(不建議用dim定義):

private n as integer

private定義的公共變數只能在模組內部共享。

public n as integer

private定義的公共變數可以在模組外部訪問。

假如您這個form叫做myform,而您可以在另外一個form裡,以myform.n來訪問它。

在函式、過程內部定義的變數為區域性變數。這種變數在函式、過程執行完畢後便被釋放。

我舉個例子:假如我要設計一個模擬自動步槍的程式。

public pubmcount as integer

private sub command1_click() '裝子彈

pubmcount=30

end sub

private sub command2_click() '開槍

if pubmcount>0 then

pubmcount= pubmcount - 1

end if

end sub

如果您把pubmcount定義在sub form_load()內部,則在form_load()執行完畢後,pubmcount便被釋放了,也就是丟了。

至於public和private的區別。如果您不想讓「敵人」知道您的彈藥剩餘數量,就用private。如果您用public,則「敵人」會訪問到pubmcount的值。

同樣道理,private定義的函式、過程只能被「自己人」(同一個模組內部)呼叫。如果您用public定義函式、過程,則「敵人」也可以使用。

2樓:匿名使用者

定義在內部的為區域性變數,定義在外面的成為模組級變數!

為什麼我在load外面定義,定義出來了

可是,在load裡面定義,就沒用呢?

你這句話啥意思啊?啥叫「定義出來了」,怎麼沒用了,你把**發出來看看!!

3樓:匿名使用者

如果在函式裡面定義,則其他函式就訪問不了這個變數。

如果在函式外面定義,則所有函式都可以訪問這個變數。

看在我分少的面上,選我把!

VB中的msgbox問題,vb中msgbox的問題

msgbox a b 顯示字串連線的結果 象我這麼寫。就對了!vb中msgbox的問題 a msgbox 必須在工資審批任務完成後才能進行更新記錄操作!請選擇是否進行更新記錄操作 vbyesno,確定更新 少了一個逗號吧,vbyesno前面加個逗號看看看其他是沒錯的 因為你點了確定按鈕這時x才會有值...

VB中label的問題,VB中label的一個問題

這是一個奧運會的倒計時器,如下 const adate 8 8 2008 8 40 00 am 常量紐約時間的北京奧運會開幕時間 private sub form load timer1.interval 1000timer1.enabled trueend sub private sub time...

Excel VBA問題 如何定義全域性變數

excel vba 定義全域性變數的具體操作步驟如下 1 首先我們開啟電腦裡的excel軟體進入excel主介面。2 然後我們滑鼠右擊下面的工作表 如sheet1 選擇 檢視 就可以開啟vba編輯介面。3 如圖顯示開啟vba程式設計介面。4 接著就是在 框裡輸入定義一個執行函式。5 接著就是在 框裡...