RtfControl.SetText() только 255 символов?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
ThePPK
Посетитель
Сообщения: 30
Зарегистрирован: 19 Сентябрь 2010, 21:54

RtfControl.SetText() только 255 символов?

Сообщение ThePPK »

Здравствуйте,

обрабатываем документы RTF, нужно вместо исходных меток вставлять куски текста. Если вставляемый кусок >255 символов по длине, то вставляются только первые 255. Как можно ли обойти это ограничение?

Спасибо!
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: RtfControl.SetText() только 255 символов?

Сообщение BOB »

С settext по моему какие-то проблемы есть , не помню точно , возможно пропадает форматирование , я пользовался RTF.FindAndReplace(finds,replas,FIND:ReplaceAll,0) вроде небыло проблем.
ThePPK
Посетитель
Сообщения: 30
Зарегистрирован: 19 Сентябрь 2010, 21:54

Re: RtfControl.SetText() только 255 символов?

Сообщение ThePPK »

RTF.FindAndReplace тоже только 255 символов поддерживает?
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Re: RtfControl.SetText() только 255 символов?

Сообщение Губин Игорь »

Документы самые разнообразные или подготовленные вами заранее шаблоны?

Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.

Со внешними RTF такой приём не прокатит, т.к. там возможна разбивка спецсимволами
Это я только кажусь дураком! На самом деле я полный идиот!
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: RtfControl.SetText() только 255 символов?

Сообщение BOB »

Не помню , но replas у меня 2048 так что скорее всего не 255 , просто проверьте .
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: RtfControl.SetText() только 255 символов?

Сообщение BOB »

Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Так у Вас rtf или текстовой файл ? если rtf то по моему слишком сложно его парсить как текст и еще заменять на текст другого размера .
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Re: RtfControl.SetText() только 255 символов?

Сообщение Губин Игорь »

BOB писал(а):
Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Так у Вас rtf или текстовой файл ? если rtf то по моему слишком сложно его парсить как текст и еще заменять на текст другого размера .
Ничего сложного. Речь же идёт о метках. Т.е. просто находишь где в строке есть $$$ и меняешь на еуроеуроеуро. Если хочется быть очень правильным, то русский текст при подстановке можно перевести в спецсимволы, что тоже проблем не составляет (на то есть специальная функция)
Это я только кажусь дураком! На самом деле я полный идиот!
ThePPK
Посетитель
Сообщения: 30
Зарегистрирован: 19 Сентябрь 2010, 21:54

Re: RtfControl.SetText() только 255 символов?

Сообщение ThePPK »

Вообще у нас произвольные документы RTF. Т.е. по смыслу это шаблоны, но эти шаблоны может редактировать пользователь: вставлять метки, удалять, может теоретически любых спецсимволов понавставлять.

Не уверен насчет построчного решения. Ведь нам нужно вставить >255 символов на место метки, способ чтения не так важен. Или имеется ввиду читать построчно в переменную currentLine (CSTRING), заменять в ней метку на текст и присоединять к обработанной накопительной строке processedRTF (CSTRING)?

В объявлении FindAndReplace стоит 8096, а SetText вообще ничего не стоит, но оба заменяют на 255 первых символов только.
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Re: RtfControl.SetText() только 255 символов?

Сообщение Губин Игорь »

Да, именно так. Читаем построчно в переменную, и результат добавляем в выходную переменную.

Почему могут быть проблемы с многократно редактируемыми шаблонами? Очень просто: ворд любит разбивать текст вставкой специальных символов. После этого фиг чего найдёшь без специальных функций.
Это я только кажусь дураком! На самом деле я полный идиот!
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: RtfControl.SetText() только 255 символов?

Сообщение BOB »

Тут что-то не так . Я человек экономный и не стал бы ставить 2048 если мне хватало 255 , к сожалению проверить не могу тк на win7 64 бит у меня не запускается шестой кларион . Могу проверить только на кларион шарп .
Вы лучше бы привели свой код , а то может пустяковая ошибка а замыленный глаз не видит .
Ответить