> 其他 >
在vb中逻辑顺序是not>and>or>xor>eqr>imp如果我想先用OR然后再用AND这样有办法没呢?
我想写的是这样的一个
If (Combo2 < 5 Or comb2 > 4) And (Combo3 < 22 Or Combo3 > 19) Then
Text1.Text = "白羊座"
End If
本来是想在这两句间加一个括号的看看能不,结果是不能的!
人气:237 ℃ 时间:2020-05-18 16:05:50
解答
逻辑运算是完全可以加括号的,你的思路完全正确.我在vb中也是加括号编的,一点问题没有.应该是你的代码其他地方出了问题,请楼主自己检查一下,实在检查不出可以把你的代码粘过来并告诉我它报的是什么错,我们一起帮你看!Private Sub Command2_Click() If (Combo2 < 5 Or comb2 > 2) And (Combo3 < 22 Or Combo3 > 19) Then'本来是想在这里做一个星座的查询表的。结果这里的逻辑顺序是先or 后 Text1.Text = "白羊座" Else Text1.Text = "错误" End If End Sub前面就是用的 Additem这个函数为combo1 2 3添加的一些东西 如Combo3.AddItem 23首先,看看你这里面的comb2是不是应该是combo2。然后,告诉我vb它报的是什么错我才能告诉你哪里有问题。或者用汉语说一下你想实现的逻辑关系,我帮你写一下代码。是的,这个combo2是我打给你的时候打错,没报错的,就是实现的功能不符合我的想法。我想实现的是combo2=3或4并且combo3要在22与19之间才会在txet中输出这个字符。就是先让它们两个先与了再并。 对了,谢谢你肯定我。很少有人肯定过我的。谢谢。不用谢~按照你的汉语,代码是这样If (Val(Combo2.Text) = 3 Or Val(Combo2.Text) = 4) And Val(Combo3.Text) >= 19 And Val(Combo3.Text) <= 22 Then……End If没有问题的。我好像知道你的问题了,想要判断一个值介于两个数之间,中间要用And而不是Or。因为你想一下,And在数学中才表示 并集 的含义。你看,要想让19<=a<=22,那应该说“a大于等于19,且,a小于等于22”才对呀。
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版