TStringlist.count 一个奇怪现象?

zhangking 2007-09-18 07:39:01
TStringlist 的数据为直接读文本文件获得,或通过从 idTcpHttp 协议从网网站的网页取得。

var sHtml: TStringList;

sHtml := TStringList.Create;
sHtml.Add(数据);
iCouter := sHtml.Count;

虽然数据里有多行文本,这时 iCouter 的值为 1!为了绕过这个问题,加一个 Momo 控件,修改为以下语句:

MemoHtml.Lines.Clear;
MemoHtml.Text := sHtml.Text;
iCouter := MemoHtml.Lines.Count;

就能正确取到文本的行数。进一部分析发现,只要从文本文件获取的字符串里有回车、换行符,TStringList.Count 就不能取得正确的行数。不知道本来就是这个特性,还是 Delphi7.0 的 Bug?
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangking 2007-09-19
  • 打赏
  • 举报
回复
想结帖子给分,说是没超过 5天。
郁闷……
zhangking 2007-09-18
  • 打赏
  • 举报
回复
谢谢!! 你说的是对的。
我怎么没想到 仿照 memo 用 TStringList 的 text 属性呢! :(
zhangking 2007-09-18
  • 打赏
  • 举报
回复
谢谢,我去测试一下。。。
很土 2007-09-18
  • 打赏
  • 举报
回复
看错了!不是Bug, 因为你使用的是 Add 方法,Add 方法是不处理内容中的换行符的,你可以使用 TStringList.Text 就马上可以分行了。
很土 2007-09-18
  • 打赏
  • 举报
回复
若如你所说则应该是 Bug, 我使用 Delphi 5.0 都不会出现这个问题!
SunZhanwei 2007-09-18
  • 打赏
  • 举报
回复
我来晚了:-(

5,392

社区成员

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

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