菜鸟问题,如何将packed record 转换为字符串然后通过IdUDPServer1发出去

banchen 2008-07-26 11:35:16
这个包有固定的4个十六进制包头$FFFFFFFF 再加上'TSource Engine Query'长度共25
但是用 Self.IdUDPServer1.SendBuffer发送不了十六进制数据,只能发string 有办法让他转换为字符串吗?





type
TCSQueryPackage= packed record //size=25
Head:Dword; //一般设置为$FFFFFFFF /len=4
Data:array [0..20] of Char; //
end;



procedure TForm1.Button1Click(Sender: TObject);
Var
S : String;
CSQuery:TCSQueryPackage;
begin
CSQuery.Head:= $FFFFFFFF;
StrCopy(@CSQuery.Data[0],'TSource Engine Query');
Self.IdUDPServer1.SendBuffer('127.0.0.1',27015,@CSQuery,25);

end;

...全文
101 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
etomahawk 2008-07-26
  • 打赏
  • 举报
回复
Self.IdUDPServer1.SendBuffer('127.0.0.1',27015,PChar(@CSQuery), SizeOf(TCSQueryPackage));

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧