Страница 1 из 1
RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 10:21
ThePPK
Здравствуйте,
обрабатываем документы RTF, нужно вместо исходных меток вставлять куски текста. Если вставляемый кусок >255 символов по длине, то вставляются только первые 255. Как можно ли обойти это ограничение?
Спасибо!
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 11:52
BOB
С settext по моему какие-то проблемы есть , не помню точно , возможно пропадает форматирование , я пользовался RTF.FindAndReplace(finds,replas,FIND:ReplaceAll,0) вроде небыло проблем.
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 12:21
ThePPK
RTF.FindAndReplace тоже только 255 символов поддерживает?
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 13:28
Губин Игорь
Документы самые разнообразные или подготовленные вами заранее шаблоны?
Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Со внешними RTF такой приём не прокатит, т.к. там возможна разбивка спецсимволами
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 13:42
BOB
Не помню , но replas у меня 2048 так что скорее всего не 255 , просто проверьте .
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 13:58
BOB
Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Так у Вас rtf или текстовой файл ? если rtf то по моему слишком сложно его парсить как текст и еще заменять на текст другого размера .
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 14:03
Губин Игорь
BOB писал(а):Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Так у Вас rtf или текстовой файл ? если rtf то по моему слишком сложно его парсить как текст и еще заменять на текст другого размера .
Ничего сложного. Речь же идёт о метках. Т.е. просто находишь где в строке есть $$$ и меняешь на еуроеуроеуро. Если хочется быть очень правильным, то русский текст при подстановке можно перевести в спецсимволы, что тоже проблем не составляет (на то есть специальная функция)
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 14:13
ThePPK
Вообще у нас произвольные документы RTF. Т.е. по смыслу это шаблоны, но эти шаблоны может редактировать пользователь: вставлять метки, удалять, может теоретически любых спецсимволов понавставлять.
Не уверен насчет построчного решения. Ведь нам нужно вставить >255 символов на место метки, способ чтения не так важен. Или имеется ввиду читать построчно в переменную currentLine (CSTRING), заменять в ней метку на текст и присоединять к обработанной накопительной строке processedRTF (CSTRING)?
В объявлении FindAndReplace стоит 8096, а SetText вообще ничего не стоит, но оба заменяют на 255 первых символов только.
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 15:18
Губин Игорь
Да, именно так. Читаем построчно в переменную, и результат добавляем в выходную переменную.
Почему могут быть проблемы с многократно редактируемыми шаблонами? Очень просто: ворд любит разбивать текст вставкой специальных символов. После этого фиг чего найдёшь без специальных функций.
Re: RtfControl.SetText() только 255 символов?
Добавлено: 14 Июль 2011, 15:31
BOB
Тут что-то не так . Я человек экономный и не стал бы ставить 2048 если мне хватало 255 , к сожалению проверить не могу тк на win7 64 бит у меня не запускается шестой кларион . Могу проверить только на кларион шарп .
Вы лучше бы привели свой код , а то может пустяковая ошибка а замыленный глаз не видит .