double 发表于 2008-5-16 20:12:48

如何实现16进制数据的换行???

程序每隔一定时间就采集到一组16进制的数据,我用字符串显示控件来显示,但是前一个的数据都被后面的给覆盖了,我想就全部显示出来,有没有什么办法(已解决)

我本来想用回车符、换行符的,但是由于是16进制显示的,它显示成了0D、0A,并没有实现换行的功能,请大家指导了

[ 本帖最后由 double 于 2008-5-17 20:18 编辑 ]

wdyjz 发表于 2008-5-16 20:43:31

移位寄存器连接字符串
或者先保存到文本文件,隔一段时间再显示

cpubbs 发表于 2008-5-16 21:18:52

也可以看学习套件的实验3或4!里面有这部分的!
http://www.cpubbs.com/bbs/thread-54941-1-2.html

double 发表于 2008-5-16 23:46:13

嗯,谢谢啦,问题基本解决了,这论坛真好,是学习的地方

double 发表于 2008-5-17 16:33:50

现在又有点小问题啦,我的显示介面是分两块,一块是显示实时采集的数据,一块显示采集到的历史数据,现在问题有两个:
问题1:实时采集是每隔2秒采一次,界面能够马上显示出来,但是一下子就没有数据显示了,等采集到了下一次数据才又显示,在采集的时间段里显示控件是空白的,有没有什么办法让它在采集时间段里一直保持采集到的数据,等采集到了下次的数据时就才又显示采集到的数据?
问题2:在显示历史界面,它现在能够显示全部数据了,但是由于是16进制显示的,我不知道怎么让它自动换行,请问怎么解决?

double 发表于 2008-5-17 18:00:24

现在问题1已经解决了:victory: ,我把显示控件放在一个条件框里,以采集到的信号为条件,在没有信号时它还显示上次采集到的数据,等信号到来就显示到来的数据,方法都是从cpubbs大哥给的学习套件的实验3或4里学的,基本是一样的道理
现在还差问题2,我本来想用回车符、换行符的,但是由于是16进制显示的,它显示成了0D、0A,并没有实现换行的功能,请大家指导了

double 发表于 2008-5-18 14:28:57

自己顶一下,麻烦大家帮忙解决,谢谢

seahllgirl 发表于 2008-5-19 11:16:30

不太明白第二个问题啊?
我觉得字符串显示会自动换行啊

double 发表于 2008-5-19 11:58:22

是的,如果你显示控件是正常显示的话就会,但由于我现在是显示16进制的,换行符不实现换行功能,反而显示成了oaod的,你试试看就知道

double 发表于 2008-5-20 15:09:43

0400 017D 0402 0001 820D 0400 017D 0402 0001 830D 0400 017D 0402 0001 840D 0400 017D 0402 0001 850D 0400 017D 0402 0001 860D
这个就是我要采集显示的数据啦,其中这9个字节0400 017D 0402 0001 820D为一组,后面的0D是换行符转换成16进制的,不属于原数据,它就这样显示不能实现换行呢,我试过转换一下了,也不能实现,大家看看怎么搞好,我附上程序了

double 发表于 2008-5-20 19:03:53

那如果我想把采集到的0400 017D 0402 0001 82这组16进制数据以字符串形式完整的显示出0400 017D 0402 0001 820D,应该怎么转换

cpubbs 发表于 2008-5-20 21:30:10

将这些HEX DISPLAY形式的数据,转换成NORMAL DISPLAY形式下看到相同形式的内容,然后再用回车即可!相当于转换一下,但视觉上看到却是一样的,实际上是不同的!:handshake HEX DISPLAY形式下没有办法实现换行!

cpubbs 发表于 2008-5-20 21:30:28

这种情况下所有符号均会以HEX显示出来的!

cpubbs 发表于 2008-5-20 21:30:40

所以只能转换了再显示才行!

double 发表于 2008-5-22 13:23:57

我试过了,用论坛提供的转换程序,但是发现一个问题,就它不会全部显示出9个字节的数据,就只显示第一个,这是怎么回事啊,或者麻烦谁连一下图,发给我看看
页: [1] 2
查看完整版本: 如何实现16进制数据的换行???