Вычисление времени подготовки отчета

отредактировано April 2007 Раздел: FastReport 3.0
Каким образом можно посчитать время, за которое формируется отчет, с условием что в нем может использоваться диалоговая форма?
Отчет может выполнять медленные запросы и хотелось бы знать сколько времени понадобилось на его формирование при предыдущем запуске. Пробовал для вычисления начального момента времени использовать обработчики событий OnBeginDoc и OnProgressStart, но эти события возникают до появления диалога...

Комментарии

  • отредактировано 14:48
    KiTE написал: »
    Каким образом можно посчитать время, за которое формируется отчет, с условием что в нем может использоваться диалоговая форма?
    Ятак понимаю, на форме вводится данные, затем строится отчет.
    Тогда, заводим переменную (например, dtDateReportStart) и в OnButtonClick заполняем ее датой старта:
    void Button1OnClick(TfrxComponent Sender)
    {
      Set ("DateReportStart", date + time);
    }
    
    далее во время окончания построения отчета на событии OnStopReport:
    void frxReport1OnStopReport(TfrxComponent Sender)
    {
      ShowMessage (TimeToStr((date + time) - (Get ("DateReportStart"))));
    }
    
  • отредактировано 14:48
    Спасибо за отзывчивость!
    Но больше интересует вариант как это реализовать в коде программы а не отчета, чтобы корректно считать время формирования любого возможного варианта.
    У меня все отчеты хранятся в БД. Их достаточно много. Юзеры их могут удалять, изменять, добавлять. Время за которое формируется отчет, учитывая вложенные запросы, может колебаться от меньше чем 1-й секунды до более чем 5-и минут. И чтобы пользователь был морально готов к запуску долговременного отчета было бы неплохо его предупредить сколько времени было затрачено на формирование при прошлом запуске.
  • отредактировано 14:48
    KiTE написал: »
    Время за которое формируется отчет, учитывая вложенные запросы, может колебаться от меньше чем 1-й секунды до более чем 5-и минут. И чтобы пользователь был морально готов к запуску долговременного отчета было бы неплохо его предупредить сколько времени было затрачено на формирование при прошлом запуске.
    Может тогда Вам хранить в базе и время за которое в последний раз был сформирован отчет

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

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