LZ不是吧,是返回FALSE啊Dim a As Long a = 1234567 '现在要拿这个值跟一个十六进制的比较 If a = &H12D687 Then MsgBox "等于" End If
试过了,返回 False。
Declare Function CT_reset Lib "crwicc.dll" (ByVal fd As Long) As Long Dim a As Long a = CT_reset(hPort) MsgBox (a <> &H9000)单步调试的时候 a的值是36864 为什么跟&H9000做不等比较就是true呢
debug.print a <> &H12D687
谢谢了
我QQ26164060 MSN [email protected]我有太多搞不明白了
不过返回的是true呀
两个数是相等的
比较不等就返回true了
'现在要拿这个值跟一个十六进制的比较
If a = &H12D687 Then
MsgBox "等于"
End If
试过了,返回 False。
a = CT_reset(hPort)
MsgBox (a <> &H9000)单步调试的时候 a的值是36864 为什么跟&H9000做不等比较就是true呢
我QQ26164060 MSN [email protected]
哪为大仙有空了指导一下小弟吧,要因为vb疯掉了
我a=36864 转换成16进制就是9000啊
为什么做不等比较会返回true呢 两个数应该是相等的吧
&H9000 只要 2 个字节就了存储,用 Integer 类型,作为有符号整数,最高是符号位,所以 &H9000 = -28672。
a 作为 Long 类型,常量也应该用 Long 类型,加后缀 &,所以应该写成
MsgBox (a <> &H9000&)