Delphi 中 TStringlist.count 一个奇怪问题及其解决

本文介绍了在使用Delphi中的TStringList组件时遇到的一个常见问题:如何正确处理包含回车和换行符的文本数据。文章详细解释了直接使用Add方法可能导致计数错误,并提供了一种简单的解决方案。

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?

解决:

sHtml.Text := (数据);
iCouter := sHtml.Count;

即可。TStringList.Add 方法不处理回车换行。

电脑学习网 http://www.why100000.com
网眼 张庆 2007-9-18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值