天天看點

Delphi中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?

    解決:

    sHtml.Text := (資料);

    即可。TStringList.Add 方法不處理回車換行。

本文轉自網眼51CTO部落格,原文連結:http://blog.51cto.com/itwatch/286534,如需轉載請自行聯系原作者

繼續閱讀