После выполнения основной операции результат может быть обработан еще один раз, если вы зададите математическую функцию в свойстве

ResultFunction.

Таким образом, при помощи элемента CalcOp разработчик может реализо-вывать довольно сложные вычисления.

Если задать в качестве двух источников данных:

П два фиксированных значения (свойства Srcivalue и Src2Value);
О два поля из одного или двух просмотров данных (свойства SrclDataField И Src2DataField);

О комбинацию первых двух вариантов то их значения будут последовательно обработаны вычислительной операцией, которую вы зададите свойствами:

□
SrclFunction;
О SrclFunction;
П Operator;

О ResultFunction.

Кроме этого, элемент CalcOp позволяет создавать вычислительные цепочки, если использовать в качестве одного или двух источников другие вычислительные элементы (рис. 26.9).

Программирование в Delphi 7

Рис. 26.9. Пример вычислительной цепочки на основе элементов CalcOp

Это могут быть как простые элементы CalcText и CalcTotal, так и другие элементы CalcOp, которые, в свою очередь, могут содержать сколь угодно сложные вычислительные цепи.

Пример использования элемента CalcOp имеется в демонстрационном приложении Demo Reports на дискете, прилагаемой к этой книге.

Управляющие вычислительные элементы

Выше мы упоминали о свойстве controller элементов CaicText и CalcTotal, которое позволяет определить момент начала вычислений. Для этого используется специальный невизуальный элемент calcController. Обычно он располагается на той же полосе, что и вычислительные элементы и инициализирует процесс вычисления в момент своей печати. Хотя на самом деле невизуальный элемент CalcController не печатается, тем не менее событие onBeforePrint он получает исправно вместе со всеми элементами, расположенными на данной полосе. А значит и с инициализацией вычислений он справится вполне.

Обладая несколькими специфическими свойствами, он позволяет определить момент начала вычислений более точно. И так же, как элемент FontMaster используется для централизованного управления шрифтами, этот элемент может быть центром управления вычислениями.

Свойство initcalcVar должно ссыпаться на другой вычислительный элемент. И вычисленное им значение будет использовано в качестве начального.

Свойство initDataField задает поле данных, значение которого используется в качестве начального. Работает, если свойство initcaicvar не задано.

Свойство initvalue задает начальное значение, если предыдущие два свойства не заданы.

Для того чтобы эти свойства работали и задавали начальное значение, ссылка на элемент CalcController должна присутствовать в свойстве Initializer элементов оформления CaicText ИЛИ CaicTotai.

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

Свойство DataView задает просмотр данных, с которым будет работать элемент DataCycie.

При ПОМОЩИ СЮЙСТВ MasterDataView,MasterKey И DetailKey МОЖНО ПОЛУЧИТЬ подмножество записей для отношения "один-ко-многим".


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Декабрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31