Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

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

dik1970 писал(а): 26 Апрель 2020, 22:17 это понятно, делать то что
Улыбаемся и машем! :cat:

Единственный вариант, который я вижу, это скопировать в обычное текстовое поле (см. класс работы с RTF) и работать, уже, с ним.
Вместо отображение в TEXT можно позаниматься нетрадиционными видами секса с SystemString.

Или требуется получить количество строк именно в поле RTF?
Это я только кажусь дураком! На самом деле я полный идиот!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение Yufil »

dik1970 писал(а): 16 Апрель 2020, 15:42 Никто не сталкивался с переносом text-RTF полей в отчете? Есть отчет в середине которого выводится кусок RTF-текста переменной длины (заполняется из blob-а) и если он не влазит на текущую страницу, то переносится на следующую целиком. Можно ли динамически сделать разрыв страницы?
В List&Label делал, там любое текстовое поле может быть строкой или ( параметризованным ) RTF, Делал вставки длинных текстов на несколько страниц, отрабатывалось три варианта

1. RTF маленький и влезет целиком
2. RTF не влезет на текущий лист, но там ещё куча свободного места ( например, заполнено 20%) и надо начало текста вывести на одном листе, а хвост на следующих
3. RTF не влезет, но страница хорошо заполнена - надо продолжить печать с нового листа

Было не идеально, но как-то методами ручной рихтовки...
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение kreator »

Я у себя попробовал. Да, традиционные свойства для RTF(TEXT:FIELD) не работают. Возможно, есть что-то недокументированное. Либо попробовать зайти вот отсюда - RTFControlClass (начать со справки). Это wrapper майкрософтовской dll. Может чего есть. Есть RTFStatusBar Control Template, судя по справке он знает количество строк. Копать в dll'ку? Ну не знаю. Совсем крайний случай.
We are hard at work… for you. :)
Аватара пользователя
vic7tar
Ветеран
Сообщения: 365
Зарегистрирован: 09 Февраль 2017, 20:12

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение vic7tar »

dik1970 писал(а): 26 Апрель 2020, 22:17 это понятно, делать то что
Я так и не понял до конца задачи.
Если нужно подсчитать количество строк в контроле, то легче это сделать так:

Код: Выделить всё

   Map
      Module('winapi')
         SendMessage(long hWnd, ulong Msg, ulong wParam, long lParam), long, Pascal, name('SendMessageA'), Proc
      .
   .
   ...
   Code
      hRtf# = ?Rtf{PROP:Handle}
      line_count# = SendMessage(hRtf#, 0BAh, 0, 0)
Что ещё нужно вычислить, или я вообще не в тему?
C10, Win10x64
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение kreator »

Да, это нужно. Ещё бы высоту каждой строки!
We are hard at work… for you. :)
Ответить