定义结构体阿,如果前20字节传送的是一个字符串,后20个每个字节代表一个意思(例如20个设备参数的告警情况),那么你就定义这么一个结构体
DataStruct = record
name:array[1..20] of char;
alarm:array[1..20] of byte;
end;
然后在程序中这么做
procedure TForm2.IdUDPServer1UDPRead(Sender: TObject; AData:
TStream;
const APeerIP: String; const APeerPort: Integer);
var
buff[0..1023] of char
RCVBuff:^DataStruct;//指向结构体的指针
begin
AData.Read(Buf,AData.Size);
RCVBuffer:=@buf[0];
showmessage(RCVBuffer^.name);
case RCVBuffer^.alarm[1] of
.......