急。帮我看下这个问题

andyzhou1101 2011-07-20 03:52:46
给串口发送数据

比如
s := #$08+#$f7+#$01+#$03+#$03+#$07;

如果我要发送变量,即上面的命令中某个16进制字符是通过变量转变的出来的

var
i:integer;

i应该怎么写,才能有#$08这样的效果。

...全文
200 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinoalex 2011-07-21
  • 打赏
  • 举报
回复
上面早有答案了.. CHR就是了..

var
s1,s2: string;
begin
s1 := #$08+#$f7+#$01+#$03+#$03+#$07;
showmessage(s1);
s2:= chr(8)+chr(247)+chr(1)+chr(3)+chr(3)+chr(7);
showmessage(s2);
end;

都是显示同样的东西
haitao 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sundayzhao 的回复:]
s:=chr(8)就和#$08一样了。

#$08+#$f7+#$01+#$03+#$03+#$07

上述语句可以表示为
s:=chr(8)+chr(247)+chr(1)+chr(3)+chr(7)就可以了。
[/Quote]

如果发送的二进制数据,应该就是这样写
浩南_哥 2011-07-20
  • 打赏
  • 举报
回复
没搞明白你要发送数据的格式。没有例子吗?
andyzhou1101 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 rouqing 的回复:]
用串口调试工具先调试一下,看下数据是否正确
[/Quote]

都不知道怎么表示变量字符。怎么测试
andyzhou1101 2011-07-20
  • 打赏
  • 举报
回复
高手解决下。分不是问题。
andyzhou1101 2011-07-20
  • 打赏
  • 举报
回复
我的 s := #$08+#$f7+#$01+#$03+#$03+#$07;

中 #$是没引号的

加不加引号都没用 ,奇了怪了 到底该怎么表示
纯冰糖 2011-07-20
  • 打赏
  • 举报
回复
用串口调试工具先调试一下,看下数据是否正确
beiguofengguang 2011-07-20
  • 打赏
  • 举报
回复
不可能没用吧,感觉s:='#$'+IntToHex(i,2);这样就行
andyzhou1101 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 m617105 的回复:]
Delphi(Pascal) code

s:='#$'+IntToHex(i,2);
[/Quote]

不好意思 这个没有用 我之前就这么做的
andyzhou1101 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 m617105 的回复:]
Delphi(Pascal) code

s:='#$'+IntToHex(i,2);
[/Quote]

不好意思 这个没有用 我之前就这么做的
sundayzhao 2011-07-20
  • 打赏
  • 举报
回复
s:=chr(8)就和#$08一样了。

#$08+#$f7+#$01+#$03+#$03+#$07

上述语句可以表示为
s:=chr(8)+chr(247)+chr(1)+chr(3)+chr(7)就可以了。
纯冰糖 2011-07-20
  • 打赏
  • 举报
回复

procedure TForm1.BitBtn57Click(Sender: TObject);
var
s:string;
begin
s:='#$'+sysUtils.IntToHex(10,2);
Caption:=s;
end;
bdmh 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 m617105 的回复:]
Delphi(Pascal) code

s:='#$'+IntToHex(i,2);
[/Quote]
+1
浩南_哥 2011-07-20
  • 打赏
  • 举报
回复

s:='#$'+IntToHex(i,2);

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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