

Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Private Type Struct
Num1 As Long
Num2 As Byte
End Type
Private Type NewStruct
Num1 As Long
Num2 As Byte
Num3 As Integer
End Type
Private Sub Form_Load()
Dim a As Struct, b As NewStruct
a.Num1 = 1
a.Num2 = 2
MsgBox "a.Num1=" & a.Num1 & vbCrLf & "a.Num2=" & a.Num2
CopyMemory b, a, Len(a)
MsgBox "b.Num1=" & b.Num1 & vbCrLf & "b.Num2=" & b.Num2
End Sub


BV писал(а):Неужели он и структуры присваивать умеет?






Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Type MyStruct
b As Byte
i As Integer
l As Long
End Type
Public Sub main()
Dim ms As MyStruct
Debug.Print Len(ms)
Debug.Print LenB(ms)
ms.b = &HFF
ms.i = &HAAAA
ms.l = &HBBBBBBBB
Dim b(0 To 7) As Byte
CopyMemory b(0), ms, 8
Dim i As Integer
For i = 0 To 7
Debug.Print "&H" & Hex(b(i))
Next i
End Sub







Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13