在vb中if check1.value and not check2.value then...... (其中check是复选按钮caption属性)?
我想问的是为什么这样编可以代表复选框1选中而2不选中?它等于ifcheck1.value=1andcheck2.value=0then......吗?...
我想问的是为什么这样编可以代表复选框1选中而2不选中?它等于if check1.value=1 and check2.value=0 then......吗?
展开
展开全部
对的
VB当中,对于逻辑值的规定:
0 为False
非0 为True
if check1.value and not check2.value then
所以当check1.value=1 ,check2.value=0 代入得到
if 1 and not 0 then
再把1转换成True,0转换成False得到
if True and not False then
即:
if True and True then
即:
if True then
VB当中,对于逻辑值的规定:
0 为False
非0 为True
if check1.value and not check2.value then
所以当check1.value=1 ,check2.value=0 代入得到
if 1 and not 0 then
再把1转换成True,0转换成False得到
if True and not False then
即:
if True and True then
即:
if True then
追问
就是说if check1.value 表示 value属性为1 not check2.value 表示value属性为0吗?
追答
不能这样理解:
应该这样理解:
if check1.value and not check2.value then
表示
当:check1.value为1 并且 check2.value为0 ,就......
注意:不是:not check2.value 为0 ,而是check2.value 为0,not check2.value就为1了。
这里说一个与你这个主题不是直接相关的问题: 涐吢铱旧囿儚 朋友提出了与我稍微不同的见解,他认为先进行的不是逻辑运算,应该是位运算,也就是说我的上一次的回答,在得到:
if 1 and not 0 then
后
先进行的是位运算,而不是我说的进行逻辑替换,即:
成为
if 1 and -1 then
再进行位运算为
if 1 then
最后转换为
if True then
或者最后这一步根本就不需要,对于:
if 1 then
VB就直接执行。
在这里作个说明,我也说不准了。
希望知道的专家,给以回答。
不过,无论是用他来解释还是用我的来解释,结果都相同。
if check1.value and not check2.value then
与
if check1.value=1 and not check2.value=0 then
的最终效果是相同的。
涐吢铱旧囿儚 朋友说的不无道理:
print 1 and 1的结果是1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询