Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по курсу Delphi.doc
Скачиваний:
11
Добавлен:
15.11.2019
Размер:
1.81 Mб
Скачать

Пример составление программы

Пример 6.1. Построить график функции =15(1+cos), [0, 2].

Для выполнения задания нам понадобится компоненты Image, Chart и два компонента типа Button для организации кнопок расчета и выхода.

Вынесем требуемые компоненты на форму и расположим их так, как показано на рис. 6.1.

Рис. 6.1. Пример расположения компонент на форме

Рис. 6.2. Окно Editing

График функции будем выводить с помощью компонента Chart. Для этого сначала создадим «заготовку» для графика. Щелкнем левой кнопкой мыши на компоненте Chart, выделяя его, а затем еще раз дважды щелкнем левой клавишей мыши по нему. Результатом будет появление окна Editing (см. рис. 6.2).

После этого необходимо нажать кнопку «Add» (Добавить), в появившемся окне выбрать «Line» (Линия), снять «галочку» с альтернативы «3D» и затем нажать кнопку «OK». Результатом будет добавление на вкладку Series одной строки (см. рис. 6.3).

Рис. 6.3. Добавление графика

Рис. 6.4. Общий вид формы

После этого можно нажимать кнопку Close. Видно, что несколько изменился сам вид компонента Chart, на нем появились координатные оси для графика (см. рис. 6.4).

Рис. 6.5. Изменения в компоненте Chart

Теперь можно изменить заголовок графика, а так же убрать справа от него вкладку, содержащую значения функции. Для этого нужно снова вызвать окно Editing и на вкладке Title вместо Tchart набрать «График функции ro=15(1+cos(fi)), fi [0,2pi]». На вкладке Legend нужно снять галочку с альтернативы Visible. По нажатии на кнопку Close окно Editing закроется, и компонент Chart приобретет вид, показанный на рис. 6.5.

Ниже будет приведен текст процедуры TForm1.Button1Click, вызываемой по нажатии кнопки Старт и отвечающей за построение графика.

procedure TForm1.Button1Click(Sender: TObject);

Var i:integer;

ro,fi,x,y:real;

Begin

for i:=0 to 100 do

begin

fi:=2.0*pi*i/100;

ro:=15*(1+cos(fi));

x:=ro*cos(fi);

y:=ro*sin(fi);

Series1.AddXY(x,y);

end;

end;

Строка Series1.AddXY(x,y) добавляет на график новую точку и соединяет ее линией с предыдущей. Следует помнить, что Delphi по умолчанию контролирует монотонность нарастания или убывания аргумента, т.е. если в цикле будут вводиться точки сначала с нарастанием, а потом с убыванием аргумента, то они будут соединены линиями не в порядке ввода, а в порядке возрастания аргумента. Для того, чтобы отключить этот контроль, необходимо в Object Inspector для объекта Series1 на вкладке Properties выбрать свойство XValues\Order и присвоить ему значение IoNone.

Компонент Image будем использовать для вывода рисунка, на котором будет изображен график функции. Рисунок необходимо предварительно создать в каком-либо графическом редакторе и сохранить в файле с расширением *.bmp.

Рисунок, который будет выведен в поле компонента Image, можно задать как во время разработки формы приложения, так и во время работы программы.

Во время разработки формы рисунок задается установкой значения свойства picture путем выбора файла иллюстрации в стандартном диалоговом окне, которое появляется в результате щелчка на командной кнопке Load окна Picture Editor Чтобы запустить Image Editor, нужно в окне Object Inspector выбрать свойство Picture и щелкнуть на кнопке с тремя точками.

Если размер рисунка больше размера компонента, то для того, чтобы рисунок входил в размеры компонента, необходимо свойству Constraints\strech нужно присвоить значение True. Размеры рисунка автоматически подстроятся под размеры компонента, т.е. рисунок сожмется или растянется, причем масштаб растяжения или сжатия по вертикальной и горизонтальной оси может быть различен.

Чтобы вывести рисунок в поле компонента Image во время работы программы, нужно применить метод LoadFromFile к свойству Picture, указав в качестве параметра имя файла рисунка. Например, инструкция

Form1.Image1.Picture.LoadFromFile('e:\temp\bart.bmp')

загружает рисунок из файла bart.bmp и выводит ее в поле вывода рисунка (Imagel).

Метод LoadFromFile позволяет отображать иллюстрации различных графических форматов: BMP, WMF, JPEG (файлы с расширением jpg).

В примере был использован первый путь. Для замены цвета фона рисунка на цвет фона формы свойству Transparent было присвоено значение True.

Внешний вид формы после загрузки рисунка показан на рис. 6.6.

Рис. 6.6. Внешний вид формы после загрузки рисунка

Рис. 6.7. Результаты работы программы

Запуск программы осуществляется по нажатию клавиши F9. Результаты работы программы представлены на рис. 6.7.

Задания по вариантам

Построить график и вывести рисунок функции:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

Лабораторная работа №7

Цель работы

Изучить компоненты

Memo, ProgressBar, PageControl

Программа работы

Используя компоненты Memo, Chart, Image, Button, ProgressBar, PageControl написать программу для соответствующего варианта (номер определяется преподавателем).

Описание работы

Компоненты класса TMemo находится на вкладке Standard предназначены для ввода, редактирования и/или отображения достаточно длинного текста. Текст хранится в свойстве Lines класса TStrings и, таким образом, представляют собой пронумерованный набор строк (нумерация начинается с нуля). С помощью свойств и методов этого класса (Count, Add, Delete,Clear и другие) можно динамически формировать содержимое компонента.

Свойства BordeStyle, CanUndo, HideSelection, MaxLentgh, Modified, OEMConvert, OnChange, ReadOnly, SelLength, SelStart, SelText аналогичны соответствующим свойствам класса TEdit. Свойство WordWrap аналогично свойству TLabel.WordWrap. В табл. 7.1. перечислены другие специфичные свойства компонента Memo.

Таблица 7.1.