Type
TDataFormat = packed record
Head:Byte;
SerNumber:Byte;
StreamLen:array[0..1] of byte;
stream:array [0..512] of char;
end;
var
MyStream: TMemoryStream;
Tmpstr1:TDataFormat;
...
with TmpStr do
begin
Head:=$30;
SerNumber:=FrameSeq+1;
streamlen[0]:=0;
StreamLen[1]:=Length(str);
for i:=0 to Length(str)-1 do
Stream:=(str[i+1]);
end;
MyStream:=TMemoryStream.Create;
try
MyStream.Write(TmpStr, sizeof(TDataFormat));
LoginUDP.SendStream(Mystream);
finally
MyStream.Free;
end;
方法2,用SendBuf:
Type
pData= ^TDataFormat;
TDataFormat=packed record
a:Byte;
b:Byte;
c:array[0..1] of byte;
d:array [0..511] of char;
end;