快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

vb点虐 数组复制 vba数组复制到另一个数组

VB6 使用copymemory直接复制数组

CopyMemory()函数功能描述:将一块内存的数据从一个位置复制到另一个位置。

创新互联主营沁水网站建设的网络公司,主营网站建设方案,app开发定制,沁水h5微信小程序开发搭建,沁水网站营销推广欢迎沁水等地区企业咨询

函数原型

VOID CopyMemory(PVOID Destination,CONST VOID *Source,SIZE_T Length);

参数

Destination要复制内存块的目的地址。

Source要复制内存块的源地址。

Length指定要复制内存块的大小,单位为字节

返回值该函数为VOID型,没有返回值。

备注如果目的块与源块有交叠,结果是不可预料的,使用MoveMemory可以解决这个问题。

注意一点CopyMemory和MoveMemory不过是RtlMoveMemory的一个别名而已

示例代码段

char szname[50]="阵雨";

char szfriend[]="polelf,oo";

CopyMemory(szname+4,szfriend,10);

OutputDebugString(szname);//输出结果为"阵雨polelf,oo"

vb6的声明:

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

VB.NET 如何将ListBox列表框的所有项复制到一个数组中,便于排序?谢谢解答

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim ListboxTotalItem As Integer = ListBox1.Items.Count - 1

Dim a(ListboxTotalItem) As String

For i As Integer = 0 To ListboxTotalItem

a(i) = i

Next

Label1.Text = a(5)

End Sub

End Class

-------------

一个Form1

一个Label1

一个Listbox1

一个Button1

在Listbox1中加入10个值

-------------

只是一个演示,其他的要靠自己。

vba中:如何将一个数组的一串元素复制给另外一个数组

vb里面没有这样的函数,CopyMemory是可以的,看看下面的实例

vb6在我机子上用下面数据测试 时间差20倍左右,十万个数据就可以看出来了,我用的是一百万

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Command1_Click()

Dim arrA() As Long

Dim arrB() As Long

ReDim arrA(1 To 1000000)

ReDim arrB(2 To 1000000)

For i = 1 To 1000000

arrA(i) = i

Next i

'取得开机至今的毫秒数

T = GetTickCount

For i = 2 To 1000000

arrB(i) = arrA(i)

Next

MsgBox "用时" + Str$(GetTickCount - T) + "毫秒"

'我的机子用时200毫秒左右,机子老古董了比较慢不要见笑

ReDim arrB(2 To 1000000) '注意这行已经清空了上面的赋值

T = GetTickCount

CopyMemory arrB(2), arrA(2), LenB(arrA(1)) * 999999

MsgBox "用时" + Str$(GetTickCount - T) + "毫秒"

'我的机子用时10毫秒左右

'看看最后一个数据对不对

MsgBox arrB(1000000)

End Sub


标题名称:vb点虐 数组复制 vba数组复制到另一个数组
链接分享:http://6mz.cn/article/ddgedpd.html

其他资讯