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

来源:互联网 发布:亚洲人适合的发型 知乎 编辑:程序博客网 时间:2024/06/05 05:15

        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 

原创粉丝点击