vb如何扩展一个相同数组
比如说我有一个byte数组buffer(7),里边有8个字节,现在想扩展成160位的数组buffer(159),储存20个相同b不断重复的buffer(7)的八字节数据,这个数组如何生成,考虑使用copymemory,但不知道怎么写?请高手指点。
假设我原先是DEAB000000000000 现在想存储DEAB000000000000DEAB000000000000DEAB000000000000...
[解决办法]
本帖最后由 bcrun 于 2012-12-21 10:59:55 编辑 除非你有特殊的需要,否则直接循环就可以了
For i = 0 To UBound(destarr)
destarr(i) = sourcearr(i Mod (UBound(sourcerr) + 1))
Next
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
Private Sub Demo()
Dim arrBufA(7) As Byte
Dim arrBufB(159) As Byte
Dim i&, pS&, pD&
' arrBufA() 元素赋值 略……
' --- 小数组反复填充大数组 -----
pS = VarPtr(arrBuf(0)) '小数组的数据区首址
pD = VarPtr(arrBufB(0)) '大数组的数据区首址
For i = 1 To 20
Call CopyMemory(pD, pS, 8)
pD = pD + 8 '被填充地址后移(8字节位置)
Next
End Sub