检测在VB6 InputBox中按下取消

Bha*_*yap 3 vb6 inputbox

我正在构建一个在开始时接受数字的VB应用程序.如果用户在任何输入框中按下取消按钮,我希望能够退出.代码是:

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
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用StrPtr而且它没有用.即使我按下取消,它仍会显示错误消息.

帮助真的很感激.

Kon*_*lph 5

StrPtr是要走的路.由于您没有显示相关代码,因此无法确定您的错误(但代码中存在多个错误).原则上,以下工作:

Dim a As String
a = InputBox("Enter Numerator 1")
If StrPtr(a) = 0 Then
    ' Nothing was entered.
End If
Run Code Online (Sandbox Code Playgroud)

我怀疑您将检查应用于a1等而不是原始变量.这不仅不起作用(Str强制字符串为非空),它也没有意义:无论如何,这些变量是什么?

此外,您的所有变量声明都是错误的.下列:

Dim a, b, c, d As Integer
Run Code Online (Sandbox Code Playgroud)

声明a,bc作为Variant.只会d是一个Integer.为此,由于其他原因(可读性),永远不要在一个语句中声明多个变量.始终单独声明它们.哦,并使用有意义的名字.a,b,c,d也没有什么帮助.