1樓:
第二個的錯誤在於如果專案存在,有可能還會新增,例如:
combo1.text =「a」
第一項是「a」
第二項是「b」
第三項是「a」
.....
第n-1項是「c」
第n項是「a」
在檢測到第二項,由於不是a,就會新增一個a,檢測到第n-1項,由於不是a,再增加一個a等等,因此,凡是和combo1.text 內容不符的專案就會新增。
第一個程式就不存在這個問題,當檢測到專案存在就退出這個過程(注意:exit sub是退出過程,不是退出迴圈,退出迴圈是exit for),因此不會再新增新的專案了。
2樓:匿名使用者
exit sub是退出過程,答案已經知道了(知道輸入項已在組合框中)就沒必要再試其他的了。
當然你繼續試也可以,不過那將浪費很多的系統資源和時間
3樓:匿名使用者
exit sub 是使程式退出此過程
vb中關於exit sub問題
4樓:匿名使用者
exit sub 的作用是結抄束當前的過程bai
,不再執行後續程式。
針對本程du序,exit sub 的作用是檢查到"未選zhi擇該新增的項dao目"或"專案已經存在"的時候,就不再執行 list2.additem (list1.list(list1.
listindex))
5樓:匿名使用者
舉個例子:
private sub command1_click()msgbox "aa"
'goto abc
exit sub
abc:
msgbox "bb"
end sub
上面那個程式預設的話執行到exit sub 就結束了。執行後只彈出內aa這個對話方塊
如果把容'goto abc前面的"'"去掉,那就會出現aa和bb兩個對話方塊。
在這裡,exit sub 就可以看做是一個end sub
6樓:匿名使用者
例如bai
private sub hello()
i=0if i=0 then
exit sub
end if
msgbox "hello"
end sub
此時不會出du現hello對話方塊
zhi 用了
daoexit sub 後面的內程式都不容會被執行了
7樓:蘇鵬無敵
private sub command1_click()if list1.listindex = -1 thenmsgbox "請選擇項bai目du"
' exit sub
end if
for i = 0 to 20
if list1.list(list1.listindex) = list2.list(i) then
msgbox "¸該項已新增!zhi"
' exit sub
end if
next i
list2.additem (list1.list(list1.listindex))
end sub
其實對於if 只用
daoend if 就結束那專個判屬斷了
8樓:
建議設定斷點單步執行看看,很可能是先決條件不滿足或中間有未捕獲的錯誤,導致該永久段都沒有得到執行,而不是語句本身沒起作用。
vb 中,exit sub 疑問!
9樓:
1、退出的是子過程。
2、在主過程設定判斷,滿足後:exit subif ...... then
.......... '不滿足條件執行程式else
exit sub '滿足條件退出主過程end if
10樓:周海濤
退出的是子過程,需要把相關引數傳遞迴到主過程,然後在主過程判斷後執行
vb高手來,vb中exit sub的作用?
11樓:秋色烽火
exit do
exit for
exit function
exit sub
還有其它幾個同類是這樣的
意思是退出**體 執行其它操作
比如你上面的exit sub
其實是一個良好的編碼習慣 雖然在此處有和沒的關係不大一般exit 的用途如下面這樣
for i= 1 to 10
if i = 5 then
msgbox "i等於" & i
exit for
endif
next
這樣當i迴圈到5的時候就會退出不再繼續迴圈操作
12樓:匿名使用者
exit這個單詞就是退出,不用講吧.
exit sub就是退出過程退出sub過程式你試試下面的這個句子,使用者名稱和密碼都不要輸入字元private sub command1_click()if text1.text = "" thenmsgbox "請輸入使用者名稱!", vbokonly + vbcritical, "錯誤"
exit sub
if text2.text = "" thenmsgbox "請輸入密碼!", vbokonly + vbcritical, "錯誤"
end if
end if
end sub
13樓:匿名使用者
為什麼要那麼複雜呢??像下面這樣不好麼
private sub command1_click()
if text1.text = "" then
msgbox "請輸入使用者名稱!", vbokonly + vbcritical, "錯誤"
elseif text1.text = "wuwenshi" and text2.text = "123456" then
msgbox "你是合法使用者,歡迎進入!", vbokonly + vbinformation, "歡迎進入"
else
msgbox "使用者或密碼錯誤!", vbokonly + vbcritical, "錯誤"
text1.text = ""
text2.text = ""
end if
end sub
在vb中,exit sub和end sud有什麼區別?
14樓:匿名使用者
exit sub 可能 出現 在 sub 中
但 end sub 應該是 sub 的 最後語句
看 msdn
15樓:司徒驚月
一個是退出,一個是結束,end sub和sub是對應的,exit sub 一般是在程式中途退出
16樓:匿名使用者
exit sub用來跳出過程
end sud是過程結束的標誌
17樓:匿名使用者
無返回值的函式定義類似下面這種形式:
sub test(引數列表)
處理**
end sub
所以end sub是函式的結束標誌,而exit sub是用來退出函式的執行的,比如:
sub test()
處理**
if 發生錯誤,需要提前退出 then
exit sub
end if
處理**
end sub
vb如何可以做到在function中exit sub? 50
18樓:ts背後一刀兒
你的意思是,你在一個sub裡面巢狀了一個function唄,然後你在function執行的時候判斷到不需要繼續,就退出function唄,同時sub也退出唄!
那你可以通過function裡面的返回值來控制啊!先把返回值設定成一個初始值(或者是錯誤退出的值),執行正確就最後把正確的值返回。有問題就直接exit function 返回那個初始值,sub裡面判斷返回值,在exit sub。
你得注意程式過程體的界定,不能內外呼叫,只能傳遞值。
19樓:
哦,哈哈
exit是退出!
你在sub裡,自然是exit sub
在function裡,那肯定是exit function了啊!!
下次遇到for迴圈的時候,不要忘了用
exit for!呵呵
20樓:匿名使用者
你可以定義function為布林型,當他為真是繼續執行,為假時就exit sub即可。
比如private function abc() as boolean
21樓:
變通一下,執行函式後判斷一下
option explicit
dim b as boolean
private sub command1_click()b = false
dim i as integer
clsfor i = 0 to 10
print a(i)
if b then exit sub
next
end sub
private function a(a1 as integer) as integer
if a1 > 5 then b = truea = a1 * a1
end function
exit sub和 end sub區別?
22樓:匿名使用者
end sub 是一個過程的結束**(每一個sub中必須對應一個end sub)exit sub 是在過程內**執行時,可選擇性的退出過程執行(即不執行exit sub之後的**,相當於中途退出的意思),這不是必須的。如:private sub 特徵測試() dim i as integer for i=0 to 10 if i mod 3=0 then exit sub '這裡就是可選擇性的退出過程的執行了,這句執行後,最後msgbox就不會執行 else msgbox i end if next i msgbox "特徵測試完畢"end sub '過程結束**,這是sub必須的。
還有類似的function ...end function在c..c++..
c#等c類環境下過程結束標記是用「}」在delphi結束標記是 「end;」
vb中end sub可以出現在過程中代替exit sub麼?
23樓:
都是結束sub。
但end sub和sub sub_name是一一對應的,在一個sub過程中,只能出現一個,exit sub不同,相當於break,可以多次出現。
例如:sub test
if text1.text="1" thenexit sub '這裡就不能出現end subelse
'do nothing
end if
end sub '本處和最開始對應
所以不能代替。
vb中關於exit sub問題,VB 中的exit do 怎麼理解
exit sub 的作用是結抄束當前的過程bai 不再執行後續程式。針對本程du序,exit sub 的作用是檢查到 未選zhi擇該新增的項dao目 或 專案已經存在 的時候,就不再執行 list2.additem list1.list list1.listindex exit sub 在一來般情況...
VB程式中的問題,VB程式中的一個問題
1 我建議你好好看看書,這是很基礎的 2 a 定義的是一個陣列 3 0 代表的是a 陣列中的第一元素,也可以說是陣列中第一個變數 這樣說不太準確,可以這麼理解吧 4 每一個陣列a x 後面只要是寫等號,就是給這個陣列進行賦值的 例如你提問的 a 0 1 意思就是把1這個數賦值給a 0 因為你前面已經...
vb中關於日期函式的問題,VB中關於日期函式的問題
個人認為 執行結果不是因為cdate的作用強制轉換成日期,而是在於year 函式cdate就是字串強制轉換成日期型,比如text1.text 98 1 a cdate text1.text a就等於 1998 01 01 這就是cdate 函式的作用year 功能得到日期值中的年度 有效取值1000...