- •Алматинский университет энергетики и связи
- •Объектно-ориентированное программирование
- •Часть 1
- •Введение
- •1 Лабораторная работа. Создание проекта с использованием компонентов Edit, Label, Memo, Button
- •1.1 Этапы создания оконного приложения
- •1.2 Задание к лабораторной работе
- •1.3 Контрольные вопросы
- •1.4 Варианты заданий
- •2 Лабораторная работа. Использование компонентов ListBox, ComboBox
- •2.1 Списки ListBox, ComboBox
- •2.2 Задание к лабораторной работе
- •2.3 Контрольные вопросы
- •2.4 Варианты заданий
- •3 Лабораторная работа. Панель переключателей RadioGroup и список выключателей CheckListBox
- •3.1 Панель переключателей RadioGroup и список выключателей CheckListBox
- •3.2 Задание к лабораторной работе
- •3.3 Контрольные вопросы
- •3.4 Варианты заданий
- •4 Лабораторная работа. Использование таблиц DrawGrid и StringGrid и компонента Timer
- •4.1 Компоненты DrawGrid и StringGrid
- •4.2 Задание к лабораторной работе
- •4.3 Контрольные вопросы
- •4.4 Варианты заданий
- •5 Лабораторная работа. Создание меню. Компоненты Main Menu и Popup Menu
- •5.1 Компоненты Main Menu и Popup Menu
- •5.2 Задание 1 к лабораторной работе
- •5.3 Компоненты ToolBar и StatusBar
- •5.4 Задание 2 к лабораторной работе
- •5.5 Контрольные вопросы
- •5.5 Задания к лабораторной работе
- •6 Лабораторная работа. Построение графиков математических функций. Построение диаграмм с помощью компонента Chart
- •6.1 Поверхность рисования
- •6.2 Система координат
- •6.3 Графические инструменты
- •6.4 Задание 1 к лабораторной работе
- •6.5 Компонент Chart (для отображения графиков и диаграмм)
- •6.6 Задание 2 к лабораторной работе
- •6.7 Контрольные вопросы
- •6.8 Варианты заданий
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение е
- •Список литературы
- •Содержание
6.4 Задание 1 к лабораторной работе
Вывести график функции у=20+х2 на форму. Необходимо прорисовать сетку, оси координат.
План разработки приложения:
1) Поместить на форму компонент PaintBox (палитра компонентов System).
2) Центр системы координат в задании будет перемещен в точку с координатами (50, 200).
3) Для удобства работы в новой системе координат будут написаны специальные функции сх и су, которые предназначены для перевода координат точек из данной системы в систему, принятую в Делфи.
function cx(X:integer):integer; begin
cx:=50+x;
end;
function cy(Y:integer):integer;
begin
cy:=200-y;
end;
4) Прорисовка осей системы координат:
with Form1.Canvas do
begin
//1. прорисовка осей системы координат
pen.Width:=2;
moveTo(cx(0),cy(0));
Lineto(cx(0),cy(160)); //ось х
moveTo(cx(0),cy(0));
Lineto(cx(300),cy(0)); //ось у
5) Прорисовка координатной сетки.
//2.Прорисовка координатной сетки с шагом 20 пикселей
pen.Width:=1;
pen.Style:=psDot;
for i:=1 to 8 do
begin
moveTo(cx(0),cy(i*20));
Lineto(cx(300),cy(i*20));
end;
for i:=1 to 15 do
begin
moveTo(cx(i*20),cy(0));
Lineto(cx(i*20),cy(160));
end;
6) Вывод заголовков осей.
//3.Вывод заголовков осей
font.Size:=15;
TextOut(cx(290),cy(-5),'x');
TextOut(cx(-20),cy(160),'y');
7) Отображение графика.
for i:=0 to 300 do
pixels[cx(i),cy(20+round(i*i/1000))]:=clRed;
8) Сохранить и выполнить запуск проекта (см. рисунок 6.1)
Рисунок 6.1
6.5 Компонент Chart (для отображения графиков и диаграмм)
Компонент Chart расположен на странице Additional. По умолчанию на графике отображается пустая система координат и заголовок Тchart. Настройка параметров осуществляется с помощью специального конструктора, который вызывается командой EditChart контекстного меню компонента Сhart.
Он позволяет настроить следующие параметры страницы Chart:
- Тип серии (ряда данных) – страница Series;
- Общие параметры – страница General;
- Оси – страница Axis;
- Заголовок – страница Title;
- Легенду – страница – Legend.
Источники данных и параметры серий – страница Series.
Разработка графика начинается с формирования набора серий (рядов). Чтобы добавить серию, необходимо щелкнуть на кнопке Add и в появившемся окне выбрать тип графика.
Обращение к определенной серии обеспечивается свойством Series[index:longint], где index – порядковый номер в списке.
Для динамического добавления точек к серии можно воспользоваться следующим методом:
AddXY(x,y:double;const label:string; color:Tcolor).
6.6 Задание 2 к лабораторной работе
Построить график функции у=х2 с использованием компонента Chart, в строке состояния показывать текущее время.
План разработки приложения:
1) Со страницы Additional поместить на форму компонент Chart1, со страницы Win 32 - Timer1, StatusBar1, также Button1 – «График», Button2 – «Закрыть»..
2) Дважды щелкнуть на компоненте Chart1 или с помощью команды Edit Chart контекстного меню открыть конструктор графика – Editing Chart 1.
3) Щелкнуть на кнопке Add и выбрать тип графика – Line; отменить флажок 3D.
4) Изменить заголовок графика – назвать Парабола. Для этого перейти на страницу Chart – Titles и ввести заголовок графика.
5) Активизировать кнопку «График» и в заготовку обработчика события поместить следующий текст:
for i:=1 to 5 do
begin
a[i]:=i;b[i]:=a[i]*a[i];
chart1.Series[1].AddXY(a[i],b[i],' ',clred);
end;
6) Активизировать кнопку «Закрыть» и ввести команду.
7) Активизировать Timer1 и в обработчике события поместить следующий текст:
statusbar1.Panels[1].Text:=timetostr(now).
8) Сохранить проект и запустить на выполнение (см. рисунок 6.2).
Рисунок 6.2