6

我一直在寻找 TMemo.Lines 中 String 的最大长度为 1024 的原因,但尚未找到。

我有一个文本文件,其中包含长度约为 2000 个字符的定界 / csv 数据。在处理文件之前,我使用备忘录进行预览。

memo.Lines.LoadFromFile(textFile);

我已将 WordWrap 设置为 FALSE,并将滚动条设置为 ssHorizo​​ntal。所以任何记录都不会被包装到下一行。

但是当我迭代 memo.Lines 时,我发现每个索引中保存的最大 String 是 1KB 或 1024 个字符。其余的被截断到下一行。

但是如果我使用 TStringList 来加载文件,当行超过 1024 个字符时,它不会被截断到下一个索引。当我使用 TRichEdit 时不会发生这种情况。

  1. 任何人都可以解释这种现象吗?
  2. 它是 TMemo 的默认行为吗?

我用 D2006 来试试这个。

4

2 回答 2

1

在这个线程上有一个 TeamB 的答案: https ://forums.embarcadero.com/thread.jspa?threadID=14035

我很惊讶 TStringList 不适合你。我不太清楚你的意思

当行超过 1024 个字符时,该行不会被截断到下一个索引。

我假设这些行由换行符或 CRLF 分隔。如果 CSV 行超过 1024 个字符,为什么会有影响?请发布更多详细信息。

于 2009-09-02T03:16:08.267 回答
-1

WishKnew 试试这个链接

https://forums.embarcadero.com/thread.jspa?threadID=14035

http://www.borlandtalk.com/line-length-in-tmemo-vt67596.html

http://groups.google.com/group/borland.public.delphi.vcl.components.using/browse_thread/thread/318fe3240d2860ba

正如伟大的彼得在下面所说:

...这与出现的行长度限制无关。这个限制实际上只是视觉上的,由控件呈现其文本的方式引起。

再见。

于 2009-09-02T03:16:20.530 回答