首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb怎么扩展一个相同数组

2013-01-08 
vb如何扩展一个相同数组比如说我有一个byte数组buffer(7),里边有8个字节,现在想扩展成160位的数组buffer(1

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

热点排行