RtfControl.SetText() только 255 символов?
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
RtfControl.SetText() только 255 символов?
Здравствуйте,
обрабатываем документы RTF, нужно вместо исходных меток вставлять куски текста. Если вставляемый кусок >255 символов по длине, то вставляются только первые 255. Как можно ли обойти это ограничение?
Спасибо!
обрабатываем документы RTF, нужно вместо исходных меток вставлять куски текста. Если вставляемый кусок >255 символов по длине, то вставляются только первые 255. Как можно ли обойти это ограничение?
Спасибо!
ThePPK
Re: RtfControl.SetText() только 255 символов?
С settext по моему какие-то проблемы есть , не помню точно , возможно пропадает форматирование , я пользовался RTF.FindAndReplace(finds,replas,FIND:ReplaceAll,0) вроде небыло проблем.
BOB
Re: RtfControl.SetText() только 255 символов?
RTF.FindAndReplace тоже только 255 символов поддерживает?
ThePPK
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: RtfControl.SetText() только 255 символов?
Документы самые разнообразные или подготовленные вами заранее шаблоны?
Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Со внешними RTF такой приём не прокатит, т.к. там возможна разбивка спецсимволами
Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
Со внешними RTF такой приём не прокатит, т.к. там возможна разбивка спецсимволами
Это я только кажусь дураком! На самом деле я полный идиот!
Губин Игорь
Re: RtfControl.SetText() только 255 символов?
Не помню , но replas у меня 2048 так что скорее всего не 255 , просто проверьте .
BOB
Re: RtfControl.SetText() только 255 символов?
Так у Вас rtf или текстовой файл ? если rtf то по моему слишком сложно его парсить как текст и еще заменять на текст другого размера .Для шаблонов я поступал просто: читал файл построчно как текстовый и далее в строках искал метки, заменяя их обычными средствами на нужный текст.
BOB
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 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 первых символов только.
ThePPK
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: RtfControl.SetText() только 255 символов?
Да, именно так. Читаем построчно в переменную, и результат добавляем в выходную переменную.
Почему могут быть проблемы с многократно редактируемыми шаблонами? Очень просто: ворд любит разбивать текст вставкой специальных символов. После этого фиг чего найдёшь без специальных функций.
Почему могут быть проблемы с многократно редактируемыми шаблонами? Очень просто: ворд любит разбивать текст вставкой специальных символов. После этого фиг чего найдёшь без специальных функций.
Это я только кажусь дураком! На самом деле я полный идиот!
Губин Игорь
Re: RtfControl.SetText() только 255 символов?
Тут что-то не так . Я человек экономный и не стал бы ставить 2048 если мне хватало 255 , к сожалению проверить не могу тк на win7 64 бит у меня не запускается шестой кларион . Могу проверить только на кларион шарп .
Вы лучше бы привели свой код , а то может пустяковая ошибка а замыленный глаз не видит .
Вы лучше бы привели свой код , а то может пустяковая ошибка а замыленный глаз не видит .
BOB
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)