Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Проблема со строками


Автор: Dom 7.8.2005, 21:02
Передо мной стоит такая задача. В Мемо есть несколько строк, одна из них очень большой длины до 10000 символов (и это еще не предел). Надо с этой строкой совершить некоторые преобразования (заменить одни символы другими, удалить лишние символы и т.п.) и сохранить в текстовый файл.

S:=Form1.Memo1.Lines[4]; //чтение строки 4 из Мемо в переменную S:string

Проблема заключается в том, что в переменную S:string записываются только первые 1025 символов. Как можно преодолеть данное затруднение?

Автор: FRAGNATIC 7.8.2005, 21:45
Юзай Pchar

Автор: Dom 7.8.2005, 22:05
Вопрос может и ламерский - а как?

Ведь Мемо содержит строки в формате string, и если производить чтение и конвертирование таким способом S:=PChar(Form1.Memo1.Lines[4]), то все равно считываются только первые 1025 символов.
Или это делается как-то по другому?

Даже если я напрямую пробую сохранить эту строку в текстовый файл, сохраняется 1025 символов.
Write(FName,Form1.Memo1.Lines[4])

Такое впечатление что проблема кроется в самом Мемо...

Ведь по идее размер переменной типа string неограничен, почему же возникает такая проблема? Хотелось бы все же засунуть эту строку в стринговую переменную - с ней потом работать легче будет и не надо будет переделывать последующую часть кода, которая уже есть.

Автор: Dom 7.8.2005, 22:27
Всё, всем спасибо!

Таки проблема в самом Мемо. Длина строки не может превышать 1025 символовю. Если строка длиннее, то она переносится на следующую и считается уже самостоятельной строкой. Играться с WordWrap бесполезно.
Мог бы и раньше догадаться... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)