- •Министерство образования и науки российской федерации
- •Основные операторы языка программирования
- •If (выражение) оператор1; else оператор2;
- •2. Определение и использование массивов
- •8. Рекомендуемая технология работы с проектом
- •9.1 Общие положения
- •9.2 Автоматический компонент tForm (форма)
- •9.4 Компонент tLabel
- •12. Преобразование типов
- •13. Организация ввода данных в приложениях Windows
- •13.1 Использование компонент с редактируемым полем
- •13.2 Использование специальных диалоговых окон
- •14. Примеры решения задач
- •14.1 Пример программирования итерационных задач
- •14.2 Пример решения задачи поиска в неупорядоченной последовательности
- •1)Вывод данных в файл
- •2) Ввод данных из файла
- •3) Обмен структурными объектами
- •14.6 Пример создания приложения в визуальной среде (калькулятор)
- •14.7 Пример создания приложения с размещением рисунков на форме
- •14.8 Пример создания приложения с основным и контекстным меню на форме
- •14.9 Создание многомодульного приложения. Вывод графических объектов
- •Визуальное программирование с использованием массивов
- •14.11 Визуальное программирование с использованием структур
- •4.1. Файл Unit1.H
- •4.2. Файл Unit1.Cpp
- •1) Определение элементов связанного списка
- •2) Удаление элемента х из списка
14.6 Пример создания приложения в визуальной среде (калькулятор)
Задача:Создать программу, моделирующую работу простейшего калькулятора.
Последовательность выполнения:
Запустить систему С++Builder.
Открыть новое приложение File\NewApplication.
Создать проект, сохранив приложение в новой папке (FiLE\SaveProjectas…). Создать новую папку, открыть ее и сохранить файлыProject.bprиUnit1.cpp.
Проверить текущую папку и наличие в ней файлов проекта (первоначально – 6 файлов).
В окне редактора форм создать активные и пассивные объекты калькулятора, используя компоненты Edit(редактируемое поле),Label(наименование поля) иButton(активная кнопка: команда: событие).
Соответствующие компоненты находятся на палитре компонентов системы и помещаются на форму активизацией компоненты и щелчком мыши на форме.
Вариант интерфейса микрокалькулятора:
Операнды:
В полях Edit1(2) размещаются значения операндов, в полеEdit3 должен появиться результат операции при нажатии кнопки «+» (-).
Программирование активных кнопок (объектов).
Дважды щелкнуть кнопкой мыши на объекте «+» (-, Exit). Автоматически активизируется Редактор кода и курсор устанавливается в тело автоматически сгенерированной функции соответствующего обработчика события. Ввести тексты кодов обработчиков событий, приведенные ниже.
а) Текст кода обработчика события нажатия кнопки «+»:
Примечание:Уточненное имяEdit1Text Означает: Edit1 --
имя объекта, -> --
операция разадресации указателя Text--
имя свойства объекта. В данном случае
это имя редактируемого поля.
float x,y,z;
x = StrToFloat(Edit1Text);
y = StrToFloat(Edit2Text);
z = x + y;
Edit3Text = FloatToStr(z);
б) Текст обработчика события нажатия кнопки “Exit”.
Close();
Сохранить проект (Saveall).
Запустить процедуру полной обработки. Отладить и протестировать программу.
Закрыть проект : File Close all.
Дополнительное задание:
Дополнить калькулятор новой функцией вычисления выражения
y = a · sinx + b · cosx;
14.7 Пример создания приложения с размещением рисунков на форме
Задача:Создать приложение, отображающее рисунки. Рисунки находятся в файле на диске в формате .bmp. Предусмотреть кнопку для смены рисунка путем его выбора в диалоговом окне.
Последовательность выполнения
Открыть новое приложение и создать проект в новой папке (см. Задание 1 пп 2,3).
Поместить на форму панель Panel(вкладкаStandard), которая будет ограничивать контуры рисунка:
поместить на форму компоненту Panelи развернуть ее до размеров формы.
удалить название панели, используя свойство Caption(заголовок).
изменить направление выпуклости панели, чтобы она была вогнутой, используя свойство Bevellnner(внутренняя фаска, установить значениеbvNone) и свойствоBevelOuter(внешняя фаска, установить значениеbvLowered).
изменить ширину рамки, присвоив свойству BewelWidth(ширина фаски) значение 2.
записать размеры панели (значения свойств Width(щирина) иHeight(высота) [предположим они имеют значения 241 и 185 соответственно].
Создать и настроить область рисунка:
создать объект Image1 (вкладкаAdditional(дополнительные)) в центре панели.
отметить положение левого верхнего угла рисунка (предположим, он отстоит от соответствующего угла панели на две точки): установить соответствующие значения свойств LeftиTop.
развернуть область рисунка до размеров панели, изменив свойства: Wigth(ширина) иHeight(высота). Их значения соответственно будут равны:
241 - 4 = 237 и
185 - 4 = 181.
включить автоматическую установку рисунка по размерам установленной области:
- выбрать объект Image1.
- Найти в инспекторе объектов свойство Stretch(растяжка) и установить значениеtrue(включено).
Размещение рисунка:
н
а инспекторе объектов щелкнуть ЛКМ по правой области свойстваPicture(изображение)щелкнуть на кнопке
в открывшемся окне редактора изображений (PictureEditor): щелкнуть на кнопкеLoad(загрузить). В открывшемся окнеLoadPicture(загрузка рисунка) выбрать диск и директорийC:\Windowsи в нем файл с расширением .bmp(например, облака.bmp). щелкнуть на кнопке "открыть". Вернувшись в окно Редактора изображений, щелкнуть на кнопке ОК. облака заполнят панель(область рисунка).
Создание средств управления выбором рисунка:
выбрать на ПК вкладку Dialogs.
выбрать и поместить на форму компоненту OpenDialog.
используя свойство Title(заголовок окна), задать название кнопки: "выбор изображения".
в поле свойства FileName(имя файла) указать путь для поиска файла рисунка:
C:\Windows\Облака.bmp.
в поле свойства Filter(фильтр) ввести строку:
Растровое изображение | *.bmp
Если расширение файла в маске не указано, то оно берется из свойства DefaultExit(стандартное расширение), присвоив ему значение .bmp.
Программирование события "Выбор рисунка", связанного с кнопкой OpenDialog1. В качестве события будет выбор рисунка на форме.
выбрать на форме объект Image1.
перейти на вкладку Events(события) инспектора объектов.
дважды щелкнуть напротив события (правое поле) OnClick(при щелчке мыши).
в теле открывшейся функции ввести инструкцию:
OpenDialog1->Execute();
Здесь функция Execute() объектаOpenDialog1 обеспечивает вывод окна диалога для выбора файла рисунка.
В итоге функция будет иметь вид:
Void _fastcall Tform1::Image1Click(TObjekt *Sender)
{OpenDialog1->Execute();}
- ввести в тело вышеприведенной функции второй оператор, определяющий путь поиска файла, выбранного в окне диалога рисунка:
Image1->Picture->LoadFromFile(OpenDialog1->FileName);
Сохранить проект (Saveallна панели инструментов).
Запустить процедуру полной обработки, отладить и протестировать проект.
Дополнительное задание:
1. Изменить размеры и координаты рисунка, поместив его в правый верхний угол.