我找不到这程序(vb的一个程序)错在哪儿的,大家帮忙看下嘛 谢谢啊!

来源:百度知道 编辑:UC知道 时间:2024/06/03 23:09:14
Private Sub Command1_Click()
Dim z, H As Single
Dim n As Integer
Dim x As Single
Dim a As Single
a = Array(0, 0.017, 0.064, 0.136, 0.229, 0.339, 0.46, 0.591, 0.725, 0.863, 1)

H = Text1.Text
n = Text2.Text
z = Text3.Text

If z >= 0 And z < H / n Then x = z * a(1)
ElseIf z >= H / n And z < 2 * H / n Then x = a(2) + (z - H / n) * (a(2) - a(1))
ElseIf z >= 2 * H / n And z < 3 * H / n Then x = a(3) + (z - 2 * H / n) * (a(3) - a(2))
ElseIf z >= 3 * H / n And z < 4 * H / n Then x = a(4) + (z - 3 * H / n) * (a(4) - a(3))
ElseIf z >= 4 * H / n And z < 5 * H / n Then x = a(5) + (z - 4 * H / n) * (a(5) - a(4))
ElseIf z >= 5 * H / n And z < 6 * H / n Then x = a(6) + (z - 5 * H / n) * (a(6) - a(5))
ElseIf z >= 6 * H / n And z < 7 * H / n Then x = a(7) + (z - 6 * H / n) * (a(7) - a(6))
ElseIf z >= 7 * H / n And z < 8 * H / n Then x = a(8) + (z - 7 * H / n) * (a(8

如果text文本框有一个为空或者不为数字就会报错。
解决方法:
双击你的文本框得到一个叫_TextChanged 的方法,在这个方法体内做一个判断如:
if text1.text <> "" and IsNumeric (text1.text) then
H =cint( Text1.Text )
endif
以下两个一个样的处理
n = Text2.Text
z = Text3.Text

Private Sub Command1_Click()
Dim z, H As Single
Dim n As Integer
Dim x As Single
Dim a
a = Array(0, 0.017, 0.064, 0.136, 0.229, 0.339, 0.46, 0.591, 0.725, 0.863, 1)

H = Text1.Text
n = Text2.Text
z = Text3.Text

If z >= 0 And z < H / n Then
x = z * a(1)
ElseIf z >= H / n And z < 2 * H / n Then
x = a(2) + (z - H / n) * (a(2) - a(1))
ElseIf z >= 2 * H / n And z < 3 * H / n Then
x = a(3) + (z - 2 * H / n) * (a(3) - a(2))
ElseIf z >= 3 * H / n And z < 4 * H / n Then
x = a(4) + (z - 3 * H / n) * (a(4) - a(3))
ElseIf z >= 4 * H / n And z < 5 * H / n Then
x = a(5) + (z - 4 * H / n) * (a(5) - a(4))
Els