有关C++Builder memo控件

shinerise 2015-01-27 09:51:09
各位大侠,cb的memo空间,收到 '\r'的时候默认不回车,只有收到'\r','\n'的时候才会回车。我得怎么设置memo控件,才能让他收到'\r'的时候回车显示呢?因为普通键盘按回车的时候,只发送了一个'\r'码啊。
...全文
306 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不懂电脑 2015-02-02
  • 打赏
  • 举报
回复
xe7 的firemonk程序统一了各平台下处理方式用firemonk建立的Memo处理\r正常。
ccrun.com 2015-01-29
  • 打赏
  • 举报
回复
引用 8 楼 shinerise 的回复:
这样的确可以将\r替换成\r\n,让memo回车。但是如果接收的数据有\r\n,那么这样替换后就成了\r\n\n。这样就会改变接收的字符了。 所以我只是想让memo无论收到\r还是\r\n都回车。
你把你修改后的代码发上来看看。
bigfog 2015-01-28
  • 打赏
  • 举报
回复
你可以先把‘\r'替换成'\n'再赋值给memo不就行了
shinerise 2015-01-28
  • 打赏
  • 举报
回复
引用 7 楼 ccrun 的回复:
[quote=引用 5 楼 shinerise 的回复:] 代码其实很简单,当初还是咨询你得到的答复呢: AnsiString strRx; strRx = mmoCom2Rx->Text; strRx += pucBuffer; mmoCom2Rx->Text = strRx; 其中pucBuffer是COM口接收到的数据流。数据流里,回车只是一个\r,数据添加到memo里,我希望能换行显示。
AnsiString strRx = pucBuffer;
strRx = StringReplace(strRx, TEXT("\r\n"), TEXT("\r"), TReplaceFlags() << rfReplaceAll);
strRx = StringReplace(strRx, TEXT("\r"), TEXT("\r\n"), TReplaceFlags() << rfReplaceAll);

mmoCom2Rx->Text += strRx;
[/quote] 这样的确可以将\r替换成\r\n,让memo回车。但是如果接收的数据有\r\n,那么这样替换后就成了\r\n\n。这样就会改变接收的字符了。 所以我只是想让memo无论收到\r还是\r\n都回车。
ccrun.com 2015-01-28
  • 打赏
  • 举报
回复
引用 5 楼 shinerise 的回复:
代码其实很简单,当初还是咨询你得到的答复呢: AnsiString strRx; strRx = mmoCom2Rx->Text; strRx += pucBuffer; mmoCom2Rx->Text = strRx; 其中pucBuffer是COM口接收到的数据流。数据流里,回车只是一个\r,数据添加到memo里,我希望能换行显示。
AnsiString strRx = pucBuffer;
strRx = StringReplace(strRx, TEXT("\r\n"), TEXT("\r"), TReplaceFlags() << rfReplaceAll);
strRx = StringReplace(strRx, TEXT("\r"), TEXT("\r\n"), TReplaceFlags() << rfReplaceAll);

mmoCom2Rx->Text += strRx;
hyz_cs 2015-01-28
  • 打赏
  • 举报
回复
你把数据流里面的\r换成\n不就可以了,或者直接替换成\r\n
shinerise 2015-01-28
  • 打赏
  • 举报
回复
引用 3 楼 ccrun 的回复:
[quote=引用 2 楼 shinerise 的回复:] 我的场景是memo实时显示串口接收的数据。串口收到\r后,会append到memo里。我想实现的就是memo添加了\r后,能回车显示。而不是非得收到\r\n才显示回车。
你把添加数据到Memo中的代码写出来我看看。[/quote] 代码其实很简单,当初还是咨询你得到的答复呢: AnsiString strRx; strRx = mmoCom2Rx->Text; strRx += pucBuffer; mmoCom2Rx->Text = strRx; 其中pucBuffer是COM口接收到的数据流。数据流里,回车只是一个\r,数据添加到memo里,我希望能换行显示。
ccrun.com 2015-01-27
  • 打赏
  • 举报
回复
\r 是回车 \n 是换行 你想实现啥?
ccrun.com 2015-01-27
  • 打赏
  • 举报
回复
引用 2 楼 shinerise 的回复:
我的场景是memo实时显示串口接收的数据。串口收到\r后,会append到memo里。我想实现的就是memo添加了\r后,能回车显示。而不是非得收到\r\n才显示回车。
你把添加数据到Memo中的代码写出来我看看。
shinerise 2015-01-27
  • 打赏
  • 举报
回复
引用 1 楼 ccrun 的回复:
\r 是回车 \n 是换行 你想实现啥?
我的场景是memo实时显示串口接收的数据。串口收到\r后,会append到memo里。我想实现的就是memo添加了\r后,能回车显示。而不是非得收到\r\n才显示回车。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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