Максимальная длина строки в свойстве Delphi Lines of TMemo

Я искал причину, почему максимальная длина строки в TMemo.Lines составляет 1024, но пока не найдена.

У меня есть текстовый файл, который содержит данные с разделителями / CSV, длина которых составляет около 2000 символов. Я использую заметку для предварительного просмотра перед обработкой файла.

memo.Lines.LoadFromFile (Textfile);

Я установил для WordWrap значение FALSE, а для scrollBar - ssHor Horizontal. Поэтому любая запись не будет перенесена на следующую строку.

Но когда я перебираю memo.Lines, я обнаружил, что максимальное значение String для каждого индекса составляет 1 КБ или 1024 символа. Остальное усекается до следующей строки.

Но если я использую TStringList для загрузки файла, строка не усекается до следующего индекса, когда она достигает более 1024 символов. Этого не происходит, когда я использую TRichEdit.

  1. Кто-нибудь может объяснить этот феномен?
  2. Это поведение по умолчанию TMemo?

Я использую D2006, чтобы попробовать это.

2 ответа

Решение

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

Как говорит великий Петр Внизу:

... Это не имеет никакого отношения к предельной длине строки. Этот предел на самом деле просто визуальный, вызванный тем, как элемент управления отображает свой текст.

До свидания.

В этой теме есть ответ TeamB: https://forums.embarcadero.com/thread.jspa?threadID=14035

Я удивлен, что TStringList не работает для вас. Я не совсем уверен, что вы подразумеваете под

строка не усекается до следующего индекса, когда она достигает более 1024 символов.

Я предполагаю, что строки разделены символами новой строки или CRLF. Почему это имеет значение, если длина строки CSV превышает 1024 символа? Пожалуйста, отправьте больше деталей.

Другие вопросы по тегам