Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 2_3_15.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
287.23 Кб
Скачать

13

6 ч. Тема 2.3.15

Тема 2.3.15: Организация библиотек подпрограмм. План.

  1. Основные свойства компонентов Chart и dbChart (самостоятельная работа).

  2. Пример программы построения диаграмм (самостоятельная работа).

  3. Пример проекта с собственной библиотекой (самостоятельная работа).

Список используемой литературы:

  1. Митчелл К. Керман, Программирование и отладка в Delphi. Учебный курс. - М: Издательский дом “Вильямс”, 2002. Стр. 506-510.

  2. С. Бобровский, Delphi 7. Учебный курс. –М: Издательский дом “Питер”, 2003. Стр. 191-199.

  3. Г.В. Поддубный. Введение в программирование. Учебное пособие. –О: ОНАЗ, 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