Максимальная длина строки в свойстве 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.
- Кто-нибудь может объяснить этот феномен?
- Это поведение по умолчанию TMemo?
Я использую D2006, чтобы попробовать это.
2 ответа
WishKnew попробуйте эту ссылку
https://forums.embarcadero.com/thread.jspa?threadID=14035
http://www.borlandtalk.com/line-length-in-tmemo-vt67596.html
Как говорит великий Петр Внизу:
... Это не имеет никакого отношения к предельной длине строки. Этот предел на самом деле просто визуальный, вызванный тем, как элемент управления отображает свой текст.
До свидания.
В этой теме есть ответ TeamB: https://forums.embarcadero.com/thread.jspa?threadID=14035
Я удивлен, что TStringList не работает для вас. Я не совсем уверен, что вы подразумеваете под
строка не усекается до следующего индекса, когда она достигает более 1024 символов.
Я предполагаю, что строки разделены символами новой строки или CRLF. Почему это имеет значение, если длина строки CSV превышает 1024 символа? Пожалуйста, отправьте больше деталей.