Альбомная страница

BotBot
отредактировано 16:03 Раздел: FastReport 3.0
По умолчанию у Page задана ориентация poPortrait. Но во время генерации отчёта некоторые листы необходимо делать альбомными, т.е. Page2.Orientation:=poLandscape. Всё это должно выполняться в коде самого отчёта, а не Делфи. Но не работает. Не понимает значение poLandscape. Что не правильно?

Комментарии

  • отредактировано 16:03
    А где ты это прописываешь?
    Пишешь в коде и все нормально....
    Опиши действия поподробнее.
    И какая версия FR у тебя?
  • BotBot
    отредактировано 16:03
    Использую FastReport 3.0
    Прописываю на вкладке Code.
    procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
    begin
         if <frxDBDataset3."Height"><1.5*<frxDBDataset3."Width"> then
            begin
            Page2.Orientation:=poLandscape;
            end;
    end;
    
  • gpigpi
    отредактировано 16:03
    Попробуй написать не в коде какого-либо события, а просто
    begin
    Page2.Orientation:=poLandscape;
    end.
    
  • BotBot
    отредактировано 16:03
    Выдаёт ошибку: "Undeclared identifier poLandscape"
  • dron-sdron-s Россия
    отредактировано 16:03
    написал:
    Выдаёт ошибку: "Undeclared identifier poLandscape"
    странно, у меня всё нормально...

    Какую версия фаста используешь?
  • BotBot
    отредактировано 16:03
    Версия 3.0. Я это пытаюсь сделать в самом репорте, не в Делфи или ещё где-то.
  • dron-sdron-s Россия
    отредактировано October 2005
    написал:
    Версия 3.0.
    поробуй без кода а сделать всё визуально, в таком варианете всё нормально или нет?
    написал:
    Я это пытаюсь сделать в самом репорте, не в Делфи или ещё где-то.
    я тебе код из самого отчёта и дал
  • BotBot
    отредактировано 16:03
    Я не получал от тебя кода. Покажи в форуме.
  • dron-sdron-s Россия
    отредактировано 16:03
    написал:
    Покажи в форуме.
    begin
    Page1.Orientation:=poLandscape;
    end.
    

    точно такой же как у gpi, он работает на все 100%
  • отредактировано 16:03
    написал:
    Я не получал от тебя кода. Покажи в форуме.
    В дизайнере есть вкладка "Код"ю
    Туда и вставляй:
    
    begin
    Page2.Orientation:=poLandscape;
    end.
    
    
    У тебя 3.0 :
    Или чуть более поздняя версия?
  • BotBot
    отредактировано 16:03
    У меня не работает :-(.
  • BotBot
    отредактировано October 2005
    написал:
    У тебя 3.0 :
    Или чуть более поздняя версия?
    Версия 3.09

    Туда и вставляю.
  • отредактировано 16:03
    Попробуй версию ФастРепорта посвежее, там обновлена версия ФастСкрипта и исправлена работа с внутренними перемеными отчета.
  • BotBot
    отредактировано 16:03
    Помогло обновление версии Репорта. Всем большое спасибо, особенно dron-s
  • отредактировано 16:03
    Лечится прописыванием модуля Printers в секцию uses
  • dron-sdron-s Россия
    отредактировано 16:03
    aRaLeKiN
    написал:
    Лечится прописыванием модуля Printers в секцию uses
    это ты к чему?
  • отредактировано 16:03
    к тому, что сам столкнулся с ошибкой "Undeclared identifier poLandscape" при Page2.Orientation:=poLandscape. чтоб он понял что это за "identifier" такой, прописал модуль Принтерс.... правда эт на старой версии фаста было. в новой не смотрел.
  • dron-sdron-s Россия
    отредактировано 16:03
    aRaLeKiN
    написал:
    правда эт на старой версии фаста было. в новой не смотрел
    на новой версии всё работает прекрасно без объвления модуля Printers...
  • отредактировано 16:03
    написал:
    на новой версии всё работает прекрасно без объвления модуля Printers...
    Никто и не сомневался... ФастСкрипт почти готов к финальному релизу... ;)
  • dron-sdron-s Россия
    отредактировано October 2005
    написал:
    ФастСкрипт почти готов к финальному релизу...
    новый релиз ещё не известно, будем тестировать ;)

    а старый работает на все 100% ;)
  • отредактировано 16:03
    написал:
    новый релиз ещё не известно, будем тестировать 

    а старый работает на все 100% 
    Он на 99% и есть новый...!
    Вот такая Ботва! ;)
  • BotBot
    отредактировано 16:03
    Пытаюсь перед тем как вывести MasterData задать определённую ориентацию странице. Но ничего не получается. А вот после того как сформировался отчёт, я в ручную могу у каждой страницы это сделать.

    Вот пример моего кода. Укажите на ошибку.
    procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
    begin
           if <frxDBDataset3."Height"><<frxDBDataset3."Width"> then
                   begin
                   Page2.Orientation:=poLandscape;
                   Ole1.Width:=MasterData2.Height;
                   Ole1.Height:=MasterData2.Width-Memo104.Height;
                   Memo104.Left:=MasterData2.Width-Memo104.Width;
                   end
           else
                   begin
                   Page2.Orientation:=poPortrait;
                   Ole1.Width:=MasterData2.Width;
                   Ole1.Height:=MasterData2.Height-Memo104.Height;
                   Memo104.Left:=MasterData2.Width-Memo104.Width;
                   end;
    end;
    
  • gpigpi
    отредактировано 16:03
    Интересно, а сколько строк MasterData2 помещается на одной странице?
  • BotBot
    отредактировано 16:03
    gpi написал:
    Интересно, а сколько строк MasterData2 помещается на одной странице?
    По одной.
  • BotBot
    отредактировано 16:03
    Даже в самом делфи, после того как отчёт был сформирован пытаюсь изменить ориентацию уже готовой страницы, но ничего не получается.
    frxReport1.PrepareReport(true);
    frxReport1.PreviewPages.Page[2].Orientation:=poLandscape;
    
  • отредактировано 16:03
    А у меня и фастскрипт и фастрепорт последней версии,
    но все равно формат страницы не меняется
    Меняю его в коде:

    procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
    begin
      Page1.Orientation:= poLandscape;
    end;
    

    и все равно страница неальбомная

    если писать просто скриптом, не в обработчике, то все работает, но мне нужно менять формат страницы только для данного MasterData

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

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