读书人

TStringlist.count 一个奇怪现象?该如

发布时间: 2012-02-24 16:30:38 作者: rapoo

TStringlist.count 一个奇怪现象?
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?

[解决办法]
若如你所说则应该是 Bug, 我使用 Delphi 5.0 都不会出现这个问题!
[解决办法]
看错了!不是Bug, 因为你使用的是 Add 方法,Add 方法是不处理内容中的换行符的,你可以使用 TStringList.Text 就马上可以分行了。
[解决办法]
我来晚了:-(

读书人网 >.NET

热点推荐