Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
67
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

2.3.7.6. Простая диаграмма (Gauge)

Компонент (панельSamples) используется для вывода простой диаграммы, показывающей значение параметра в процентном отношении.

Специфичные свойства

Kind‑ вид диаграммы:gkHorizontalBar(горизонтальная),gkVerticalBar(вертикальная),gkPie(секторная),gkNeedle(спидометр),gkText(текст).

ForeColor, BackColor‑ цвет индикатора и фона.

Progress‑ значение параметра в процентном отношении.

MinValue, MaxValue‑ минимально и максимально допустимое значение.

ShowText‑ вывод текста на диаграмме (True).

Примервывода минутного секундомера:

Procedure TForm1.Button1Click(Sender: TObject); //кнопка запуска

Var i:Integer; Begin Gauge3.MinValue:=0; Gauge3.MaxValue:=60;

Gauge3.Kind:=gkPie; Gauge3.ShowText:=False; I:=GetTickCount;

While GetTickCount<=I+60000 //цикл на одну минуту (п.1.7.3)

Do Gauge3.Progress:=(GetTickCount‑I) Div 1000 End;

2.3.7.7. Диаграмма (Chart)

Компонент (панельAdditional) позволяет строить дву‑ и трехмерные диаграммы. Создать диаграмму можно двумя способами: мастером диаграмм и программными средствами Паскаля (п. 2.2.8.4).

Мастер диаграммвызывается командой File/New/ Busi­ness/Tee­ChartWizard. После выбора источника (база данных или нет), типа диаграммы (рис.2.3.7.7), вывода леген­ды и меток появляется но­вая форма с объектомChart1. Настройка этого объ­екта осуществляется ре­дак­тором, который вызы­вается двойным щелчком по объектуChart.

Рис. 2.3.7.7.Окно выбора типа диаграммы

При программном вариантеможно сразу разместить объектChartи настроить его редактором. Редактор имеет две страницы (рис.2.3.7.8).

Рис. 2.3.7.8. Страницы редактора диаграмм

Страница Chart(диаграмма) содержит следующие панели:

Series(ряд данных) ‑ объединяет ряд диаграмм в одну кнопкойAdd, при этом над значениями можно выполнять различные арифметические и другие операции.

General(общие) ‑ элементы управления: экспорт (Export), сдвиг границы изображения (Margins), масштабирование (Zoom), прокрутка (AllowScroll).

Axis(оси) ‑ координаты осей, масштаб, заголовки, шаги сетки и др.

Titles(заголовки) ‑ оформление заголовка, положение, шрифты, цвет.

Legend(легенда) ‑ внешний вид и содержание легенды.

Panel(панель) ‑ форма и вид основы, на которой находится диаграмма.

Paging(страницы) ‑ разделение диаграммы на страницы, подбирая значе­ния числа на странице (PointsperPage).

Walls(границы) ‑ цвет и размеры границ диаграммы.

3D(объем) ‑ вращение и масштабирование объемной диаграммы.

Страница Series(ряды данных) ‑ задаются параметры каждого ряда (графика), добавленного при помощи страницыChart. Выбор наст­раиваемо­го ряда производится из верхнего открывающегося списка. Страница имеет следующие панели:

Format(формат) ‑ внешний вид: линии, цвета и др.

Point(точки) ‑ размеры, стили, рамки элементов диаграммы.

General(общие) ‑ элементы управления: показ легенды и вид курсора (General), форматы вывода чисел и процентов (Formats), число и расположение осей и текущего времени.

Marks(метки) ‑ внешний вид меток (Label‑ наименование легенд).

Data Source(источник данных) ‑ указывает тип источника данных:RandomValues(генерация случайных чисел),NoData(отказ от генерации значений),Function(результат применения выбранной функции к значениям ряда).

Свойство Series содержит описание числовых рядов (отсчет с нуля). Каждый элемент массива типаTPointSeriesописывает один ряд.

Специфичные методы

Add(V:Double, L:String,C:TColor):Longint‑ добавляет в ряд новое значениеVс названиемLи выводит цветомC.

Delete(N)‑ удаляет значение под номеромNиз ряда.

Clear‑ удаление всех значений из ряда.

Примерформирования диаграммы (изображенной в заставке данного пункта) из двух плоских линейных графиков, значения для которых берутся из строк многостроковых полейMemo1 иMemo2.

procedure TForm1.Button1Click(Sender: TObject); //кнопка очистки рядов

Begin Chart1.Series[0].Clear; Chart1.Series[1].Clear; End;

Procedure TForm1.Button2Click(Sender:TObject);// вывод графиков

Var i:Integer; Begin For i:=0 To Memo1.Lines.Count‑1 Do //первый ряд

Chart1.Series[0].Add(StrToFloat(Memo1.Lines[i]), IntToStr(i),clRed);

For i:=0 To Memo2.Lines.Count‑1 Do//формирование значений второго ряда Chart1.Series[1].Add(StrToFloat(Memo2.Lines[i]), IntToStr(i),clGreen); End;