急! 大哥们帮忙 在线等

slxn 2003-08-25 08:42:49
vc源码如下:
lpbyteDataBuf[0] = (BYTE)((nCardNumber >> 16) & 0xFF);

lpbyteDataBuf[20]为BYTE
nCardNumber 为 int型



那位大哥帮帮我告诉如何改成vb语句!!!小弟在这谢谢了
...全文
26 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
slxn 2003-08-25
  • 打赏
  • 举报
回复
我马上验证! 先谢谢ch21st(风尘鸟)大哥了!!
道素 2003-08-25
  • 打赏
  • 举报
回复
看看这个对不对?
Dim lpbyteDataBuf() As Byte
Dim nCardNumber As Long

Public Enum dcShiftDirection
Left = -1
Right = 0
End Enum


Private Sub Form_Load()
ReDim lpbyteDataBuf(1) As Byte
lpbyteDataBuf(0) = CByte(RShift(nCardNumber, 16) And &HFF)
End Sub

Public Function Shift(ByVal lValue As Long, ByVal lNumberOfBitsToShift As Long, ByVal lDirectionToShift As dcShiftDirection) As Long
Const ksCallname As String = "Shift"
On Error GoTo Procedure_Error
Dim LShift As Long


If lDirectionToShift Then 'shift left
LShift = lValue * (2 ^ lNumberOfBitsToShift)
Else 'shift right
LShift = lValue \ (2 ^ lNumberOfBitsToShift)
End If

Procedure_Exit:
Shift = LShift
Exit Function

Procedure_Error:
Err.Raise Err.Number, ksCallname, Err.Description, Err.HelpFile, Err.HelpContext
Resume Procedure_Exit
End Function


Public Function LShift(ByVal lValue As Long, ByVal lNumberOfBitsToShift As Long) As Long
Const ksCallname As String = "LShift"
On Error GoTo Procedure_Error
LShift = Shift(lValue, lNumberOfBitsToShift, Left)

Procedure_Exit:
Exit Function

Procedure_Error:
Err.Raise Err.Number, ksCallname, Err.Description, Err.HelpFile, Err.HelpContext
Resume Procedure_Exit
End Function



Public Function RShift(ByVal lValue As Long, ByVal lNumberOfBitsToShift As Long) As Long
Const ksCallname As String = "RShift"
On Error GoTo Procedure_Error
RShift = Shift(lValue, lNumberOfBitsToShift, Right)

Procedure_Exit:
Exit Function

Procedure_Error:
Err.Raise Err.Number, ksCallname, Err.Description, Err.HelpFile, Err.HelpContext
Resume Procedure_Exit
End Function

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧