我正在構建一個VB應用程序,它在開始時接受數字。如果用戶在任何輸入框中按下取消按鈕,我希望能夠退出。 的代碼是:檢測取消在VB6輸入框中按下
Private Sub Command1_Click()
Dim a, b, c, d As Integer
Dim response As Integer
Dim a1, b1, c1, d1 As String
a = InputBox("Enter Numerator 1")
b = InputBox("Enter Denominator 1")
c = InputBox("Enter Numerator 2")
d = InputBox("Enter Denominator 2")
a1 = Str(a)
b1 = Str(b)
c1 = Str(c)
d1 = Str(d)
If a1 <> "" And b1 <> "" And c1 <> "" And d1 <> "" Then
'All Actions
...
Else
response = MsgBox("Are you sure you want to quit?", vbYesNo + vbQuestion, AdditionV1.0")
If response = vbYes Then
End
Else
Addition.Show
End If
我使用StrPtr,它還是老樣子行不通的嘗試。即使我按下「取消」,它仍會顯示錯誤信息。
幫助將真正被讚賞。
爲什麼StrPtr(a)Len(a)足夠了? – Muis 2013-06-11 13:00:38
@Joshua因爲*不夠*。你想區分* empty * input和* no *(即Cancel按鈕)。對於Len(a)='的測試與'a =「」'相同,正如OP所指出的那樣,沒有做出必要的區分。 – 2013-06-11 13:55:39
我個人從來沒有遇到任何使用inputbox的代碼,在這兩個代碼之間進行區分非常重要。在用戶輸入不是100%要求的情況下,輸入框是一個非常糟糕的解決方案,而在所有其他情況下,空輸入可用於取消。而且OP也不想從這個問題中區分我。但是現在我明白你爲什麼使用StrPtr了。 – Muis 2013-06-11 20:30:56