http://www.delphi2007.net/DelphiNetwork/html/delphi_20061213114706133.html
我用TIdUDPServer接收机器发来的数据,因为接收的数据都为16进制的,所以无法判断,请问我怎样才能将其转换为char或string型呢?
我在
procedure udpServerUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
事件中无法将TStream转换类型,用什么呢?TStringSteam、TMemoryStream还是什么,请帮忙看一下,谢谢了。
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
a:array of char;
s:string;
begin
SetLength(a,AData.Size);
AData.ReadBuffer(A[0],AData.Size);
s:=PChar(@A[0]);
end;
TMemoryStream 是内存流 TStringStream是字符窜流
一个是存入内存流里面 一个是存入字符窜的流里面~~
本文讨论了使用TIdUDPServer组件在Delphi中接收16进制数据并将其转换为字符串的方法。通过在UDPRead事件中利用TStream的ReadBuffer方法和PChar指针,成功实现了数据格式的转换。

被折叠的 条评论
为什么被折叠?



