0

我使用TMemo框而不是TEdit框仅仅是因为多行功能。

我在猜测,我使用.Text属性在运行时分配一个值。但后来我意识到在设计时没有Text属性。相反,我找到了Lines属性。

我检查了这个页面: http: //lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tmemo.html了解更多信息。

我发现该文档中没有Text属性,而只有Lines属性。

我对.Text的使用是正确的还是使用它有问题?

这是我的代码:

  if dlgSave.Execute Then
     begin
       txtSaveName.Text := dlgSave.FileName;
     end;

txtSaveName : TMemo

dlgSave : TSaveDialog

感谢您的任何意见。

4

1 回答 1

1

Lines 是一个 TStrings,一个基本上是一个字符串数组的包装器的类。

Text 是一个简单的属性,在读取时将字符串连接在一起(在它们之间使用行分隔符),并且在分配时也将单个字符串解析为多个字符串。

我不会太担心它,在将它用于巨大的字符串之前请三思而后行(想想数百 MB 和更大),因为这个高级功能完成的所有复制都会占用相当多的内存。

不使用它的另一个(次要)原因是,如果您希望读写是相同的二进制。假设您有一个带有混合行尾的文本并将其分配给文本并读回它,那么混合行尾现在将是统一的。

于 2014-02-23T21:31:28.603 回答