687.00K
Категория: ПрограммированиеПрограммирование

Основы алгоритмизации и программирования элементы объектно-ориентированной разработки программ

1.

Основы алгоритмизации
и программирования
элементы
объектно-ориентированной
разработки программ
Преподаватель отделения информатики ГОУ СПО СГКБиИ

Панфилова Т.Б.

2.

ТЕМА 3:Разработка
приложения средствами
Delphi
ЦЕЛЬ: 1. Познакомиться с объектом Форма и
размещением на ней управляющих
элементов.
2. Определить этапы создания проекта,
технологию выполнения проекта
3. Научиться осуществлять управление
параметрами среды разработки

3.

В соответствии с порядком разработки
приложений с графическим
интерфейсом необходимо выполнить
два взаимосвязанных этапа:
1.Проектирование функционального
интерфейса приложения;
2.Программирование процедур
обработки событий, возникающих при
работе пользователя с приложением;

4.

III.1
ПРОЕКТИРОВАНИЕ ФУНКЦИОНАЛЬНОГО
ИНТЕРФЕЙСА ПРИЛОЖЕНИЯ
А) В процессе СОЗДАНИЯ ИНТЕРФЕЙСА ПРИЛОЖЕНИЯ
происходит последовательное размещение компонентов в
окне
ФОРМЫ,
таким
образом,
чтобы
компоненты
соответствовали функциональному назначению приложения.
Палитра КОМПОНЕНТОВ
Редактировать размещение компонентов
на форме можно с помощью контекстного
меню или группы команд меню Edit:
Окно ФОРМЫ
Align – выравнивание группы компонентов;
Bring to Front – перевод на передний
план;
Send to Back – перевод на задний план;
Size – установка новых размеров.

5.

Б) Далее необходимо определить свойства компонентов,
задействованных в проектировании интерфейса.
По типу хранящихся в них данных,
СВОЙСТВА ДЕЛЯТСЯ НА СЛЕДУЮЩИЕ ГРУППЫ:
простые – свойства, значения которых являются числами
или строками (например, Caption, Name, Left, Top);
перечисляемые – свойства, которые могут принимать
значения из предложенного списка (например, Visible и
Enabled могут принимать значения True или False);
множества
– значения которых представляют собой
комбинацию
значений
из
предлагаемого
множества
(например, свойство формы BorderIcon);
объекты – свойства, значения которых представляют
собой объекты. В области значения свойства – объекта в
скобках указывается тип объекта (например, свойство Font
типа TFont).

6.

Управлять свойствами компонента можно
непосредственно в окне Конструктора формы
или с помощью Инспектора объектов:

7.

Для доступа к свойствам компонента через окно
ИНСПЕКТОРА
ОБЪЕКТОВ
необходимо
сначала
в
раскрывающемся списке верхней части окна, выбрать нужный
компонент:

8.

В левой
части окна
Инспектора
объектов
приводятся
названия
всех свойств
выбранного
компонента
Для каждого
свойства
справа
содержаться
значения
данных
свойств.

9.

Чтобы изменить значения свойств необходимо
выбрать свойство, и в зависимости от типа
данных свойства, выполнить следующие
действия:
В случае простого свойства –
ввести
в
правой
колонке
инспектора
объектов
новое
значение:

10.

Чтобы изменить значения свойств необходимо
выбрать свойство, и в зависимости от типа
данных свойства, выполнить следующие
действия:
В случае
перечисляемого
свойства – открыть список
появившийся в
соответствующей ячейке
правой колонки:

11.

Чтобы изменить значения свойств необходимо
выбрать свойство, и в зависимости от типа
данных свойства, выполнить следующие
действия:
В случае множества
свойства – установить
значение TRUE на
выбираемых элементах
множества:

12.

Чтобы изменить значения свойств необходимо
выбрать свойство, и в зависимости от типа
данных свойства, выполнить следующие
действия:
В случае объекта- заполнить отдельно значение
каждого поля объекта или воспользоваться
диалоговым окном задания значений:

13.

Утверждается
изменение
«ENTER», отменяется –
неправильного
значения
сообщение об ошибке:
свойства
клавишей
«ESC». При вводе
свойства,
выдается
Результат изменения свойств компонента, сразу
отображается в окне Конструктора ФОРМ.

14.

При выполнении приложения,
свойства компонентов
можно изменять с помощью
операторов присваивания:
ПРИМЕР: Form1.coption:=‘НОВАЯ ФОРМА’;
Имя компонента
Значение свойства
разделитель
Свойство компонента
Оператор присваивания

15.

Программирование процедур
обработки событий, возникающих
при работе пользователя с приложением
III.2
На втором этапе разработки приложения для каждого
компонента размещенного на форме, разработчик
определяет нужную реакцию на те или иные действия
пользователя
(например
нажатие
кнопки,
выбор
переключателя и т.п.).
Каждый компонент имеет свой набор событий, на который он
может реагировать. Существует 2 категории стандартных
событий, определенных для всех визуальных компонентов:
1. события, определенные
визуальных компонентов;
для
всех
без
исключения
2. События, характерные только для оконных визуальных
компонентов.

16.

Табл.1 события, общие всех визуальных компонентов
СОБЫТИЕ
МОМЕНТ ВОЗНИКНОВЕНИЯ И ПАРАМЕТРЫ ПРОЦЕДУР
OnClick
Возникает при нажатии левой клавишей мыши в области
компонента или при нажатии клавиши ENTER, если на
компонент установлен фокус.
OnDblClick
Возникает при двойном нажатии мыши в области
компонента
OnDragDrop
Возникает в случае, когда пользователь отпустил
перетаскиваемый
объект.
Параметр
Source
соответствующей процедуры - обработчика содержит
указатель на объект, который был «отпущен», а параметр
«Sender» - на объект, принявший «перетаскиваемый».
OnDragOver
Возникает в случае, когда пользователь «перетаскивает»
объект для его размещения в рамках другого компонента
OnEndDrag
Возникает в конце процедуры «перетаскивания объекта».
Параметр Sender соответствующей процедуры –
обработчика указывает на перетаскиваемый объект, а
параметр Target – на его образ в рамках принимающего
компонента.

17.

Табл.1 события, общие всех визуальных компонентов
СОБЫТИЕ
МОМЕНТ ВОЗНИКНОВЕНИЯ И ПАРАМЕТРЫ ПРОЦЕДУР
OnMouseDown
Возникает при нажатии любой клавиши в области
компонента.
Параметр
Button
соответствующей
процедуры – обработчика этого события, позволяет
определить, какая клавиша была нажата, параметр Shift
– были ли нажаты клавиши «shift», «ctrl», «alt» вместе с
клавишей мыши, а параметры X и Y содержат
координаты курсора мыши в момент нажатия клавиши.
OnMouseMove
Возникает при «буксировке» манипулятора «мышь» (т.е.
при его перемещении при нажатой левой клавише).
Параметр Shift соответствующей процедуры –
обработчика определяет были ли нажаты клавиши
«shift», «ctrl», «alt» вместе с клавишей мыши, а
параметры X и Y содержат координаты курсора мыши в
момент нажатия клавиши.
OnMouseUp
Парное для OnMouseDown. Возникает когда ранее
нажатая клавиша мыши была отпущена. Имеет те же
параметры, что и OnMouseDown.

18.

Табл.2 события, оконных визуальных компонентов
СОБЫТИЕ
МОМЕНТ ВОЗНИКНОВЕНИЯ И ПАРАМЕТРЫ ПРОЦЕДУР
OnEnter
OnExit
OnKeyDown
Возникает, когда компонент получает фокус ввода
OnKeyPress
Возникает при нажатии клавиши на клавиатуре.
Параметр
Key
соответствующей
процедуры
обработчика имеет тип Char и содержит ASCII – код
нажатой клавиши. Для клавиш, которые не имеют ASCII
– кодов (например, «shift», «ctrl», «alt» ), событие не
возникает
OnKeyUp
Парное для OnKeyDown. Возникает, когда пользователь
отпускает нажатую ранее клавишу. Имеет те же
параметры что и OnKeyDown.
Возникает при потере фокуса компонентом
Возникает при нажатии любой клавиши на клавиатуре.
Параметр
Key
соответствующей
процедуры
обработчика имеет тип Word и может содержать коды
виртуальных
клавиш. Параметр Sift передает
информацию о нажатии клавиш «shift», «ctrl», «alt» и о
нажатии клавиши мыши.

19.

Для создания процедуры
обработки события нужно:
1. Выделить на форме компонент;
2. Перейти в
объектов;
на
страницу
событий
инспектора
3. Выделить
событие
для
которого
будет
создаваться процедура – обработчик события;
4. Посредством двойного нажатия мыши в области
значения события получить доступ в модуль
формы, где Delphi автоматически создает заготовку
процедуры – обработчика;
5. В месте где будет установлен текстовый курсор,
написать код, который должен выполнятся при
возникновении события.

20.

III.3
СОЗДАНИЕ ПРОСТЕЙШЕГО ПРИЛОЖЕНИЯ
Рассмотрим процесс создания простейшего приложения,
для иллюстрации последовательности действий при
разработке.
Пусть форма приложения содержит два компонента:
текстовое поле и кнопку. Необходимо создать процедуру,
которая при нажатии кнопки на форме, в текстовом поле
выводит строку: «ваше первое приложение работает!»
1. Конструируем форму:

21.

При помещении компонентов
задаем значения свойств:
на
форму
При помещении компонентов на форму
задаем значения свойств в окне инспектора
объектов:
для формы
для текстового поля

22.

2.
На форме выбираем
кнопку и в окне инспектора
объектов
переходим
на
закладку Events (события)
3.
Выбираем
событие
OnClick и дважды щелкаем
мышью напротив события

23.

4. В окне проводника кода, Delphi автоматически
создает процедуру – обработчик события OnClick
в теле которой необходимо для компонента Edit с
помощью
оператора
присваивания
задать
значение свойства TEXT:
5.
Edit1.Text:=‘ваше первое приложение работает!’;

24.

Код модуля формы с обработчиком
события кнопки выглядит так:

25.

6.
С помощью команды File – Save Project As..
Сохраним результаты работы, присвоив главному
файлу проекта имя Example.dpr, а модулю формы
имя Ex_unit.pas:
7.
С помощью команды Run / Run – компилируем
и запускаем приложение.
При компиляции создается исполняемый файл с расширением .exe

26.

При запуске приложения и нажатия на
кнопку результатом является текстовая
строка в текстовом поле:

27.

III.4
PASCAL И ВИЗУАЛЬНАЯ СРЕДА
разработки приложений DELPHI
Среда разработки приложений Delphi и её
библиотеки
базируются
на
языке
программирования Object Pascal – объектноориентированное расширение языка Pascal,
разработанное компанией Borland. Язык Object
Pascal основан на введении понятия класса и
объекта.
См. лекцию 1
КЛАСС – объекты с одинаковыми возможностями
( данными и методами ).
ОБЪЕКТ – экземпляр класса.

28.

ОБЪЯВЛЕНИЕ КЛАССА
Чтобы объявить новый класс, имеющий свои
поля данных и свои методы используется
следующая конструкция:
type <имя_класса> = class (<имя_предка>)
<список_членов_класса>
end;
где:
<имя_класса> - любой идентификатор;
<имя_предка> - идентификатор класса, свойства и методы
которого наследует объявленный класс;
< список_членов_класса> - перечень полей данных,
свойств и методов класса.

29.

ПРИМЕР:
Рассмотрим
класс
TOperation,
описывающий
выполнение арифметических операций над двумя
аргументами:
type TOperation = class
Arg1 : real;
Arg2 : real;
Oper : char;
LastOper : Boolean;
Procedure InitOperation;
Procedure SetArg1(ArgString:string);
Procedure SetArg2(ArgString:string);
Procedure SetOper (InpOper:Char);
Function OperationResult: string;
end;

30.

Arg1 ,Arg2 – вещественного типа служат для
хранения значений аргументов операции;
Oper – содержит символьное изображение
операции (+,-,*,/)
LastOper - принимает значение истина в момент
задания операции;
Для класса определены следующие методы:
InitOperation – инициализация объекта класса;
SetArg1, SetArg2 – установка значений
соответственно 1-го и 2-го аргументов ;
SetOper – установка знака операции;
OperationResult – выполнение операции;
English     Русский Правила