我现在是希望往一个edit中输入数据,然后这个数据从串口发送出去,对方收到的也是负数,请问怎么实现?
也就是我在我的上位机上的edit中输入-1,然后通过232串口发送出去,对方下位机收到的也是-1
发送数据时统一采用转化为16进制发送。
也就是我在我的上位机上的edit中输入-1,然后通过232串口发送出去,对方下位机收到的也是-1
发送数据时统一采用转化为16进制发送。
解决方案 »
- 用户权限管理,使用actionlist和applicationevents来实现?
- 菜鸟再问一个关系数据库记录复制的问题!
- 关于Delphi 2005的程序开发
- 如何实现TreeView节点的Hint效果?
- 如何得到OCX的版本号
- 在程序中弹出一个窗口(FORM注入)问题请教(大富翁上放了两天没人回)
- 110,急啊,要出报告给出高校的人事,财务,物资软件的结构、模块。。。,我没做过啊
- 请问怎样删除已经安装的组件?谢谢,急~急~~急~~~
- 请问GUAGE的用法
- 请问DELPHI 是否也有象VB一样的插件(ADDIN)?
- delphi编译的程序窗体左上角图标如何更改?
- dxdbtreelist 如何作到 双击时不展开也不合并
a : Byte;
b : Shortint;
begin
a := $FF;
b := a;
ShowMessage (IntToStr(b));
end;
以楼主的需求为例,楼主的数据是在一个编辑框中,所以有可能用户输入的值是0~255的数,这时可以使用Byte类型来表示,如果用户输入的是-128~127的数,也能使用Byte型表示,但在转换为实际值的时候,就必须进行补码的反运算了,当然用户的输入范围不同,有可能使用shortint,word,integer,long等等,
现在的问题是:不能确定用户的输入范围,所以可以取一个最大可能的值(比如用户不可能输入超过Max(Integer)的值,则可以使用Integer值来存储数据,但是Integer是4个字节,通讯发送是一个字节一个字节的发,只能把Integer的四个字节按一定的顺序逐一发送,接收方收取后再按发送顺序排列好,将其编码到一个Integer类型的变量中,这样就完成了通讯过程。