Страница 5 из 5
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Добавлено: 27 Апрель 2020, 10:02
Губин Игорь
dik1970 писал(а): 26 Апрель 2020, 22:17
это понятно, делать то что
Улыбаемся и машем!
Единственный вариант, который я вижу, это скопировать в обычное текстовое поле (см. класс работы с RTF) и работать, уже, с ним.
Вместо отображение в TEXT можно позаниматься нетрадиционными видами секса с SystemString.
Или требуется получить количество строк именно в поле RTF?
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Добавлено: 27 Апрель 2020, 11:41
Yufil
dik1970 писал(а): 16 Апрель 2020, 15:42
Никто не сталкивался с переносом text-RTF полей в отчете? Есть отчет в середине которого выводится кусок RTF-текста переменной длины (заполняется из blob-а) и если он не влазит на текущую страницу, то переносится на следующую целиком. Можно ли динамически сделать разрыв страницы?
В List&Label делал, там любое текстовое поле может быть строкой или ( параметризованным ) RTF, Делал вставки длинных текстов на несколько страниц, отрабатывалось три варианта
1. RTF маленький и влезет целиком
2. RTF не влезет на текущий лист, но там ещё куча свободного места ( например, заполнено 20%) и надо начало текста вывести на одном листе, а хвост на следующих
3. RTF не влезет, но страница хорошо заполнена - надо продолжить печать с нового листа
Было не идеально, но как-то методами ручной рихтовки...
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Добавлено: 27 Апрель 2020, 12:23
kreator
Я у себя попробовал. Да, традиционные свойства для RTF(TEXT:FIELD) не работают. Возможно, есть что-то недокументированное. Либо попробовать зайти вот отсюда - RTFControlClass (начать со справки). Это wrapper майкрософтовской dll. Может чего есть. Есть RTFStatusBar Control Template, судя по справке он знает количество строк. Копать в dll'ку? Ну не знаю. Совсем крайний случай.
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Добавлено: 28 Апрель 2020, 1:16
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)
Что ещё нужно вычислить, или я вообще не в тему?
Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?
Добавлено: 28 Апрель 2020, 9:26
kreator
Да, это нужно. Ещё бы высоту каждой строки!