众所周知C,C++中的struct结构体很好用,特别是在结构化数据封装网络传输、跨进程通信、数据交互上非常方便,Delphi中也有这个实现方法,叫record或者packet record,type record;
Delphi中的结构体定义及使用如下:
//定义结构体
type
PMsg = ^TMsg;
TMsg = record
FontName :string[20];
FontColor :Integer;
FontSize :Integer;
FontStyle :string[4];
Content :array[0..4096] of Char; //不能超过UDP包长
end;
//初始化(实例化)
procedure TForm1.btnSendClick(Sender: TObject);
var
Smsg:TMsg; //发送消息结构
begin
//....
Smsg.FontName:='宋体'
Smsg.XXX:=xxx;
....;
//取值则是:
XXX:=Smsg.FontName;
.....;
end;
//接收到的数据流直接可以传递给TMsg结构体,然后可以直接获取成员值
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
Rmsg:TMsg; //接收消息结构
OldCount:integer;
begin
AData.ReadBuffer(Rmsg,AData.Size);
//RichEdit1.SelStart:=MaxInt;
//RichEdit1.Para