VB6.0中“=”多重功能的用法

      VB6.0中“=”运算符参与多种运算: 赋值运算和比较运算。在实际应用中,怎么正确选择它们的用法呢?以下讨论这个问题。

      “=”运算符在独立表达式中为赋值符号,而在嵌套使用的非独立表达式中为比较符号。

 

      本例的关键代码如下:

‘=在独立表达式中为赋值符号

Private Sub Command1_Click()

   Dim a As Integer, b As Integer, c As Integer

   a = 3

   b = 2

   c = a > b

   Print c

   ‘结果为:-1  因a > b为True,自动转换为整数为-1

   ‘结论:通过比较,这里的=运算符,为赋值符号。

  

   a = 3

   b = 5

   c = a > b

   Print c

   ‘结果为:0

  

   Dim d As Variant

   a = 3

   b = 2

   d = a > b

   Print d

   ‘结果为:True

  

   a = 3

   b = 5

   d = a > b

   Print d

   ‘结果为:False

End Sub

 

‘=在非独立表达式中为比较符号

Private Sub Command4_Click()

   Dim a As Integer, b As Integer, c As Integer

   a = 3

   b = 2

  

   ‘1模块

   b = -1

   c = 3

   Print c = a = b

   ‘结果为:True

   ‘c = a为True,自动转换为整数为-1,-1 = b为True,故第3部分的结果为True

  

   ‘2模块

   b = 0

   c = 3

   Print c = a = b

   ‘结果为:False

   ‘c = a为True,自动转换为整数为-1,-1 = b为False,故第3部分的结果为False

  

   ‘1、2模块说明:True自动转换为整数为-1,而不是0

   

   

   ‘3模块

   b = 0

   c = 2

   Print c = a = b

   ‘结果为:True

   ‘c = a为False,自动转换为整数为0,0 = b为True,故第3部分的结果为True

  

   ‘4模块

   b = -1

   c = 2

   Print c = a = b

   ‘结果为:False

   ‘c = a为False,自动转换为整数为0,0=b为False,故第3部分的结果为False

  

   ‘3、4模块说明:False自动转换为整数为0,而不是-1

End Sub

VB6.0中“=”多重功能的用法

上一篇:异常工具 获取异常信息 log.setExceptionDetail(ThrowableUtil.getStackTrace(e));


下一篇:监听窗口大小