Навигация
Главная
Поиск
Форум
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
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 64156
Модуль Forms 63864
ТЕХНОЛОГИИ ДОСТ... 60746
Пример работы с... 60733
Имитационное мо... 56268
Реклама
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

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

Моделирование автомойки на GPSS + Отчет + Блок схемы
База данных студентов на Delphi + Microsoft SQL Server
Моделирование интернет кафе на GPSS + Отчет

Реклама



Подписывайся на 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 October 02 2009 19:29:25 · 0 Комментариев · 5244 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
PolyFlow
Панель "Случайное...
Работа с матрицами
Bitmap [для кнопок]
CwstatusBar
Таймер и секундомер
Animated Menus
Архив значков
Импорт новостей ...
База для Allsubmi...
В.Понамарев - COM...
База данных фильм...
Rss Parser
FreeNet
Calendar
Клавиатурный трен...
RxLIB
Autorunner
Microsoft Press -...
BDEPack

Топ загрузок
Приложение Клие... 100455
Delphi 7 Enterp... 86126
Converter AMR<-... 20071
GPSS World Stud... 12522
Borland C++Buil... 11608
Borland Delphi ... 8519
Turbo Pascal fo... 7035
Visual Studio 2... 4992
Калькулятор [Ис... 4744
FreeSMS v1.3.1 3539
Случайные статьи
Занятие 3. Распрос...
ЯЧЕЙКИ В GPSS
Инициализация глоб...
Контекстная реклама
История возникнове...
Пошаговый анализ к...
Порождение класса ...
ввод строки произв...
Передача коммутато...
Алгоритмы и не алг...
Сообщения протокол...
Как включить отобр...
ASSEMBLE (СОЕДИНИТЬ)
Как реализуется поиск
Используйте (ГАК д...
WDQTABLE (ВЗВЕШЕНН...
Расширение
Порты ТСР и UDP, н...
Работа с папками SMS
Документируйте в п...
nl
Страница управлени...
Удаление узлов в D...
Список алгоритмов ...
Простейший пример ...
Статистика



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


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