关于VB.net拼接协议指令的一点问题!

一笔画冬 2017-08-24 06:14:59
01 10 00 28 00 06 0C 03 E8 00 00 D8 F0 FF FF 56 28[/size]

这是一个模块的运动指令

我想在输入面板上输入一串10进制的数字,然后程序自动将输入的10进制数字转化为16进制的数字。

并且将转化完成的16进制数字替换到红色部分(03 E8)。

然后根据绿色部分之前的16进制数字计算出CRC校验码,替换到绿色部分(56 28)。

这样就完成了一个通讯协议指令


求大神帮帮忙,我是刚接触VB。net 有些东西还不懂,希望大家可以帮帮我 谢谢!谢谢!谢谢!
...全文
191 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一笔画冬 2017-08-25
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
转换逻辑就是这样
Dim s16 As String = "01 10 00 28 00 06 0C 03 E8 00 00 D8 F0 FF FF 56 28"
Dim s10 = String.Join(" ", s16.Split(" "c).Select(Function(x As String)
                                                        Return Convert.ToByte(x, 16).ToString
                                                    End Function).ToArray)
Dim s16_2 = String.Join(" ", s10.Split(" "c).Select(Function(x As String)
                                                        Return Convert.ToString(Byte.Parse(x), 16).ToString
                                                    End Function).ToArray)
首先感谢大神回复,我的意思是要把接受到的10进制数字:1,先转化为16进制 2,再将转化完的数替换在红色部分。感谢您的再次回复
  • 打赏
  • 举报
回复
转换逻辑就是这样
Dim s16 As String = "01 10 00 28 00 06 0C 03 E8 00 00 D8 F0 FF FF 56 28"
Dim s10 = String.Join(" ", s16.Split(" "c).Select(Function(x As String)
                                                        Return Convert.ToByte(x, 16).ToString
                                                    End Function).ToArray)
Dim s16_2 = String.Join(" ", s10.Split(" "c).Select(Function(x As String)
                                                        Return Convert.ToString(Byte.Parse(x), 16).ToString
                                                    End Function).ToArray)
一笔画冬 2017-08-24
  • 打赏
  • 举报
回复
然后就我提出的这个需求,这一段代码应该怎么写?我是实在黔驴技穷啊

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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