vb子過程的問題

2022-01-05 02:25:00 字數 869 閱讀 3609

1樓:匿名使用者

例如:private sub command1_click()

dim x as integer

dim y as integer

x = 1

y = 2

call aaa(x,y) ------x,y叫做實參這裡用的都是變數

msgbox x ------返回的是3

call aaa(x,y+2) ------x,y+2叫做實參,這裡x用的都是變數,而y+2是表示式

end sub

sub aaa(byref a as integer,vyval b as integer

a = a + b

end sub

command1_click()事件裡有兩次呼叫過程aaa,

實參x的位置只能是變數,因為在過程裡用byref宣告的,具有傳址功能,即自定義過程裡的a就是外部的x。

因為這個位置的引數,是傳址性質的,如果你用常量或表示式,它怎麼進行地址傳遞呢?

2樓:匿名使用者

比如 有一個過程

private sub test(a as string,b as string )

a="第一個返回值"

b="第二個返回值"

end sub

你在呼叫的時候。 a b這兩個變數是需要返回值。

比如你呼叫的時候 call test(s1,s2)執行後 s1= "第一個返回值"

s2="第二個返回值"

如果 s1 和s2 是一個常量。那麼對一個常量進行賦值。當然是錯誤的。別說是控制元件名或 表示式了!

vb模組中的過程如何呼叫,VB 模組中的過程如何呼叫?

舉乙個比較直觀的例子 你在模組1中寫好以後函式 public function 直角三角形斜邊 byval 直角邊1 as double,byval 直角邊2 as double 直角三角形斜邊 sqr 直角邊1 2 直角邊2 2 end function 在你要呼叫函式的地方寫上 dim 斜邊 a...

VB程式問題,VB程式設計問題

這個有難度,你查查相關的api函式吧,自動關機,可以使用shutdonw 用wmi實現可能更方便些 vb程式設計問題 10 窗體的load事件是在窗體駐入記憶體的時候產生的,這個時侯窗體還沒有顯示,所以你的輸出當然看不到了。可以把 放到按鈕事件或resize事件 resize事件有可能被多次執行 中...

VB陣列問題,vb陣列問題

3一共4個 一維0,1,2 所以上面可以變成下面這樣dima 0 to3,0to 5 as integer 0,5 as integer 2 to1 預設情況下 陣列下標從0開始 dima 3,1 也4個三維6個 二維 2,1,2to1 vb陣列問題 正規答案應該是c,a b的成員個數都超過9個,d...