RtfControl.SetText() только 255 символов?
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
RtfControl.SetText() только 255 символов?
Здравствуйте,
обрабатываем документы RTF, нужно вместо исходных меток вставлять куски текста. Если вставляемый кусок >255 символов по длине, то вставляются только первые 255. Как можно ли обойти это ограничение?
Спасибо!
обрабатываем документы RTF, нужно вместо исходных меток вставлять куски текста. Если вставляемый кусок >255 символов по длине, то вставляются только первые 255. Как можно ли обойти это ограничение?
Спасибо!
Re: RtfControl.SetText() только 255 символов?
С settext по моему какие-то проблемы есть , не помню точно , возможно пропадает форматирование , я пользовался RTF.FindAndReplace(finds,replas,FIND:ReplaceAll,0) вроде небыло проблем.
Re: RtfControl.SetText() только 255 символов?
RTF.FindAndReplace тоже только 255 символов поддерживает?
- Губин Игорь
- Шубуршун
- Сообщения: 2573
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: RtfControl.SetText() только 255 символов?
Документы самые разнообразные или подготовленные вами заранее шаблоны?
Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Со внешними RTF такой приём не прокатит, т.к. там возможна разбивка спецсимволами
Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Со внешними RTF такой приём не прокатит, т.к. там возможна разбивка спецсимволами
Это я только кажусь дураком! На самом деле я полный идиот!
Re: RtfControl.SetText() только 255 символов?
Не помню , но replas у меня 2048 так что скорее всего не 255 , просто проверьте .
Re: RtfControl.SetText() только 255 символов?
Так у Вас rtf или текстовой файл ? если rtf то по моему слишком сложно его парсить как текст и еще заменять на текст другого размера .Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
- Губин Игорь
- Шубуршун
- Сообщения: 2573
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: RtfControl.SetText() только 255 символов?
Ничего сложного. Речь же идёт о метках. Т.е. просто находишь где в строке есть $$$ и меняешь на еуроеуроеуро. Если хочется быть очень правильным, то русский текст при подстановке можно перевести в спецсимволы, что тоже проблем не составляет (на то есть специальная функция)BOB писал(а):Так у Вас rtf или текстовой файл ? если rtf то по моему слишком сложно его парсить как текст и еще заменять на текст другого размера .Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Это я только кажусь дураком! На самом деле я полный идиот!
Re: RtfControl.SetText() только 255 символов?
Вообще у нас произвольные документы RTF. Т.е. по смыслу это шаблоны, но эти шаблоны может редактировать пользователь: вставлять метки, удалять, может теоретически любых спецсимволов понавставлять.
Не уверен насчет построчного решения. Ведь нам нужно вставить >255 символов на место метки, способ чтения не так важен. Или имеется ввиду читать построчно в переменную currentLine (CSTRING), заменять в ней метку на текст и присоединять к обработанной накопительной строке processedRTF (CSTRING)?
В объявлении FindAndReplace стоит 8096, а SetText вообще ничего не стоит, но оба заменяют на 255 первых символов только.
Не уверен насчет построчного решения. Ведь нам нужно вставить >255 символов на место метки, способ чтения не так важен. Или имеется ввиду читать построчно в переменную currentLine (CSTRING), заменять в ней метку на текст и присоединять к обработанной накопительной строке processedRTF (CSTRING)?
В объявлении FindAndReplace стоит 8096, а SetText вообще ничего не стоит, но оба заменяют на 255 первых символов только.
- Губин Игорь
- Шубуршун
- Сообщения: 2573
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: RtfControl.SetText() только 255 символов?
Да, именно так. Читаем построчно в переменную, и результат добавляем в выходную переменную.
Почему могут быть проблемы с многократно редактируемыми шаблонами? Очень просто: ворд любит разбивать текст вставкой специальных символов. После этого фиг чего найдёшь без специальных функций.
Почему могут быть проблемы с многократно редактируемыми шаблонами? Очень просто: ворд любит разбивать текст вставкой специальных символов. После этого фиг чего найдёшь без специальных функций.
Это я только кажусь дураком! На самом деле я полный идиот!
Re: RtfControl.SetText() только 255 символов?
Тут что-то не так . Я человек экономный и не стал бы ставить 2048 если мне хватало 255 , к сожалению проверить не могу тк на win7 64 бит у меня не запускается шестой кларион . Могу проверить только на кларион шарп .
Вы лучше бы привели свой код , а то может пустяковая ошибка а замыленный глаз не видит .
Вы лучше бы привели свой код , а то может пустяковая ошибка а замыленный глаз не видит .