如何VB转换C代码中的高字和低字

2008-02-23 06:55:48来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  当把C代码翻译到VB时,你经常会遇到高字和低字的操作,通常是把两个整型值合成一个长整型。当在C代码中使用了无符号整型,这最高一位是可以被设置的,因此简单的直接转换高字将会遇到困难。由于VB不支持无符号算术符,我们只好剥去这最高一位,在稍后再把它加回来,以避免溢出和错误的结果。(WXJ_Lake 译)

开始一个新工程,增添一个标准模块。把以下代码写入模块:
Start a new project then add a module. Add the following code to the module:

Public Property Get LoWord(ByRef lThis As Long) As Long
  LoWord = (lThis And &HFFFF&)
End Property

Public Property Let LoWord(ByRef lThis As Long, ByVal lLoWord As Long)
  lThis = lThis And Not &HFFFF& Or lLoWord
End Property

Public Property Get HiWord(ByRef lThis As Long) As Long
  If (lThis And &H80000000) = &H80000000 Then
    HiWord = ((lThis And &H7FFF0000) \ &H10000) Or &H8000&
  Else
    HiWord = (lThis And &HFFFF0000) \ &H10000
  End If
End Property

Public Property Let HiWord(ByRef lThis As Long, ByVal lHiWord As Long)
  If (lHiWord And &H8000&) = &H8000& Then
    lThis = lThis And Not &HFFFF0000 Or ((lHiWord And &H7FFF&) * &H10000) Or &H80000000
  Else
    lThis = lThis And Not &HFFFF0000 Or (lHiWord * &H10000)
  End If
End Property

上一篇: 一些字符串操作的问题和回答
下一篇: 怎样把VC 代码转换成VB代码

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何访问文本文件(1)----用Microsoft Jet 访问桌面数据库(三)

下一篇:非Access数据库在VB中的编程及应用