关于Memo中字符串的问题!

tibet 2000-06-12 09:03:00
我想通过Pos(chr(13),Memo1.Lines[IntRow])来获取任意一行回车符的位置,但是得到的值始终是0,为什么?不知哪位大侠另有高见,请指教!
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LaoZheng 2000-06-22
  • 打赏
  • 举报
回复
获取任意一行回车符的位置=length(memo1.lines[introw])
7030 2000-06-22
  • 打赏
  • 举报
回复
我用的是如下方法,就不会为0了:
pos('#$D#$A',memo1.lines[introw])
H999 2000-06-21
  • 打赏
  • 举报
回复
Pos(chr(13),Memo1.Lines[IntRow])为0,
是因为Memo1.Lines[IntRow]中本来就没有chr(13).
Memo1.Lines 属于 Tstrings 类,
而每一行strings[row]中,不可能有chr(13),
因为chr(13),是它的行结束标志之一。
memo1.lines[row]是没有chr(13)的。

pos(chr(13),memo1.text)能找到#13的位置.
用stream也可以。
fzm2000 2000-06-21
  • 打赏
  • 举报
回复
zyc说得对,另外还可以用Stream实现。
ocean_boy 2000-06-13
  • 打赏
  • 举报
回复
得到值为0的原因是没有找到,应该用这条语句Pos(chr(#13),Memo1.Lines[IntRow])
hhzh426 2000-06-13
  • 打赏
  • 举报
回复
用pos(chr(13),memo1.text)可以得到memo1中的换行符,memo中并没有所谓的软回车,每输入一个回车符就表示增加一段,也就是lines.count加1
zyc 2000-06-12
  • 打赏
  • 举报
回复
我不知道你要找回车符来干吗. 在Delphi中, 碰到回车符就认为是换行, 所以你以取出一行的办法, 取也的字符串中是不包含回车符的, 也就你写的语句返回值为0的原因.
其实, 要知道Memo中的回车符的位置不难, 有几种办法可行:
1.将整个的memo作为一个字串来看待, 然后再在里面查找回车就可以啦.
2.每一行行的长度加2就是回车符的位置.

5,386

社区成员

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

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