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

Компоненты страницы Additional палитры компонентов

TBitBtn – кнопка с изображением. Пиктографическая кнопка BitBtn представляет собой популярную разновидность стандартной кнопки TButton. Ее отличительная особенность – свойство Graph, с помощью которого определяется растровое изображение, рисуемое на поверхности кнопки. Еще одно полезное свойство этого компонента – Kind. Это свойство определяет одну из 11 стандартных разновидностей кнопки. Назначение большинства из этих кнопок понятно из их внешнего вида. Кнопка bkClose, например, для модального окна возвращает mrCancel, а для главного окна программы – закрывает его и завершает работу. Как и в кнопках TButton, программист не может управлять цветом поверхности кнопки, но в отличие от TButton может менять цвет цвет надписи на ней.

TImage – отображение картинок. Этот компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растровой картинки, пиктограммы или метафайла. Любой из этих типов изображения содержится в центральном свойстве компонента – Picture. В свойстве Canvas содержится канва, с помощью которой при необходимости программа может отредактировать растровое изображение (но не пиктограмму или метафайл!).

TChart – построитель графиков. Этот компонент предназначен для графического представления числовых данных. Компонент содержит больше количество специфичных свойств, событий и методов – их детальное рассмотрение возможно только в отдельной книге. Рассмотрим общую схему использования этого компонента.

Вначале компонент помещается на форму. После щелчка по нему правой кнопкой мыши вызывается его вспомогательное меню, которое в числе прочих содержит опцию Edit Chart – с помощью этой опции вызывается многолистное окно редактора компонента. Закладка Series этого окна открывает доступ к так называемым сериям – объектам класса TChartSeries, которые, собственно, и будут отображать наборы чисел в графическом виде. Чтобы отобразить данные, нужно создать как минимум одну серию – для этого следует в окне редактора нажать кнопку Add и выбрать подходящий тип графика. После закрытия редактора компонент будет содержать примерный вид графика. Однако его реальный вид зависит от фактических данных, которые создаются в работающей программе и добавляются к серии с помощью методов AddX, AddY или AddXY объекта TChartSeries (получить доступ к нужной серии можно с помощью индексированного свойства SeriesList – первая созданная серия имеет индекс 0, вторая 1 и т. д.).

Пример вывода на график точки с координатами (10,10): Chart1.SeriesList[0].AddXY(10,10,’’,clRed); или просто: Chart1.SeriesList[0].AddXY(10,10); За более полной информацией о компоненте следует обратиться к встроенной Help-службе Delphi или к литературе по программированию в Delphi.

Компиляция, запуск и отладка программы

После ввода текста обработки события и сохранения проекта можно, выбрав команду Compile (компилировать) меню Project, откомпилировать созданное приложение. Если в программе нет синтаксических ошибок, то открывается диалоговое окно Compiling, информирующее о результатах компиляции. После установки Delphi среда программирования может быть настроена так, что это окно на экран не выводится. Для того, чтобы окно Compiling выводилось на экран необходимо выбрать команду Environment Options меню Tools. На вкладке Preferences установить флажок Show compiler process.

Если в процессе компиляции обнаруживается ошибка, то процесс компиляции приостанавливается и открывается диалоговое окно Compiling. В нижнюю часть окна редактора кода компилятор выводит сообщения об ошибках, а также предупреждения и подсказки компилятора.

Пробный запуск приложения можно выполнить непосредственно из среды программирования, не завершая работу Delphi. Для этого необходимо выполнить команду Run меню Run.

Интегрированная среда разработки Delphi предоставляет программисту мощное средство поиска и устранения ошибок в программе – отладчик. Отладчик позволяет выполнять трассировку программы (меню Run, команды Step Over, Trace Into или клавиши F8, F7), контролировать выводимые программой данные, наблюдать значения переменных.

Типовое задание

Создать программу генерации синусоидального сигнала с задаваемой пользователем частотой, начальной фазой и амплитудой. Размер реализации 101 точка. Дискрет между точками 0.01 секунда. График сигнала выводить в отдельном окне.

Порядок выполнения типового задания:

  1. Запустить систему программирования Borland Delphi.

  2. К автоматически созданному «пустому» проекту добавить новую форму: File\New\Form.

  3. Сохранить весь проект в указанное преподавателем место на диске: File\Save All. При сохранении сначала нужно задать имя второго модуля (соответствующего только что созданной форме – по умолчанию Unit2.pas), затем задать имя первого модуля (соответствующего форме, созданной при запуске Delphi – по умолчанию Unit1.pas), после этого задается имя всего проекта (по умолчанию – Project1.dpr).

  4. На первой форме разместить следующие элементы из палитры компонентов:

    1. Edit1 – для ввода частоты сигнала. Очистить свойство Text компонента. В свойстве Text можно задать значение по умолчанию, например 1.

    2. Edit2 – для ввода начальной фазы сигнала. Очистить свойство Text компонента. В свойстве Text можно задать значение по умолчанию, например 0.

    3. Edit3 – для ввода амплитуды сигнала. Очистить свойство Text компонента. В свойстве Text можно задать значение по умолчанию, например 10.

    4. Label1 – метка, поясняющая значение, вводимое в поле Edit1. Свойству Caption присвоить следующее значение: Частота сигнала, Гц.

    5. Label2 – метка, поясняющая значение, вводимое в поле Edit2. Свойству Caption присвоить следующее значение: Начальная фаза сигнала, град.

    6. Label3 – метка, поясняющая значение, вводимое в поле Edit3. Свойству Caption присвоить следующее значение: Амплитуда сигнала, мВ.

    7. Кнопку Button1. Свойству Caption присвоить следующее значение: Построение графика.

    8. Кнопку BitBtn1. Свойству Kind присвоить значение bkClose. Это обеспечит завершение работы программы при нажатии этой кнопки. Свойству Caption присвоить следующее значение: Выход из программы.

  5. На второй форме разместить следующие элементы из палитры компонентов:

    1. Chart1 – область для построения графика. Нажать на компоненте правой кнопкой, выбрать Edit Chart и добавить новый график (Add). В свойствах добавленного графика (серии) желательно найти свойство Show in Legend и отключить его. На странице Titles изменить название графика на График сигнала. На странице Axis задать названия осей: Амплитуда, Время.

    2. Кнопку BitBtn1. Свойству Kind присвоить значение bkClose. Это обеспечит закрытие окна построения графика при нажатии этой кнопки. Свойству Caption присвоить следующее значение: Закрыть окно.

  6. Задать имя первой формы: Генератор сигнала.

  7. Задать имя второй формы: Построение графика.

  8. Разместить обе формы на экране так, чтобы они не перекрывали друг друга. При необходимости изменить их размеры, а так же размеры и расположение добавленных компонентов. Оформление внешнего вида программы на этом закончено. Примерный вид форм представлен на рисунке 7.1.

  9. Щелкнуть два раза левой кнопкой мыши на кнопке Построение графика. Появится заготовка процедуры TForm1.Button1Click, в которой нужно написать программу расчета и построения графика.

  10. В разделе implementation (над заголовком процедуры TForm1.Button1Click) нужно подключить модуль, соответствующий второй форме (по умолчанию: uses unit2).

  11. В разделе констант процедуры TForm1.Button1Click задается число точек на графике N=100 и дискрет времени между точками Dt=0.01.

  12. В разделе переменных описывается переменная цикла i, частота F, начальная фаза NF, текущий отсчет С, амплитуда А.

  13. Считывается из поля Edit1 значение частоты и преобразуется в вещественный тип: F:=StrToFloat(Edit1.Text);

  14. Аналогично получаются значения начальной фазы и амплитуды.

  15. Для того, чтобы программа могла строить различные графики без завершения работы и повторного запуска, необходимо добавить процедуру удаления точек предыдущего графика: form2.Chart1.SeriesList[0].Clear.

  16. Создать цикл от 0 до N для расчета значений синусоидального сигнала и формирования графика.

а) б)

Рисунок 7.1. Вид форм программы

  1. В цикле считать значения синусоиды в каждой точке по формуле: sin((N*F*pi/180)+(2*pi*F*i*Dt)), где Dt=1/N. Здесь слагаемое в первых скобках – начальная фаза, слагаемое во вторых скобках – текущее значение фазы, i – переменная цикла.

  2. Полученное значение умножить на амплитуду А.

  3. Сформировать точку на графике, который расположен на второй форме: form2.Chart1.SeriesList[0].AddXY(i*Dt,C). Здесь С – посчитанное значение, i*Dt – текущее время, (i*Dt,C) – координаты точки на графике.

  4. На этом цикл по N закончен. Далее необходимо вывести форму с графиком на экран: form2.Showmodal (за циклом).

  5. На этом написание программы завершено. Необходимо сохранить программу. Примерный вид работающей программы представлен на рисунке 7.2.

Рисунок 7.2. Примерный вид работающей программы

Перечень рекомендуемой литературы

  1. Delphi 7: Наиболее полное руководство / А. Хомоненко, В. Гофман, Е. Мещеряков, В. Никифоров; Ред. А. Хомоненко. – СПб: БХВ - Петербург, 2003. – 1200 с.

  2. Епанешников А. М., Епанешников В. А. Delphi 4: Среда разработки. – М.: Диалог-Мифи, 1999 – 300 с.: ил.

  3. Фаронов В. В. Delphi: Программирование на языке высокого уровня: Учебник для ВУЗов СПб.: Питер, 2003 – 639 с.

  4. Культин Н. Delphi 4. Программирование на Object Pascal – СПб.: БХВ – Санкт-Петербург, 1999. – 480 с., ил.