请教关于record记录集里面的16进制字符数组如何转换成string的问题,谢谢(50分)

  • 主题发起人 主题发起人 kpcbk
  • 开始时间 开始时间
K

kpcbk

Unregistered / Unconfirmed
GUEST, unregistred user!
你好,请教下各位,情况是这样的:

我有一个这样的记录集
type //用户数据结构
ModemDataStruct=record
m_modemId:Cardinal; // Modem模块的ID号
m_recv_time:cardinal; //接收到数据包的时间
[red] m_data_buf:array[0..1450] of Char; //存储接收到的数据[/red]
m_data_len:word; //接收到的数据包长度
m_data_type:Byte; //接收到的数据包类型,
end;
请教下,这个数据集里面的m_data_buf:array[0..1450] of Char里面的数据是16进制的,是16进制的字符来的,现在我要怎样才能把它显示在edit上啊,谢谢
 
SetString(S, data.m_data_buf, data.m_data_len);
Edit1.Text := S;
or
SetLength(S, data.m_data_len * 2);
HexToBin(PChar(S), data.m_data_buf, data.m_data_len);
Edit1.Text := S;
 
用strcopy试试
 
strcopy遇#0结束, #0后面的数据如何了?
 
是啊,现在就是遇到$00 的时候,字符自动截断了啊,好郁闷,还请指教,谢谢
 
你们好,因为我也在CSDN提问了,具体的帖子是这样啊,希望哪里说得明白一点,谢谢
http://topic.csdn.net/u/20081226/16/3a7ce325-7c94-4e9d-b703-d34e6a43f9f9.html
 
555,继续求助中。。。
 
后退
顶部