В Аксапте есть встроенная компонента для вывода графиков. Совет Зерова Анатолия о том, что должен сделать программист, чтобы показать график пользователю.

Анатолий Зеров, zerov@rabota-na-rezultat.ru

Загрузить

Zan_Graphics_test_Project_without_DS.xpo (18Кб, для загрузки требуется регистрация на форуме у Mazzy)
Документация по Chart FX 2.0 (zip, 290Кб, внутри hlp-файлы, для загрузки требуется регистрация на форуме у Mazzy)

Работа с графиками

 

В Аксапте для отображения аналитической информации в виде графиков используется DLL cfx2032.dll (ChartFx) от компании Software FX. Для работы c DLL в Аксапте имеется класс ChartFx, который, в свою очередь, используется классами Graphics и Graphics_Period (Graphics_Period является наследником Graphics). От нас же требуется только подготовить данные и передать их в "Наш" класс, расширенный от Graphics или Graphics_Period.

Отличие Graphics_Period от Graphics заключается в том, что Graphics_Period используется для представления графики с временными интервалами (периодами).

Создадим график, используя в качестве родительского класса Graphics_Period. В результате мы получим график следующего вида:

График в Аксапте

 

Создание графика

  1. Создаем новый проект.

Проект с классом для графика

  1. В проекте создаем группы Forms и Classes
  2. Создаем форму в группе Forms.

Форма, которая будет содержать график

  1. Создаем класс в группе Classes.

Класс для графика

  1. Наследуем его от Graphics_Period

Наследование класса

  1. Перекрываем методы title(), titleXaxis(), titleYaxis(), titleZaxis() (данные методы используются для определения наименований заголовков осей и заголовка графика, они только возвращают строку)

Класс для графика

Методы возвращают строку

  1. Создаем для класса статический конструктор newGraphics().

newGraphics()

  1. Для контрола Window перекрываем метод size() и добавляем код для инициализации созданного нами класса и изменяем свойства контрола, для того, чтобы он мог изменять свои размеры при изменении размеров формы.

!!! Метод size () вызывается при изменении размеров формы, а инициализация размеров графики происходит при инициализации класса.

Метод size() на форме

Вставка графика на форму

  1. В методах формы создаем метод showGraph().

Метод showGraph()

В этом методе происходит заполнение данными графика, вызов диалоговой формы, отображение графика. Для передачи данных используем метод loadData() экземпляра нашего класса.

метод LoadData()

В метод loadData(TempStr x, TempStr z, RealBase y) необходимо передать три параметра:

  1. значение по оси Х
  2. значение по оси Y
  3. значение по ост Z

Передачу данных для построения графика осуществляем в цикле. В нашем случае для оси Х - это дата, для оси Z - это имя клиента, для оси Y - это ежедневные платежи клиентов.

 

  1. Метод setup() вызывает диалоговую форму «Настройка графики».

  Настройка графика

В диалоговой форме можем задать параметры отображения графика. Для просмотра графика используем метод showGraph().

  1. В методах формы перекрываем метод close().

  Метод close()

Этот метод срабатывает при закрытии формы. В этом методе после super() вызываем метод closeGraph() для освобождения памяти, которая использовалась для рисования графика.

  1. В методах формы перекрываем метод init() Это необходимо сделать для инициализации размеров формы. После super() добавляем необходимый для этого код.

!!!Это частный случай. Обычно для инициализации размеров перекрывать метод init() нет никакой необходимости, но на нашей форме нет контролов, которые определяли бы ее размер, поэтому если не делать инициализацию размеров, то форма будет открываться маленького размера и ее придется растягивать.

Без инициализации размера формы

  Метод init()

  1. В Design формы создаем контрол ButtonGroup.
  2. В контроле ButtonGroup создаем контрол Button.
  3. Для контрола Button перекрываем метод clicked().
  4. В метод clicked() после вызова super() добавляем вызов метода формы showGraph().

 

Просмотр графика

  1. Открываем созданную нами форму.

Форма с графиком

  1. Нажимаем на кнопку Просмотр графика. (Открывается диалоговое окно, в котором при необходимости можем определить параметры для отображения отчета)

Диалог

  1. После нажатия на Ок, будет построен график, исходя из используемых данных и определенных нами параметров.

График в Аксапте

 

Анатолий Зеров, zerov@rabota-na-rezultat.ru