Несколько страниц

отредактировано 07:24 Раздел: FastReport 4.0
Среда: Delphi7+FastReport
Есть отчёт (определённая форма, шаблон). В приложении на форме, задаётся начальный номер (напр. 20) и количество (напр. 10). Далее Необходимо програмно (как?) создать 10 страниц, кот. будут иметь одно и то же содержание (форму), но на каждой будут идти своя нумерация:
на первой - 20
на второй - 21
на след - 22
.....
и на посл. - 30.

Передачу параметров (нач. номер и к-во страниц) в отчёт реализация есть.

Вопрос - как програмно создать несколько страниц? (планирую в цикле создавать по странице)

Заранее благодарю, всех, кто хоть чем-то поможет. :)

Комментарии

  • отредактировано February 2010
    написал:
    Вопрос - как програмно создать несколько страниц?
    Примерно так:
    procedure TForm1.ButtonOKClick(Sender: TObject);
    var
      i, start, count: Integer;
      page: TfrxReportPage;
      memo: TfrxMemoView;
    begin
      start := 20; // начальный номер
      count := 10; // количество страниц
      for i := start to start + count - 1 do
      begin
        // создание страницы
        page := TfrxReportPage.Create(Report);
        page.CreateUniqueName;
        // создание поля с номером страницы
        memo := TfrxMemoView.Create(page);
        memo.SetBounds(20, 20, 20, 20);
        memo.Text := IntToStr(i);
      end;
    end;
    
  • gpigpi
    отредактировано 07:24
    А почему бы просто не задать TfrxReportPage.PageCount, а в качестве номера страницы использовать [<Page> + <Offset>] ?
  • отредактировано 07:24
    Всем доброго дня!
    Подскажите, пожалуйста, новичку: мне нужно изменить нумерацию страниц в отчёте, который в FR состоит из 4-х страниц. На 1-й имеется поле с ситемной переменной [page], но данные на этой странице иногда могут занимать более одной страницы, следовательно, номера страниц изменяются - тут проблем нет.
    На 2-й и 4-й страницах отчёта в FR такого поля нет - для этих частей отчёта номера страниц ни к чему.
    А вот на 3-й странице снова мне необходимо проставить номера, но только не в том порядке, как они идут, а чтобы в этой части отчёта номера страниц начинались также с первой.
    Таким образом, мне нужно получить 2 группы страниц из одного отчёта, которые бы начинались с первой страницы.
    Если я написал не в ту тему, пожалуйста, направьте по адресу.
    Спасибо за помощь!
  • gpigpi
    отредактировано 07:24
    Используйте следующий скрипт:
    var p: integer;
    procedure Page2OnAfterPrint(Sender: TfrxComponent);
    begin
    p:=<Page>;
    end;
    На третьей странице выводите
    [<Page>-p]

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

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