zoukankan      html  css  js  c++  java
  • TStringList TMemo Text与Add赋值的区别 Memo.Text赋值高度注意事项,不得不知的技巧。

    Memo.Text赋值高度注意事项,不得不知的技巧。

     list := TStringList.Create;
      list.Text:= str;
      list.Count;

      list.Clear;
      list.Add(str);
      list.Count;

    Memo.Text:=str;//也不触发SetTextStr事件,所以结果也不对

    Memo1.Lines.Text:=str;//这样就对了,哎。

    在str有换行符的情况下,两种赋值方法,str相同,但是list的结果不一定相同。

    text赋值正确处理了换行符。

    Add方法为处理换行符。

    Text后count有9行,但是add后只有1行,没换行符处理。

    看原始文件 System.Classes.pas

    procedure TStrings.SetTextStr(const Value: string);

    和function TStringList.Add(const S: string): Integer;的区别就知道了。add没处理换行符,而SetTextStr非常仔细的处理了 换行符。

    但是读取值的时候,Memo.Text 和Memo.Lines.Text是相等的。

  • 相关阅读:
    Deployment descriptor
    实体、list 、xml之间的转化
    关于C# 汉字转拼音问题
    NPoco学习笔记(1)
    SQL(二)
    SQL(一)
    sobel算子及cvSobel
    图像的平滑处理
    erase的用法
    int main(int argc, char* argv[ ])
  • 原文地址:https://www.cnblogs.com/cb168/p/5902158.html
Copyright © 2011-2022 走看看