Начнем конструирование приложения Калькулятор с подготовки проекта:
· Создадим папку Калькулятор, где будут храниться все файлы проекта
· Сохраним в созданной папке «пустой» проект Project1 под именем ProjectCalc ( от англ. Calculate – вычислять ), а модуль Unit1 – под именем UnitCalc.
Дальнейшая разработка приложения, связанная с реализацией интерфейса Пользователя, заключается в размещении компонентов на форме, настройки их свойств и назначении обработчиков событий, необходимых для функционирования приложений.
Эта работа не требует написания программного кода (поэтому и называют ее визуальной) и выполняется с помощью Редактора форм и Инспектора объектов.
Шаг 1. Главная форма приложения.
Выделим компонент Форма – для этого щелкнем по нему мышкой.
В Инспекторе объектов изменим свойства Caption и Name, как показано на рисунке 5.6.

Рисунок 5.6 – Приложение Калькулятор. Настройка свойств главной формы
Используем событие OnActivate (возникает, когда приложение становится активным) для очистки полей ввода и результата. Задаем имя обработчика этого события – OnCalcActivate ( рисунок 5.7 ).

Рисунок 5.7 – Приложение Калькулятор. Обработка событий главной формы
После того, как задано имя обработчика события, Delphi автоматически помещает спецификацию метода с таким же названием в описание класса TFormCalc и «пустую» реализацию метода в модуль UnitCalc.
Шаг 2. Поля ввода значения операндов и поле вывода результата
Выбираем компонент Edit (
) в Панели инструментов и размещаем его на форме FormCalc.
В Инспекторе объектов устанавливаем значения свойств и обработчиков событий. Описание свойств и методов компонента Edit в приложении Калькулятор смотрите в таблице 5.1
Таблица 5.1 Использование компонента Edit
| Компонент Edit – отображение, ввод и редактирование однострочного текста. Основное свойство – Text | ||
| Наименование | Значение | Комментарии |
| ПОЛЕ ВВОДА ПЕРВОГО ОПЕРАНДА | ||
| СВОЙСТВА | ||
| Name | EditOperand1 | Наименование объекта |
| Text | пусто | В начале выполнения приложения значение первого операнда отсутствует |
| СОБЫТИЯ | ||
| OnKeyPress | Operand1KeyPress | Обработка нажатия клавиш: 0..9, Backspace () – доступны при вводе значения операнда Enter – переход в поле второго операнда |
| ПОЛЕ ВВОДА ВТОРОГО ОПЕРАНДА | ||
| СВОЙСТВА | ||
| Name | EditOperand2 | Наименование объекта |
| Text | пусто | В начале выполнения приложения значение второго операнда отсутствует |
| ПОЛЕ ВЫВОДА РЕЗУЛЬТАТА | ||
| СВОЙСТВА | ||
| Name | EditResult | Наименование объекта |
| Text | пусто | В начале выполнения приложения значение результата отсутствует |
| ReadOnly | True | ЗначениеTrueзапрещаетввод данных с клавиатуры в это поле |
После выполнения данного шага Delphi автоматически помещает в описание класса TFormCalc объекты EditOperand1, EditOperand2, EditResult и спецификацию метода Operand1KeyPress, а также добавляет «пустую» реализацию метода Operand1KeyPress в модуль UnitCalc.
Шаг 3. Кнопки
Выбираем компонент Button (
) в Панели инструментов и размещаем его на форме FormCalc.
В Инспекторе объектов устанавливаем значения свойств и обработчиков событий. Описание свойств и методов компонента Button в приложении Калькулятор смотрите в таблице 5.2
Таблица 5.2 Использование компонента Button
| Компонент Button – командная кнопка.Используется для выполнения команд Пользователя | ||
| Наименование | Значение | Комментарии |
| КНОПКА – ОПЕРАЦИЯ СЛОЖЕНИЯ | ||
| СВОЙСТВА | ||
| Name | BtnAdd | Наименование объекта |
| Caption | + | Надпись на кнопке |
| СОБЫТИЯ | ||
| OnClick | BtnAddClick | Нажатие клавиши |
| КНОПКА – ОПЕРАЦИЯ ВЫЧИТАНИЯ | ||
| СВОЙСТВА | ||
| Name | BtnMinus | Наименование объекта |
| Caption | - | Надпись на кнопке |
| СОБЫТИЯ | ||
| OnClick | BtnMinusClick | Нажатие клавиши |
| КНОПКА – ОПЕРАЦИЯ УМНОЖЕНИЯ | ||
| СВОЙСТВА | ||
| Name | BtnMult | Наименование объекта |
| Caption | H | Надпись на кнопке |
| СОБЫТИЯ | ||
| OnClick | BtnMultClick | Нажатие клавиши |
Таблица 5.2. Продолжение
| Компонент Button – командная кнопка.Используется для выполнения команд Пользователя | ||
| Наименование | Значение | Комментарии |
| КНОПКА – ОПЕРАЦИЯ ДЕЛЕНИЯ | ||
| СВОЙСТВА | ||
| Name | BtnDivide | Наименование объекта |
| Caption | / | Надпись на кнопке |
| СОБЫТИЯ | ||
| OnClick | BtnDivideClick | Нажатие клавиши |
| КНОПКА – ОЧИСТИТЬ | ||
| СВОЙСТВА | ||
| Name | BtnClear | Наименование объекта |
| Caption | Очистить | Надпись на кнопке |
| СОБЫТИЯ | ||
| OnClick | BtnClearClick | Нажатие клавиши |
| КНОПКА – ВЫХОД | ||
| СВОЙСТВА | ||
| Name | BtnClose | Наименование объекта |
| Caption | Выход | Надпись на кнопке |
| СОБЫТИЯ | ||
| OnClick | BtnCloseClick | Нажатие клавиши |
После выполнения данного шага Delphi автоматически помещает в описание класса TFormCalc объекты BtnAdd, BtnMinus, BtnMult, BtnDivide, BtnClear, BtnClose и спецификации методов BtnAddClick, BtnMinusClick, BtnMultClick, BtnDivideClick, BtnClearClick, BtnCloseClick, а также добавляет «пустые» реализации этих методов в модуль UnitCalc.
Шаг 4. Метка и панель
Выбираем компонент Label (
) в Панели инструментов и размещаем его на форме FormCalc. В Инспекторе объектов устанавливаем значения свойств.
Выбираем компонент Panel (
) в Панели инструментов и размещаем его на форме FormCalc. В Инспекторе объектов устанавливаем значения свойств.
Описание свойств компонентов Label и Panel в приложении Калькулятор смотрите в таблице 5.3.
Таблица 5.3 Использование компонентов Label и Panel
| Компонент Label – отображение текста, неизменяемого Пользователем. Основное свойство – Caption | ||
| Наименование | Значение | Комментарии |
| ЗНАК ОПЕРАЦИИ | ||
| СВОЙСТВА | ||
| Name | OperatorLabel | Наименование объекта |
| Caption | ? | В начале выполнения приложения знак операции отсутствует |
| ЗНАК = | ||
| СВОЙСТВА | ||
| Name | ResultLabel | Наименование объекта |
| Caption | ? | В начале выполнения приложения знак = отсутствует |
| Компонент Panel – группирование визуальных компонентов. Основное свойство – Caption | ||
| «ПОДЧЕРКИВАНИЕ» | ||
| СВОЙСТВА | ||
| Name | PanelResult | Наименование объекта |
| Caption | пусто | В приложении – объемный прямоугольник, который отделяет операнды от результата |

Таким образом, форма FormCalc будет содержать объекты визуальных компонентовклассов TEdit, TButton, TLabel, TPanel.
После того, как завершено редактирование формы фактически завершена разработка структуры приложения Калькулятор – определены основные классы, объекты, свойства и методы объектов
Диаграмма классов приложения Калькулятор приведена на рисунке 5.8

Рисунок 5.8 – Приложение Калькулятор. Диаграмма классов
Сохраним проект ProjectCalc (для первоначального сохранения проекта выберите в меню File команду Save Project as….) и перейдем к программированию.






