
- •Тема 2.3.15: Организация библиотек подпрограмм. План.
- •Основные свойства компонентов Chart и dbChart (самостоятельная работа).
- •Пример программы построения диаграмм (самостоятельная работа).
- •Пример проекта с собственной библиотекой (самостоятельная работа).
- •1. Основные свойства компонентов Chart и dbChart.
- •2. Пример программы построения диаграмм.
- •3. Пример проекта с собственной библиотекой.
- •2. Создать вектор х, состоящий из сумм элементов строк.
Тема 2.3.15: Организация библиотек подпрограмм. План.
Основные свойства компонентов Chart и dbChart (самостоятельная работа).
Пример программы построения диаграмм (самостоятельная работа).
Пример проекта с собственной библиотекой (самостоятельная работа).
Список используемой литературы:
Митчелл К. Керман, Программирование и отладка в Delphi. Учебный курс. - М: Издательский дом “Вильямс”, 2002. Стр. 506-510.
С. Бобровский, Delphi 7. Учебный курс. –М: Издательский дом “Питер”, 2003. Стр. 191-199.
Г.В. Поддубный. Введение в программирование. Учебное пособие. –О: ОНАЗ, 1999.
1. Основные свойства компонентов Chart и dbChart.
Прежде, чем рассматривать некоторые настройки компонентов Chart и DBChart, полезно коротко остановиться на некоторых свойствах, объектах и классах, описывающих эти компоненты. Дело в том, что описание этих компонентов довольно сложное и в нем нетрудно запутаться. Для того чтобы сделать обозримым все это множество свойств, в данном разделе даются некоторые справочные сведения. Компоненты Chart и DBChart имеют множество свойств, основными с точки зрения применения данного компонента можно считать перечисленные в табл. 1.
Таблица 1. Основные свойства классов TChart и TDBChart
Свойство |
Назначение |
AllowPanning
AllowZoom
AnimatedZoom
AnimatedZoomSteps AxisVisible Backlmage
BackWall BottomWall Left Wall
|
Управляет возможностью пользователя прокручивать график. Возможные значения: pmNone — прокручивание запрещено, pmHorizontal — разрешена горизонтальная прокрутка, pmVertical — разрешена вертикальная прокрутка, pmBoth — разрешена прокрутка в обоих направлениях Разрешает или запрещает возможность пользователя изменять масштаб графика Определяет скачкообразное, или постепенное изменение масштаба Число шагов постепенного изменения масштаба Определяет видимость координатных осей Изображение на фоне поля графика — объект класса TPicture Это объекты класса TChartWall, описывающие при трехмерном изображении соответственно заднюю, нижнюю и левую стенки (только при View3d = true и View3dWalls = true) |
Свойство |
Назначение |
BottomAxis DepthAxis, LeftAxis, RightAxis, TopAxis Canvas Chart3dPercent
Foot, Title
Legend MarginLeft, MarginTop, MarginRight, MarginBottom MaxPointsPerPage
Page
ScaleLastPage
Series SeriesList
View3d
View3DOptions
View3dWalls |
Координатные оси Это объекты класса TChart Axis
Канва, на которой формируется изображение. Относительны (в процентах) масштаб третьего измерения в трехмерном изображении Объекты класса TChartTitle, описывающие подпись и заголовок графика Легенда (список обозначений) Левое, верхнее, правое и нижнее поля графика
Число точек на страницу. По умолчанию 0 — это значит, что все данные представлены на одной странице. При задании положительного значения MaxPointsPerPage все данные делятся на страницы с заданным числом точек. Навигация по страницам осуществляется с помощью свойства Page и методов NumPages, PreviousPage и NextPage Определяет текущую страницу при значении MaxPoints- PerPage > 0 При значении true масштаб последней страницы такой же, как и предыдущих. При значении false изображение на последней странице растягивается по оси аргументов, чтобы заполнить всю площадь графика Индексированный список серий Индексированный список, определяющий размещение серий по оси Z, направленной вглубь. Эта последовательность указывает, какая серия рисуется поверх другой и какая серия размещается ближе, а какая дальше при трехмерном изображении Обеспечивает трехмерный, или плоский характер изображения Объект класса TView3DOptions, содержащий свойства перестроения трехмерного изображения Разрешает рисование левой и нижней стенок при трехмерном изображении |
В табл. 2 приведен список основных методов класса TChart.
Таблица 2. Основные методы классов TChart и TDBChart
Метод класса |
Назначение |
ChartPreview
|
Вызов диалога предварительного просмотра перед печать |
Метод класса |
Назначение |
ChartXCenter ChartYCenter CopyToClipboardBitmар, CopyToClipboardMetafile GetCursorPos
MaxXValue, MaxYValue, MinXValue, MinYValue
NumPages PreviousPage, NextPage
PrintLandscape, PrintPortrait, PrintPartialCanvas, PrintPartial, PrintRect, Print SaveChartToFile, SaveToBitmapFile, SaveToMetaFile, SaveToMetaFileEnh ZoomRect, ZoomPercent, UndoZoom |
Возвращают координаты соответственно середины горизонтальной и вертикальной осей Копируют изображение в буфер обмена Clipboard в форматах .bmp, .wmf, .emf Возвращает позицию курсора в пикселях типа TPoint, пересчитанную в систему координат поля графиков Возвращают минимальные и максимальные значения со ответствующих указанных в вызове координатных осей Общее число страниц и переход к предыдущей и следующей страницам. PreviousPage эквивалентно Page -1. NextPage эквивалентно Page +1 Методы печати
Методы сохранения изображение в файлах форматов .tee, .bmp, .wmf, .emf
Методы изменения масштаба |
В табл. 3 приведен список некоторых специальных событий для класса TChart.
Таблица 3. Специальные события классов TChart и TDBChart
Событие |
Назначение |
OnAfterDraw
OnAllowScroll
OnClickAxis
OnClickLegend
OnClickSeries |
Наступает после прорисовки изображений всех серий. Обработчик может использоваться для нанесения на график дополнительных изображений и текстов Наступает перед началом прокрутки. Обработчик может использоваться для запрещения прокрутки или для указания величины прокрутки Наступает при щелчке на оси. Обработчик позволяет определить ось и координаты щелчка Наступает при щелчке на легенде. Обработчик позволяет определить координаты щелчка Наступает при щелчке на одной из точек серии. Обработчик позволяет определить координаты щелчка |
Многие из перечисленных в табл. 1 свойств являются объектами, которые в свою очередь обладают множеством свойств, методов и событий. Прежде всего, надо остановиться на классе TChartSeries, являющемся родительским для других специализированных классов серий. В табл. 4 приведены основные свойства этого класса.
Таблица 4. Основные свойства класса TChartSeries
Свойство |
Назначение |
Active ColorEachPoint
Count Cursor
DataSource
FirstValuelndex LastValuelndex
HorizAxis
Marks
ParentChart SeriesColor
ShowInLegend Title
ValueColor ValueFormat
ValueMarkText
VertAxis
XLabel
XValue
XValues
|
Указывает, является ли серия активной При значении true каждая точка или интервал графика между соседними точками окрашивается в свой цвет, который берется из массива ValueColor Число точек серии Вид, который приобретает курсор мыши, перемещающийся над точкой данной серии Источник данных типа TComponent, в качестве которого может фигурировать другая серия, набор данных (компонент типа TTable, TQuery, TClientDataset — это доступно не в компоненте Chart, в компоненте DBChart), компонент ActiveX и др. Индекс первой (последней) точки, в которой значение X расположено между значениями Maximum и Minimum горизонтальной оси, т.е. первой (последней) видимой точки. Если масштаб не увеличивался и свойство Automatic горизонтальной оси = true, то FirstValuelndex = 0, a LastValuelndex = Count - 1. Если в серии нет ни одной видимой точки, FirstValuelndex = LastValuelndex = -1 Указывает горизонтальную ось, связанную с данной серией: aTopAxis — верхняя, aBottomAxis — нижняя Объект класса TSeriesMarks, содержащий информацию о способе отображения маркеров точек серии Родительский компонент Chart или DBChart Цвет серии по умолчанию. Если ColorEachPoint = true, то цвет SeriesColor не используется Определяет, должна ли серия отображаться, в легенде Название серии (может быть написано кириллицей). Используется при отображении в легенде Массив цветов, используемых при ColorEachPoint = true Строка, содержащая формат, используемый для отображения данных серии Индексированный массив маркеров, заданных для соответствующих точек (соответствует XLabel, если для точки задана метка, и YValue, если точка не задана) Указывает вертикальную ось, связанную с данной серией: aLeftAxis — левая, aRightAxis — правая Индексированный массив меток, заданных для соответствующих точек списка XValues Возвращает значение аргумента точки с указанным индексом Index Список класса TChartValueList, содержащий описание множества значений аргумента серии |
Свойство |
Назначение |
YValue
YValues
ZOrder |
Возвращает значение функции точки с указанным индексом Index Список класса TChartValueList, содержащий описание множества значений функции серии Индекс серии в списке SeriesList. Изменение последовательности можно производить с помощью свойства SeriesList |
Остановимся только на классе TChartValueList, описывающем свойства XValues и YValues — списки аргументов и функций. Свойства и методы этого класса приведены в табл. 5.
Таблица 5. Свойства и методы класса TChartValueList
Свойство |
Назначение |
Count DateTime
Delete First Last Locate
MaxValue, MinValue, Total,TotalABS Multiplier Name
Order
Scroll
Sort Valu ValueSource |
Функция, возвращающая число точек в списке Указывает (при значении true), что данные серии — это данные типа дат и времени (TDateTime). При значении false данные воспринимаются как действительные числа Функция, удаляющая из списка точку с указанным индексом Функция, возвращающая первое значение Функция, возвращающая последнее значение Функция, возвращающая индекс точки, в которой значение равно указанной величине, или —1, если точка не найдена Максимальное, минимальное значения, сумма всех значений, сумма модулей всех значений
Множитель, на который умножаются все данные Имя, используемое для идентификации списка данных. Все типы серий имеют имена списков "X" и "Y", но некоторые серии имеют дополнительные списки: например, серии TCandleSeries имеют списки "OpenValues", "CloseValues", "HighValues", "LowValues" Свойство только времени выполнения, определяющее, должны ли точки аргумента автоматически сортироваться в возрастающей или убывающей последовательности, или должна сохраняться их первоначальная последовательность. Возможные значения: loNone — не сортируются, loAscending — сортируются в порядке возрастания, loDescending — сортируются в порядке убывания. Значение loNone позволяет строить многозначные графики Циклический сдвиг всех точек на одну позицию влево. Первая точка (First) становится последней (Last) Сортировка списка в соответствии со значением свойства Order Индексированный список всех значений Строка, указывающая источник данных. Если свойство серии DataSource ссылается на набор данных, то ValueSource — имя поля. Если свойство DataSource ссылается на другую серию, то ValueSource — имя Name в списке TChartValueList |
Класс TChartAxis описывает объекты, отображающие координатные оси. В табл. 6 приведены основные свойства этого класса.
Таблица 6. Основные свойства класса TChartAxis
Свойство |
Назначение |
Automatic
AutomaticMaximum AutomaticMinimum
AxisValuesFormat DateTimeFormat
Labels
LabelsMultiline
LabelsOnAxis
LabelStyle
Logarithmic
Maximum, Minimum
RoundFirstLabel Title
Visible |
Задает автоматический выбор масштаба в соответствии с минимальным и максимальным значениями данных серий, связанных с этой осью Задают при Automatic = false автоматический выбор соответственно максимального и минимального значения на оси Строки форматирования действительных чисел и дат/времени, используемые при отображении меток делений осей Задает или запрещает отображение надписей около делений оси Задает или запрещает отображение надписей в нескольких строках Задает или запрещает отображение надписей в начальной и конечной точках оси Определяет, что именно отображается около делений оси: talAuto — автоматический выбор стиля, talNone — ничего, talValue — численные значения, talMark — метки, стиль которых задается свойством серии Series-Marks, talText — текст меток, содержащийся в свойстве серии XLabels Определяет логарифмический (при значении true) или линейный масштаб Максимальное и минимальное значения. Свойства доступны (даже для чтения) только при Automatic = false Задает или запрещает округление начальной точки оси Объект, отображающий заголовок оси. Имеет свойства Caption — надпись, Angle — угол (0, 90, 180, 270 или 360 градусов), Font — шрифт Определяет видимость оси |
У класса TChartAxis имеется еще множество методов и свойств, определяющих метки оси, их длину, частоту, линии, используемые при рисовании, начальные и конечные точки и т.п. Все эти свойства и методы могут потребоваться только в случае, если вас не устраивает стиль оси, принятый по умолчанию.
Класс TView3DOptions описывает объект (свойство) View3DOptions, обеспечивающий перестроение трехмерных изображений. Этот класс имеет свойства, представленные в табл. 7.
Таблица 7. Свойства класса TView3DOptions
Свойство |
Назначение |
Elevation
HorizOffset
Orthogonal
Perspective
Rotation
Tilt
VertOffset
Zoom
ZoomText |
Наклон изображения в градусах. 360 — без наклона, 270 — вид сверху. Действует только при Orthogonal = false Горизонтальный сдвиг: положительное значение — сдвиг вправо, отрицательное — влево Булево свойство, задающее (при значении true) ортогональное отображение. При этом значении Orthogonal не действуют свойства Elevation, Rotation, Perspective Отображение перспективы, значения от 0 (отсутствие перспективы) до 100%. Действует только при Orthogonal = false Горизонтальное вращение вокруг вертикальной оси. Значения от 0-360 градусов. Действует только при Orthogonal = false Вертикальное вращение вокруг горизонтальной оси. Значения от 0-360 градусов. Действует только при Orthogonal = false Вертикальный сдвиг: положительное значение — сдвиг вниз, отрицательное — вверх Масштаб в процентах. Значение > 100 — увеличение изображения, значение < 100 — уменьшение Определяет, должен ли размер текста изменяться при изменении значения Zoom |