delphi编辑的memo问题

delphi小白 2018-04-30 05:18:42
1.在memo的文本中出现在关键字'G' 后的数字不是00-99这个范围内的整数的话(个位数字前面要有0)提示出现错误
例如在memo的文本中出现G100,就会显示出现错误。
2.在memo文本的同一行同时出现G00和G01,显示出现错误。
3.在一行中,G01后不能出现R,I,J,K四个字母。
...全文
1802 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
天行归来 2018-05-02
  • 打赏
  • 举报
回复
可以用正则,代码更精简。 第三方正则组件: SuperObject
xiaocongzhi 2018-05-02
  • 打赏
  • 举报
回复
Memo的内容自己按行处理;或者用正则表达式
  • 打赏
  • 举报
回复
从XE开始,RTL就有内置的正则表达式支持,在System.RegularExpressions单元。
liups 2018-05-02
  • 打赏
  • 举报
回复
同意7楼,先取每一行,然后使用正则表达式处理
delphi小白 2018-05-01
  • 打赏
  • 举报
回复
引用 2 楼 nebula845026 的回复:
你是要解析G代码吗? Memo中针对每一行做处理 但是你的第一条需求有问题,'G'后面的字符如果出现其他字符如何处理,比如其他英文字符,还是G后面只能跟两位数字 其他的需求2,3倒是好处理,2 的话就直接在该行字符串里查找"G01","G00",通过查找结果来判断是否错误 3 的话先判断是否有G01,如果有的话获取G01后面的字符串,然后判断RIJK是否在里面即可
谢谢,是解析G代码,做的是对编辑好的文本进行检查错误处理。 第一点 我是想 ‘G’字母后出现的不是指定范围内的字符就会提醒错误,不管是英文还是不在范围内数字(但要在第二个关键字之前的内容里) 第二点,请问如何在同一行同时查找两个不同字符串?用什么函数? 第三点是用pos函数吗? 谢谢
lyhoo163 2018-05-01
  • 打赏
  • 举报
回复
比较好的办|去是循环搜索。
nebula845026 2018-04-30
  • 打赏
  • 举报
回复
你是要解析G代码吗? Memo中针对每一行做处理 但是你的第一条需求有问题,'G'后面的字符如果出现其他字符如何处理,比如其他英文字符,还是G后面只能跟两位数字 其他的需求2,3倒是好处理,2 的话就直接在该行字符串里查找"G01","G00",通过查找结果来判断是否错误 3 的话先判断是否有G01,如果有的话获取G01后面的字符串,然后判断RIJK是否在里面即可

16,748

社区成员

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

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