有关C++Builder memo控件

shinerise 2015-01-27 09:51:09
各位大侠,cb的memo空间,收到 '\r'的时候默认不回车,只有收到'\r','\n'的时候才会回车。我得怎么设置memo控件,才能让他收到'\r'的时候回车显示呢?因为普通键盘按回车的时候,只发送了一个'\r'码啊。
...全文
316 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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才显示回车。
Borland C++Builder 5.0 (简介)   Borland C++Bilder 5.0是Interprise(Borland)公司推出的基于C++ 语言的快速应用程序开发(Rapid Application Development,RAD)工具,它是最先进的开发应用程序的组件思想和面向对象的高效语言C++融合的产物。C++Builder 充分利用了已经发展成熟的Delphi 的可视化组件库(Visual Component Library,VCL),吸收了Borland C++ 5.0 这个优秀编译器的诸多优点。C++Builder 结合了先进的基于组件的程序设计技术,成熟的可视化组件库和优秀编译器,调试器。发展到5.0版本,C++Builder 已经成为一个非常成熟的可视化应用程序开发工具,功能强大而且效率高。 C++Builder的特色: 1.C++Builder 是高性能的C++开发工具   C++Builder是基于C++的,它具有高速的编译,连接和执行速度。同时,C++Builder具有双编译器引擎,不仅可以编译C/C++程序,还能编译Object Pascal语言程序。 2.C++Builder是优秀的可视化应用程序开发工具   C++Builder是一完善的可视化应用程序开发工具,使程序员从繁重的代码编写中解放出来,使他们能将注意力重点放在程序的设计上,而不是简单的重复的劳动中。同时,它提供的完全可视的程序界面开发工具,从而使程序员对开发工具的学习周期大大缩短。 3.C++Builder具有强大的数据库应用程序开发功能   C++Builder 提供了强大的数据库处理功能,它使的程序员不用写一行代码就能开发出功能强大的数据库应用程序,这些主要依赖于C++Builder众多的数据库感知控件和底层的BDE数据库引擎。C++Builder除了支持MicroSoft的ADO(Active Data Object)数据库连接技术,还提供了一种自己开发的成熟的数据库连接技术——BDE(Borland Database Engine)数据库引擎。 4.C++Builder具有强大的网络编程能力 C++Builder具有众多的Internet应用程序开发控件,如WebBroker,CppWebBroswer,WinSocks等,它们基本含盖了Internet应用的全部功能,利用它们程序员可以方便地建立自己地Internet应用程序。

604

社区成员

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

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