Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
21 ошибка прогр... 62466
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,132
новичок: tuvius
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Меры близости на векторах в Delphi + Блок схемы
Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...
Программа тестирования (тест) - вступительные экзамены (математика, физи...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Ряды и точки



Мы подошли к самому главному — отображению значений диаграммы. Из-
вестно, что диаграмма может содержать не одну последовательность значе-
ний. Каждая такая последовательность представляет собой ряд, состоящий
из точек.
Точка отражает одно значение из последовательности значений определен-
ного ряда. Точки одного ряда могут быть соединены между собой линиями
или представлять собой отдельные плоские или объемные фигуры, это зави-
сит от выбора типа диаграммы. В любом случае точки имеют между собой
логическую связь и образуют ряды значений. Таким образом, при програм-
мировании значений диаграммы мы имеем дело как минимум с двумя ти-
пами объектов: это объекты, объединенные в коллекцию рядов
SeriesCollection, и объекты, объединенные в коллекцию точек Points. Кол-
лекция точек принадлежит ряду.
Как и любая коллекция, коллекция SeriesCollection обладает свойствами,
позволяющими определить количество элементов этой коллекции, и мето-
дами, обеспечивающими доступ к любому объекту этой коллекции. Метод
Item(i) коллекции SeriesCollection возвращает доступ к элементу Series кол-
лекции. Получив доступ к элементу коллекции, т. е. к ряду диаграммы, мы
имеем возможность настроить его внешний вид. Для этого, как и для анало-
гичных объемных или плоских элементов, используем объекты Border,
Interior и Fill, связанные с параметрами границ и внутренней области объ-
ектов, отображающих точки ряда диаграммы.
Доступ к ряду и его свойствам
var i:integer;
Series:=SeriesCollection(i) ;
Border:=Series.Border;
Interior:=Series.Interior;
Fill:=Series.Fill;



Используя эти свойства, мы можем изменить параметры линии границы
элементов, а также их заливку (рис. 14.15).

Рис. 14.15. Настройка элементов диаграммы
Подписи данных для точек ряда диаграммы также представляют собой гео-
метрические фигуры, содержащие текст. Доступ к ним обеспечивается по-
средством объекта DataLabels, который принадлежит объекту Series из кол-
лекции SeriesCollection. Их внешний вид определяется свойствами линии и
заливки, а также свойствами текста. Свойства текста определяются его ти-
пом, шрифтом, способом выравнивания в рамках прямоугольной области
объекта DataLabels, форматом отображения значений и углом поворота (на-
правлением).
Настройка свойств Подписей данных для точек ряда Диаграммы
DataLabels:variant;
// Выбор типа подписи
procedure T0KBottomDlg8.LabelsTypeChange(Sender: TObject);
begin
case LabelsType.Itemlndex of
0: XlDataLabelsType:=xlDataLabelsShowNone;
1: XlDataLabelsType:=xlDataLabelsShowValue;
2: XlDataLabelsType:=xlDataLabelsShowPercent;
3: XlDataLabelsType:=xlDataLabelsShowLabel;
4: XlDataLabelsType:=xlDataLabelsShowLabelAndPercent;
end;
Series.ApplyDataLabels(Type:=XlDataLabelsType);
end;
// Выбор числового формата для отображения значений
procedure TOKBottomDlg8.sNumberFormatChange(Sender: TObject);
begin
DataLabels:=Series.DataLabels;
DataLabels.NumberFormat:=sNumberFormat.Text;
end;
// Горизонтальное выравнивание текста
procedure TOKBottomDlg8.sHorizontalAlignmentChange(Sender: TObject);
begin
case sHorizontalAlignment.Itemlndex of
0: DataLabels.HorizontalAlignment:=xlHAlignCenter;
1: DataLabels.HorizontalAlignment:=xlHAlignLeft;
2: DataLabels.HorizontalAlignment:=xlHAlignRight;
end;
end;
// Вертикальное выравнивание текста
procedure TOKBottomDlg8.sVerticalAlignmentChange(Sender: TObject);
begin
case sHorizontalAlignment.Itemlndex of
0: DataLabels.VerticalAlignment:=xlVAlignBottom;
1: DataLabels.VerticalAlignment:=xlVAlignCenter ;
2: DataLabels.VerticalAlignment:=xlVAlignTop;
end;
end;
// Угол (направление) текста
procedure TOKBottomDlg8.sOrientationChange(Sender: TObject);
begin
DataLabels.Orientation:=sOrientation.Value;
end;



Настраивая эти свойства, можно существенно изменить внешний вид диа-
граммы, а возможность сочетать варианты выбора позволяет представить
информацию пользователю наиболее наглядно (рис. 14.16).

Рис. 14.16. Настройка подписей ряда диаграммы
Интересные возможности предоставляет применение формата, задаваемого
строкой символов и позволяющего задать необходимый вид для числового
значения. Для задания формата чисел можно использовать символы 0, #, ?,
$ и т. д. (их список ограничивается только вашей фантазией и требования-
ми пользователей). Формат чисел, показанных на рис. 14.16, задан следую-
щим оператором:
DataLabels.NumberFormat:='$000,00';



В рамках выбранного типа диаграммы объект Series дает возможность изме-
нять фигуру для точек ряда. Это осуществляется записью определенной
константы в свойство BarShape объекта Series. Следующая процедура позво-
ляет это сделать.
Изменение вида фигуры для точек ряда диаграммы
procedure TOKBottomDlg8.sBarShapeChange(Sender: TObject);
const xlPyramidToPoint=l;
begin
Series.BarShape:= xlPyramidToPoint;
end;



В данном случае мы устанавливаем отображение точки ряда в виде пирами-
ды (рис. 14.17).
Если внимательно рассмотреть диаграммы на рис. 14.16 и 14.17, то мы об-
наружим отклонение стиля второй точки от остальных точек этого ряда. Это
достигается путем изменения свойств выбранной точки данного ряда. Точки
ряда диаграммы объединены в коллекцию Points, свойства и методы кото-
рой обеспечивают доступ к любой точке ряда. Свойство Count этой коллек-
ции содержит количество элементов коллекции, а метод Item(i:integer) воз-
вращает ссылку на элемент коллекции. Чтобы не повторяться, достаточно
отметить, что свойства объекта Point в большей степени идентичны свойст-
вам объекта Series. Программирование свойств этого объекта более детально
представлено в исходном тексте приложения на сопроводительном компакт-
диске книги.
Рассмотрим еще одно свойство объекта Series, являющееся альтернативой
задания области исходных данных для построения диаграммы. Это свойство
имеет строковый тип и содержит формулу, по которой строится ряд диа-
граммы. Свойство Formula принадлежит непосредственно объекту Series.
Следующая процедура иллюстрирует его использование для получения вы-
ражения формулы (рис. 14.18).
Получение строки, содержащей формулу для заданного ряда
procedure TOKBottomDlg8.Buttonl6Click(Sender: TObject);
var eee_:string;
begin
eee_:=Series.Formula;
MessageBox(handle,pchar(eee_) , ' ' , 0 ) ;
end;




Рис. 14.17. Изменение вида фигуры для выбранного ряда

Рис. 14.18. Формула для построения ряда
Используя формулы для объекта Series, можно изменить область исходных
данных для построения ряда.
Следующий оператор изменяет границы области исходных данных построе-
ния для выбранного ряда диаграммы:
Series.FormulaLocal = '=SERIES(,,Лист1!R5C1:R5C7,2)';


Опубликовал Kest Октябрь 02 2009 19:29:25 · 0 Комментариев · 5498 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
XPmenu
Современное проек...
Нестандартные при...
С. Г. Горнаков - ...
Работа с картотеками
Клавиатурный трен...
Книга по Delphi (...
Графика в проекта...
Программирование ...
База Allsubmitter...
Функции Visual Basic
Язык программиров...
Turbo Pascal for ...
База англоязычных...
Открытие Cd-ROM'a...
Расширенный загру...
Print Grid
Язык программиров...
Geo-Whois
DelphiX

Топ загрузок
Приложение Клие... 100568
Delphi 7 Enterp... 93525
Converter AMR<-... 20124
GPSS World Stud... 16037
Borland C++Buil... 13435
Borland Delphi ... 9409
Turbo Pascal fo... 7146
Калькулятор [Ис... 5350
Visual Studio 2... 5054
FreeSMS v1.3.1 3577
Случайные статьи
Если 1IS требует к...
Другие платформы у...
Случайные последов...
Потоки ввода-вывода
В версии Android SDK
Ограничение проток...
Процедура Fill Pol...
Ламбда-подъем с ис...
Изменение направле...
Размещение прокси-...
По умолчанию в ред...
В моей системе на ...
Pointer variable e...
Букмекерская конто...
Программы для созд...
Технология СС/РР
Создание установоч...
Специальные встр...
Настраиваемый клас...
Глава 24. Что д...
Определение нештат...
Memory reference e...
ЛОГИЧЕСКИЕ КЛЮЧИ В...
Множество. Определ...
реестр Windows 200...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?