Страница 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
				Да, это нужно. Ещё бы высоту каждой строки!