请问一下高人,在Delphi中StrPLCopy函数在VB中有没有对应的函数或解觉办法,非常感谢,即!!!!!!!!!!!
type KQSYDA=packed record
kh:Integer;
bh:array[0..7] of Char;
xm:array[0..7] of Char;
sr:Word;
end;
PKQSYDA=^KQSYDA;StrPLCopy(@(kqsy[2].bh),'A0002',8);
VB中怎么写非常感谢高人们
type KQSYDA=packed record
kh:Integer;
bh:array[0..7] of Char;
xm:array[0..7] of Char;
sr:Word;
end;
PKQSYDA=^KQSYDA;StrPLCopy(@(kqsy[2].bh),'A0002',8);
VB中怎么写非常感谢高人们
唯一麻烦的就是要搞清楚要操作的内存字节大小
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
用法:
CopyMemory 目标缓冲区,要复制的缓冲区,要复制的缓冲区大小
Private type KQSYDA
kh As Integer
bh(7) As Byte
xm(7) As Byte
sr As Integer
End TypeDim kqsy As KQSYDA
Dim TempByte() As Byte
TempByte=StrConv("A0002", vbFromUnicode)
Redim Preserve TempByte(8)
CopyMemory kqsy.bh(0),Byte(0),8
如果只是字符串可以这样写
Private type KQSYDA
kh As Integer
bh As String * 8
xm As String * 8
sr As Integer
End Type
Dim kqsy As KQSYDA
kqsy.bh = "A0002"
kqsy[2].bh
可以这样
CopyMemory kqsy.bh(2),Byte(0), 5
Dim TempByte() As Byte
TempByte=StrConv("A0002", vbFromUnicode)
Redim Preserve TempByte(8)
Redim kqsy(2)
CopyMemory kqsy(2).bh(0),TempByte(0), 8