vb一维数组怎么转换成二维数组??

ediex 2006-12-12 01:46:21
已知一维数组adcdatarray,每12个数字放到二维数组adata(i+12,j)一行中,怎么解决?
...全文
546 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dunzip 2006-12-12
  • 打赏
  • 举报
回复
理论上用CopyMemory要快些,但没有去测试。一测便知。

ediex 2006-12-12
  • 打赏
  • 举报
回复
到底那个更快,我的数组 数据量比较大
gguueesstt 2006-12-12
  • 打赏
  • 举报
回复

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)


Private Sub Form_Load()
Dim m As Long
Dim adcdatarray(1 To 12 * 6) As Long

For m = 1 To UBound(adcdatarray)
adcdatarray(m) = m
Next m

Dim adata(1 To 12, 1 To 6) As Long
CopyMemory adata(1, 1), adcdatarray(1), UBound(adcdatarray) * Len(adcdatarray(1))
Debug.Print adata(1, 1), adata(2, 1)
Debug.Print adata(1, 2), adata(2, 2)
End Sub
tmd007 2006-12-12
  • 打赏
  • 举报
回复
Dim adcdatarray(20), adata(12, 10)
Private Sub Command1_Click()
Dim i, j
For i = 0 To 20: adcdatarray(i) = i: Next
For i = 0 To UBound(adcdatarray) Step 12
For j = 0 To 11
If j + i > UBound(adcdatarray) Then Exit For
adata(j, i \ 12) = adcdatarray(j + i)
Next
Next
For i = 0 To UBound(adcdatarray) \ 12
For j = 0 To 11
Print adata(j, i);
Next: Print
Next
End Sub

7,785

社区成员

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

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