четверг, 8 августа 2019 г.

Delphi 12

1. Создать приложение, которое будет выводить круговую диаграмму и графики функций Sin и Cos.
1) Запустите ИРС Delphi 7 и создайте папку под новый проект.
2) Создайте новый проект и сохраните его в созданную папку.
3) Оформите внешний вид окна: задайте заголовок «Телефонный справочник» (Caption), размеры (Width, Height), позицию / положение (Position / Top, Left) формы.
4) Поместите на главную форму 2 панели Panel, так чтобы они занимали всю область формы. Panel1.Align = alTop, Panel2.Align = alButtom, чтобы привязать из к верхней и нижней границам формы соответственно.
5) Поместить на Panel1 компонент Chart1 и на Panel2 компонент Chart2. Задать свойству Align этих компонент значение alClient, чтобы они при изменении размера формы изменяли свои размеры вместе с панелями.
6) Перейти в редактор диаграмм Chart1. На вкладке Chart, на вкладке Series щелкнуть на кнопке Add – добавить серию. Вы попадаете в окно, в котором можно выбрать тип диаграммы или графика. В данном случае выберем Pie – круговая диаграмма.
- Вкладка Titles – позволяет задавать заголовок диаграммы, установите «Диаграмма продукции подразделений».
- Вкладка Legend – позволяет задавать позволяет задавать параметры отображения легенды диаграммы (списка обозначений) или вообще убирать ее с экрана.
- Вкладка Panel – определяет вид панели, на которой отображается диаграмма.
- Вкладка 3D – позволяет определить внешний вид диаграммы: сдвиг, наклон, толщину и т.д.
7) В редакторе диаграмм Chart1, на Вкладке Series можно выбрать дополнительные характеристики отображения серии.
На вкладке Format для круговой диаграммы можно включить опцию Circled Pie, которая обеспечит при любом размере компонента Chart отображение диаграммы в виде круга.
На вкладке Marks кнопки группы Style определяют, что будет написано на ярлычках, относящихся к отдельным сегментам диаграммы: Value – значение, Percent – проценты, Label – названия данных и т.д. В приведенном примере включена кнопка Percent, а на вкладке General установлен шаблон процентов, обеспечивающий отображение значений с точностью два десятичных знака.
8) Есть возможность отображать одни и те же данные с помощью разных типов диаграмм. Для этого в редакторе диаграмм Chart1, на вкладке Chart, нажав на вкладке Series кнопку Clone, а затем для этой новой серии нажать кнопку Change (изменить) и выбрать другой тип диаграммы, например, Bar. Чтобы эти два разных типа диаграммы не появлялись на одном рисунке одновременно, нужно выключить индикатор этой новой серии на вкладке Series, а потом предоставить пользователю выбрать тот или иной вид отображения диаграммы, например с помощью события OnClick для диаграммы.
9) Повторить описанные выше действия для задания свойств компонента Chart2: надо задать две серии и выбрать тип диаграммы Line. Для графиков на вкладках Axis и Walls можно задать координатные характеристики осей и трехмерных граней графика.
10) Осталось написать код, задающий данные, которые нужно отображать.
Для Chart1 зададим в круговой диаграмме некоторые константные данные, а в графиках для Chart2 – функции Sin и Cos.
Процедуру загрузки данных можно включить в событие OnCreate формы:
procedure TForm1.FormCreate(Sender: TObject);
const
A1=155;
A2=251;
A3=203;
A4=404;
var
i: word;
begin
With Series1 do
Begin
Clear;
Add(A1,'Цех 1',clYellow);
Add(A2,'Цех 2',clBlue);
Add(A3,'Цех 3',clRed);
Add(A4,'Цех 4',clPurple);
end;
Series2.Assign(Series1); // переписывает данные из Series1 в Series2
Series2.Active := false; // делает невидимой Series4
Series3.Clear;
Series4.Clear;
for i:=0 to 100 do
begin
Series3.AddXY(0.02*Pi*i,sin(0.02*Pi*i),'',clRed);
Series4.AddXY(0.02*Pi*i,cos(0.02*Pi*i),'',clBlue);
end;
end;
Методы Clear нужны, если в процессе работы приложения нужно обновлять данные. Без этих методов повторное выполнение методов Add и AddXY только добавит новые точки, не удалив прежние.
Если для данных, отображаемых в диаграмме предусмотрены две серии разных видов Pie и Bar: Series1 и Series2, то в событие onClick диаграммы Chart1 можно ввести процедуру, изменяющую по требованию пользователя тип диаграммы:
procedure TForm1.Chart1Click(Sender: TObject);
begin
Series1.Active := not Series1.Active;

Series2.Active := not Series2.Active;
end;
11) Получим главную форму следующего вида:
12) Сохраните проект и запустите программу на исполнение.

13) Для компонента Chart2 свойства AllowPanning=pmBoth и AllowZoom=True позволяет прокручивать наблюдаемую часть графика вовремя выполнения, нажимая правую кнопку мыши; и изменять во время выполнения масштаб изображения, вырезая фрагменты диаграммы или графика курсором мыши.

Комментариев нет:

Отправить комментарий