VB 数据类型定义问题 (急!)

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:21:14
代码如下:
Private Sub Command1_Click()
If combo1.Text = "Y型连接" Then
For i = 1 To VSFlexGrid1.Cols - 1
a = Val(VSFlexGrid1.TextMatrix(1, i))
b = Val(VSFlexGrid1.TextMatrix(2, i))
c = Val(VSFlexGrid1.TextMatrix(3, i))
VSFlexGrid1.TextMatrix(4, i) = (a + b - c) / 2
VSFlexGrid1.TextMatrix(5, i) = (a + c - b) / 2
VSFlexGrid1.TextMatrix(6, i) = (b + c - a) / 2
Next i
For i = 1 To VSFlexGrid1.Rows - 1
For j = 1 To VSFlexGrid1.Cols - 1
If Val(VSFlexGrid1.TextMatrix(i, j)) = 0 Then VSFlexGrid1.TextMatrix(i, j) = ""
Next j
Next i
End If

If combo1.Text = "△型连接" And Combo2.Text = "a连y、b连z、c连x" Then
For i = 1 To VSFlexGrid1.Cols - 1
a = Val(VSFlexGrid1.TextMatrix(1, i))
b = Val(VSFlexGrid1.TextMatrix(2, i))
c = Val(VSFlexGrid1.TextMatrix(3, i))
p = (a + b + c) / 2

VSFlexGrid1.TextMatrix(4, i) = (b - p) - a * c / (b

If combo1.Text = "△型连接" And Combo2.Text = "a连y、b连z、c连x" Then
For i = 1 To VSFlexGrid1.Cols - 1
a = Val(VSFlexGrid1.TextMatrix(1, i))
b = Val(VSFlexGrid1.TextMatrix(2, i))
c = Val(VSFlexGrid1.TextMatrix(3, i))
p = (a + b + c) / 2
If b - p <> 0 then
VSFlexGrid1.TextMatrix(4, i) = (b - p) - a * c / (b - p)
End IF
If a - p <> 0 then
VSFlexGrid1.TextMatrix(5, i) = (a - p) - b * c / (a - p)
End IF If c - p <> 0 then
VSFlexGrid1.TextMatrix(6, i) = (c - p) - a * b / (c - p)
End IF
Next i
For i = 1 To VSFlexGrid1.Rows - 1
For j = 1 To VSFlexGrid1.Cols - 1
If Val(VSFlexGrid1.TextMatrix(i, j)) = 0 Then VSFlexGrid1.TextMatrix(i, j) = ""
Next j
Next i
End If
End sub

最好是能判断一下(b - p),(a - p), (c - p) 是否为0,如果为0,则 a * c / (b - p) 等直接替换为0,只有不为0的时候才自动参与运算。

"△型连接"的时候你最好用2边之和大于地三边,2边之差小于弟三边(三角形定义)判断是不是能组成这个"△型