CopyMemory()函數(shù)功能描述:將一塊內(nèi)存的數(shù)據(jù)從一個位置復(fù)制到另一個位置。
目前成都創(chuàng)新互聯(lián)公司已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、蚌山網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
函數(shù)原型
VOID CopyMemory(PVOID Destination,CONST VOID *Source,SIZE_T Length);
參數(shù)
Destination要復(fù)制內(nèi)存塊的目的地址。
Source要復(fù)制內(nèi)存塊的源地址。
Length指定要復(fù)制內(nèi)存塊的大小,單位為字節(jié)
返回值該函數(shù)為VOID型,沒有返回值。
備注如果目的塊與源塊有交疊,結(jié)果是不可預(yù)料的,使用MoveMemory可以解決這個問題。
注意一點(diǎn)CopyMemory和MoveMemory不過是RtlMoveMemory的一個別名而已
示例代碼段
char szname[50]="陣雨";
char szfriend[]="polelf,oo";
CopyMemory(szname+4,szfriend,10);
OutputDebugString(szname);//輸出結(jié)果為"陣雨polelf,oo"
vb6的聲明:
Private Declare Sub CopyMemory Lib "kernel32" Alias"RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length AsLong)
vb里面沒有這樣的函數(shù),CopyMemory是可以的,看看下面的實(shí)例
vb6在我機(jī)子上用下面數(shù)據(jù)測試 時間差20倍左右,十萬個數(shù)據(jù)就可以看出來了,我用的是一百萬
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
'取得開機(jī)至今的毫秒數(shù)
T = GetTickCount
For i = 2 To 1000000
arrB(i) = arrA(i)
Next
MsgBox "用時" + Str$(GetTickCount - T) + "毫秒"
'我的機(jī)子用時200毫秒左右,機(jī)子老古董了比較慢不要見笑
ReDim arrB(2 To 1000000) '注意這行已經(jīng)清空了上面的賦值
T = GetTickCount
CopyMemory arrB(2), arrA(2), LenB(arrA(1)) * 999999
MsgBox "用時" + Str$(GetTickCount - T) + "毫秒"
'我的機(jī)子用時10毫秒左右
'看看最后一個數(shù)據(jù)對不對
MsgBox arrB(1000000)
End Sub
你這個Text()()是一個二維數(shù)組?
將數(shù)字直接定義成text box類型,并將己所添加的textbox實(shí)例復(fù)制給數(shù)組的相關(guān)項,這樣就能通過數(shù)組的形式訪問了。。。
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個值
-------------
只是一個演示,其他的要靠自己。