6

TMemo.Linesの文字列の最大長が1024である理由を探していましたが、まだ見つかりません。

長さが約2000文字の区切り/csvデータを含むテキストファイルがあります。ファイルを処理する前に、メモを使用してプレビューします。

memo.Lines.LoadFromFile(textFile);

WordWrapをFALSEに設定し、scrollBarをssHorizo​​ntalに設定しました。したがって、どのレコードも次の行にラップされません。

しかし、memo.Linesを繰り返すと、各インデックスで保持される文字列の最大数は1KBまたは1024文字であることがわかりました。残りは次の行に切り捨てられます。

しかし、TStringListを使用してファイルをロードすると、1024文字を超えても、行は次のインデックスに切り捨てられません。TRichEditを使用すると、これは発生しません。

  1. 誰でもこの現象を説明できますか?
  2. これはTMemoのデフォルトの動作ですか?

私はこれを試すためにD2006を使用します。

4

2 に答える 2

1

このスレッドにチーム B の回答があります: 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 に答える