|
AsmCodeByte = Array( _
&H55, &H8B, &HEC, &H83, &HEC, &H44, &H53, &H56, _
&H57, &H8B, &H45, &H8, &H8B, &H4D, &HC, &HD3, _
&HE8, &H5F, &H5E, &H5B, &H8B, &HE5, &H5D, &HC3)
For i = 0 To 23
BitRight32Code(i) = AsmCodeByte(i)
Next
SHR32Addr = VarPtr(BitRight32Code(0))
AsmCodeByte = Array( _
&H55, &H8B, &HEC, &H83, &HEC, &H44, &H53, &H56, _
&H57, &H8B, &H45, &H8, &H8B, &H4D, &HC, &HD3, _
&HE0, &H5F, &H5E, &H5B, &H8B, &HE5, &H5D, &HC3)
For i = 0 To 23
BitLeft32Code(i) = AsmCodeByte(i)
Next
SHL32Addr = VarPtr(BitLeft32Code(0))
With m_SA1DLong
.cDims = 1
.fFeatures = 17
.cbElements = 2
.clocks = 0
.pvData = VarPtr(m_lSharedLong) ''''使数组的数据指针指向长整形变量m_lSharedLong
.cElements = 2
.Lbound = 0
End With
''''使数组变量(其实就是个指针)指向我们自己创建的 SafeArray1d 结构
CopyMemory ByVal VarPtrArray(m_aiIntsInLong), VarPtr(m_SA1DLong), 4
With m_SA1DInt
.cDims = 1
.fFeatures = 17
.cbElements = 1
.clocks = 0
.pvData = VarPtr(m_lSharedInt) ''''使数组的数据指针指向长整形变量m_lSharedLong
.cElements = 2
.Lbound = 0
End With
CopyMemory ByVal VarPtrArray(m_aiBytesInInt), VarPtr(m_SA1DInt), 4
End Sub
'''' 在位操作运算完成后一个要调用此函数
''''释放资源,程序结束前一定要调用
Public Sub BitOperatorEnd()
''''把数组变量(其实就是个指针)指向 0,既 C 语言中的 NULL
CopyMemory ByVal VarPtrArray(m_aiIntsInLong), 0&, 4
CopyMemory ByVal VarPtrArray(m_aiBytesInInt), 0&, 4
End Sub
''''///////////////////////////////////////////////////////////////////////////
''''取高位整型最快的版本
Public Function HiWordFastest(ByRef Num As Long) As Integer
m_lSharedLong = Num
HiWordFastest = m_aiIntsInLong(1)
End Function
''''取低位整型最快的版本
Public Function LoWordFastest(ByRef Num As Long) As Integer
m_lSharedLong = Num
LoWordFastest = m_aiIntsInLong(0)
End Function
''''取高位Byte最快的版本
Public Function HiByteFastest(ByRef Num As Integer) As Integer
m_lSharedInt = Num
HiByteFastest = m_aiBytesInInt(1)
End Function
''''取低位整型最快的版本
Public Function LoByteFastest(ByRef Num As Integer) As Integer
m_lSharedInt = Num
LoByteFastest = m_aiBytesInInt(0)
End Function
''''///////////////////////////////////////////////////////////////////////////
''''位测试 ,测试位为1 返回真
Public Function BitTest32(Number As Long, Bit As Long) As Boolean
If Number And BitPower(Bit) Then
BitTest32 = True
Else
BitTest32 = False
End If
End Function
上一页 [1] [2] [3] 下一页 [VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用 [办公软件]PowerPoint做交互课件之弃用VBA [办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址 [办公软件]VBA设置文件属性及加密源代码示例 [办公软件]VBA中初始化ADO连接的几种方法 [网络安全]“VB破坏者变种N”病毒摘要 [Web开发]ASP.NET上传文件到数据库VB版 [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值… [办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表… [办公软件]Excel编程基础之VBA文件操作详解
|