spcomm中如何发送接受double的数据?

k4y123 2005-08-04 06:05:23
spcomm控件接受到一组数据,
rbuf,sbuf:array[1..20] of byte;
move(buffer^,pchar(@rbuf)^,bufferlength);
举例:
rbuf[1]='EF';
rbuf[2]='3A';
rbuf[3]='3D';
rbuf[4]='23';
......
那么我如何将他们转化为double类型的数据???
...全文
139 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu9527 2005-12-26
  • 打赏
  • 举报
回复
var
d:double;//8 个字节
buf:array[1..8] of byte absolute d;
begin
buf[1]=$EF;
buf[2]=$3A;
buf[3]=$3D;
buf[4]=$23; //同理

showmessage(formatfloat('%0.00f',d);
end;
小呆之家 2005-08-05
  • 打赏
  • 举报
回复
var
i:integer;
s:string;
d:double;

s:='';
for i:=0 to length(rbuff)-1 do
s:=s+char(rbuff[i]);
showmessage(s);
d:=strtofloat(s);
kenmnb2000 2005-08-05
  • 打赏
  • 举报
回复
强制类型转换
k4y123 2005-08-05
  • 打赏
  • 举报
回复
发送是double类型的数据,也就是这4个是一个数据,我怎么把它们转化为double;
rbuf[1]='EF';
rbuf[2]='3A';
rbuf[3]='3D';
rbuf[4]='23';
明白我的意思没有???????
qi7 2005-08-05
  • 打赏
  • 举报
回复
ASingle : single;
Move(rbuf[1],ASingle,4);
cjf1009 2005-08-05
  • 打赏
  • 举报
回复
16进制转ascii码?
chr(strtoint('$' + rbuf[1]))

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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