О некоторых свойствах Memoview

отредактировано September 2008 Раздел: FastReport 4.0
Появилось несколько вопросов по свойствам, ответ на которые в документации не нашел.

В преамбуле скажу, что в основном работаю с отчетами, не имеющими бандов и источников данных, т.е. информационные Мемки заполняю программно.

1. Потребовалось две мемки печатать друг под другом. Начинка (кол-во строк) заранее неизвестна, поэтому попыталься использовать два приема:
1.1 В первой мемке выставил StretchMode=smActualHeight, а во второй скриптом в BeforePrint выставить Memo2.top := memo1.top+memo1.Height.
На бэндовых отчетах такое проходит на Ура, а здесь получил в предпросмотре чистый лист и не отвечающий на запросы винды движок.
Вопрос: разве StretchMode работает только на бэндах? Если так, то очень жаль, просьба доработать!
1.2 Очень просилось использование свойства Align но в отношении некоего иного объекта, кроме бэнда. Т.е. желательно бы определять Parenta как в FlowTo, который прекрасно работает в моих случаях.

Т.е. StretchMode + (Align c Parentом) решили бы мою проюлему. а пока- Не Судьба ??

2. Долго теребил RTLReading но не увидел от него эффекта, кроме при перегоне отчета в PDF. Там и только там это отработало на Ура. Все остальные вида выгрузки полностью соответсвуют предпросмотру, который это св-во игнорирует.Хотелось бы предсказуемости.

3 Выгрузка в PDF по сути объединила пп1 и 2: Мемки с Clipped=False прекрасно отображаются и на печати, и в просмотре и при любой иной выгрузке, кроме PDF. Там тексты всех мемок образаны ровно по установленным в проекте границам, а StretchMode как я уже сказал, работает только на бэнде.
Хотелось бы предсказуемости!!

4. Использовал несколько раз простые (,) теги в мемках. У сотен польз все нормально, но парочка прислала факсы с отчетами, в которых стили в ряде из этих мемок наследуются совсем от других объектов, настроенных пользователем (мы даем возможность влиять на фонт,размер, болд,италик) . Причем сам присланный отчет выглядит идеально. Что-то здесь не так

Комментарии

  • отредактировано 20:51
    varjag написал: »
    1. Потребовалось две мемки печатать друг под другом. Начинка (кол-во строк) заранее неизвестна, поэтому попыталься использовать два приема:
    1.1 В первой мемке выставил StretchMode=smActualHeight, а во второй скриптом в BeforePrint выставить Memo2.top := memo1.top+memo1.Height.
    На бэндовых отчетах такое проходит на Ура, а здесь получил в предпросмотре чистый лист и не отвечающий на запросы винды движок.
    Вопрос: разве StretchMode работает только на бэндах? Если так, то очень жаль, просьба доработать!
    Должно работать и работает.
    Если устанавливаете св-ва Top вручную, то отключите смещение ShiftMode.
    А вообще не вижу смысла в этом коде если можно использовать авто-смещение объектов.
    varjag написал: »
    1.2 Очень просилось использование свойства Align но в отношении некоего иного объекта, кроме бэнда. Т.е. желательно бы определять Parenta как в FlowTo, который прекрасно работает в моих случаях.

    Т.е. StretchMode + (Align c Parentом) решили бы мою проюлему. а пока- Не Судьба ??
    Горизонтальное выравнивание выравнивает объект по близлежащему, а аналог вертикального ShiftMode.
    varjag написал: »
    2. Долго теребил RTLReading но не увидел от него эффекта, кроме при перегоне отчета в PDF. Там и только там это отработало на Ура. Все остальные вида выгрузки полностью соответсвуют предпросмотру, который это св-во игнорирует.Хотелось бы предсказуемости.
    Вы используете языки с письмом справа на лево ?
    Если нет , то и не будет работать.
    PDF реверсирует строку сам, а FR использует методы VCL и ОС.
    varjag написал: »
    3 Выгрузка в PDF по сути объединила пп1 и 2: Мемки с Clipped=False прекрасно отображаются и на печати, и в просмотре и при любой иной выгрузке, кроме PDF. Там тексты всех мемок образаны ровно по установленным в проекте границам, а StretchMode как я уже сказал, работает только на бэнде.
    Хотелось бы предсказуемости!!
    В большинстве экспортов используется табличный метод экспортирования объектов, поэтому они ориентируются на точные координаты(высоту и ширину) объектов .

    varjag написал: »
    4. Использовал несколько раз простые (,) теги в мемках. У сотен польз все нормально, но парочка прислала факсы с отчетами, в которых стили в ряде из этих мемок наследуются совсем от других объектов, настроенных пользователем (мы даем возможность влиять на фонт,размер, болд,италик) . Причем сам присланный отчет выглядит идеально. Что-то здесь не так
    Не знаю, что Ваши пользователи делают с отчетами, но FR сам по себе ничего не меняет :)
    Это может быть особенность принтера или нестандартные шрифты в системе.

  • отредактировано 20:51
    написал: »
    Должно работать и работает.
    Если устанавливаете св-ва Top вручную, то отключите смещение ShiftMode.
    А вообще не вижу смысла в этом коде если можно использовать авто-смещение объектов.
    Горизонтальное выравнивание выравнивает объект по близлежащему, а аналог вертикального ShiftMode.
    Вы используете языки с письмом справа на лево ?
    Если нет , то и не будет работать.
    PDF реверсирует строку сам, а FR использует методы VCL и ОС.
    В большинстве экспортов используется табличный метод экспортирования объектов, поэтому они ориентируются на точные координаты(высоту и ширину) объектов .
    Не знаю, что Ваши пользователи делают с отчетами, но FR сам по себе ничего не меняет :)
    Это может быть особенность принтера или нестандартные шрифты в системе.

    Трудно спорить , когда тебе говорят, мол наш продукт используют десятки тысяч и у всех всё хорошо. Начинаешь думать, что у самого руки кривые. Впрочем, наш продукт используют тоже тысячи, но кое у кого выходит что-то не то.
    В таком споре нужны аргументы.
    Пройдусь по пунктам.

    п3 Здесь я поспешил! Выгрузка реальна только в графику. В PDF можно, но надо у всех мемок выставить границы, что не всегда возможно заранее. В прочие форматы "табличные" моих документов выгрузки вооще не применимы, так как корёжат документ до неузнаваемости ! Даже в примерах поставки PDF не работающий.

    п2 А если потребуется? Для арабов! Всё равно не работает никак, хоть VCL, хоть ОС!

    п1 По- подробнее!
    написал: »
    Должно работать и работает.
    Если устанавливаете св-ва Top вручную, то отключите смещение ShiftMode.
    А вообще не вижу смысла в этом коде если можно использовать авто-смещение объектов.
    Горизонтальное выравнивание выравнивает объект по близлежащему, а аналог вертикального ShiftMode.
    Откhыл новый проект с пустой страничкой, кинул на нее 3 мемки
    Первая с StretchMode=ActualHeight, вторая под ней с DontStretch и ShiftMode=WhenOverlap, третья сбоку с aAlign=naLeft
    Проиграл предложенное. Работает!
    Копирую через клипборд в реальный документ, запускаю и получаю "белый экран смерти": ни документа, ничего . При снятии кричит про "задание не отвечает".
    Понятно, работа ФР порушиласть в окружении прочих объектов документа. Наверное, я выжимаю из ФР то, на что он не точился.
    написал: »
    А вообще не вижу смысла в этом коде
    Код же
    Memo2.top := memo1.top+memo1.Height
    
    работает как часики!

    п4 Ничего в свое оправдание сказать не могу, но может, то же "окружение" виновато ))
  • отредактировано 20:51
    varjag написал: »
    п3 Здесь я поспешил! Выгрузка реальна только в графику. В PDF можно, но надо у всех мемок выставить границы, что не всегда возможно заранее. В прочие форматы "табличные" моих документов выгрузки вооще не применимы, так как корёжат документ до неузнаваемости ! Даже в примерах поставки PDF не работающий.
    Скажу честно, шаблоны у Вас "не стандартные", такие экспортировать не получится (только рисунком).
    varjag написал: »
    п2 А если потребуется? Для арабов! Всё равно не работает никак, хоть VCL, хоть ОС!
    Для Арабских языков оно и работает :)
    Выравнивание мемки это св-во не меняет.
    varjag написал: »
    п1 По- подробнее!

    Откhыл новый проект с пустой страничкой, кинул на нее 3 мемки
    Первая с StretchMode=ActualHeight, вторая под ней с DontStretch и ShiftMode=WhenOverlap, третья сбоку с aAlign=naLeft
    Проиграл предложенное. Работает!
    Копирую через клипборд в реальный документ, запускаю и получаю "белый экран смерти": ни документа, ничего . При снятии кричит про "задание не отвечает".
    Понятно, работа ФР порушиласть в окружении прочих объектов документа. Наверное, я выжимаю из ФР то, на что он не точился.

    Код же
    Memo2.top := memo1.top+memo1.Height
    
    работает как часики!
    Пришлите пожалуйста отчет.
    Была как-то у пользователя проблема с зависанием при смещении объектов в огромном отчете, но примера я так и не дождался.
  • отредактировано October 2008
    написал: »
    Скажу честно, шаблоны у Вас "не стандартные", такие экспортировать не получится (только рисунком).
    Это я уже понял, а вообще это документы при таможенном декларировании, и рисовалка в ФР - лучшее, что для такого я видел!
    написал: »
    Для Арабских языков оно и работает :)
    Выравнивание мемки это св-во не меняет.
    То есть, надо установить арабскую кодировку, тогда и будет?
    написал: »
    Пришлите пожалуйста отчет.
    Была как-то у пользователя проблема с зависанием при смещении объектов в огромном отчете, но примера я так и не дождался.
    Вышлю на мыло, тк загрузить сюда что-либо не получается
  • отредактировано 20:51
    varjag написал: »
    Это я уже понял, а вообще это документы при таможенном декларировании, и рисовалка в ФР - лучшее, что для такого я видел!
    А Вы не пробовали избавится от пересечения полей ?
    Вместо отдельной мемки с подчеркиванием использовать html-тэг итд..
    varjag написал: »
    То есть, надо установить арабскую кодировку, тогда и будет?
    Да, но повторюсь - выравнивание это св-во не меняет :)
    varjag написал: »
    Вышлю на мыло, тк загрузить сюда что-либо не получается
    Вы уже высылали пример ?
    Что-то не приходило мне ничего.
  • отредактировано 20:51
    написал: »
    Вы уже высылали пример ?
    Что-то не приходило мне ничего.
    Выслал на Vlad, как было в Вашем первом письме от 25.09.08 (по поводу масштабирования).
    Видимо, и прошлые письма не дошли?
    Пересылаю на DEN повторно.
    написал: »
    А Вы не пробовали избавится от пересечения полей ?
    Вместо отдельной мемки с подчеркиванием использовать html-тэг итд..
    О каком именно пересечении полей речь? У меня в документа такого немного
    Что касается тэгов, то в п4 я об этом уже писал. Повторить не удалось, но после разбивки на мемки с разными стилями жалобы прекратились.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.