Главная
страница 1

Технология программирования. Лабораторная работа 2.

Лабораторная работа 2. Использование стандартных компонентов в C++ Builder


Цель работы: Изучить принципы создания простейших Windows-приложений с графическим интерфейсом; изучить основные свойства компонентов Label, Edit, Memo, Button, CheckBox, RadioButton.

Краткие теоретические положения


Компоненты. Основным строительным элементом визуального программирования является компонент. В свою очередь, для компонентов характерно наличие свойств и событий. Компоненты позволяют пользователю программы выполнять различные действия, например, щелкать на кнопках или вводить данные. Все компоненты, размещаемые в формах, имеют уникальные имена. Имя задается с помощью свойства Name. Можно изменить имя компонента во время работы над приложением.

Свойства. Свойства определяют внешний вид формы или компонента. Также свойства определяют поведение формы или компонента. Builder позволяет изменять свойства компонент как в режиме проектирования (design time), так и в режиме выполнения программы (run time).

В режиме проектирования манипулирование свойствами осуществляется с помощью Дизайнера Форм (Forms Designer) или на страничке “Properties” Инспектора Объектов. Например, для того чтобы изменить свойства Height (высоту) и Width (ширину) кнопки, достаточно “зацепить” мышкой за любой ее угол и раздвинуть до нужного представления. Того же результата можно добиться, просто подставив новые значения свойств Height и Width в окне Object Inspector.

С другой стороны, в режиме выполнения программист имеет возможность не только манипулировать всеми свойствами, отображаемыми в Инспекторе Объектов, но и управлять более обширным их списком. В режиме выполнения невозможно использовать Object Inspector. Однако, доступ к свойствам компонентов довольно легко получить программным путем. Для изменения какого-либо свойства Вы должны написать строчку кода аналогично следующей:

MyComponent->Width = 35;

Каждый объект в Builder имеет свой собственный набор описывающих его свойств. Некоторые свойства есть почти у все элементов управления: Left, Top, Height, Width, Name, Enabled, Visible. Другие свойства специфичны для отдельных элементов управления.

События. Cобытие – действие, вызывающее реакцию объекта, например, нажатие клавиши на клавиатуре или кнопки мыши. Причиной возникновения события могут послужить действия пользователя; кроме того, событие может быть активизировано системой. Например, событиями являются открытие формы, ввод новых данных в элемент управления в форме или перевод фокуса на другую запись в форме. Каждое отдельное действие, например, переход на другой элемент управления с помощью клавиши Tab, может явиться причиной ряда других событий, возникающий в определенной последовательности.

Процедура обработки события представляет собой часть программного кода, который выполняется в ответ на некоторое событие. Например, когда пользователь щелкает мышкой на элементе управления Button1 (кнопка) возникает событие OnClick. Создав специальную процедуру обработки этого события, можно запрограммировать некоторую реакцию на это действие. Процедуры (функции) обработки событий имеют «стандартный» заголовок. Например, заголовок процедуры обработки события нажатия на кнопку Buttоn1 будет иметь вид:

void __fastcall TForm1::Buttоn1Click(TObject *Sender)

Стандартные компоненты. На первой странице (Standard) Палитры Компонент размещены наиболее часто используемые компоненты.



TButton – прямоугольная кнопка с надписью. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом.

Вот основные свойства элемента управления CommandButton: Left (позиция элемента управления относительно левого края его контейнера), Top (позиция элемента относительно верхнего края его контейнера), Height (высота), Width (ширина), Enabled (определяет, можно ли пользователю работать с этим элементом управления), Visible (видимость во время выполнения программы), Caption (подпись).

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

НазваниеЭлемента.НазваниеСвойства := НовоеЗначение

Например, если в форме имеется кнопка cmd1, то можно изменить ее свойства следующим образом:

cmd1->Caption = “Нажми на меня”;

cmd1->Left = 200;

При этом новое значение для свойства Caption указывается в кавычках, так как оно имеет тип String, а для свойства Left – без кавычек, так как оно имеет числовой тип.

TLabel служит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Текст метки является значением свойства Caption. Свойство Alignment определяет способ выравнивания текста. Чтобы размер шрифта автоматически соответствовал максимальному заполнению области, установите значение true свойства AutoSize. Чтобы весь текст можно было увидеть внутри короткой области, задайте значение true свойства WordWrap (перенос слов). Установкой значения true свойства Transparent вы можете оставить видимой часть другой компоненты сквозь название, расположенное прямо на ней.

TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы. Начальное содержимое области редактирования определяет строка, являющаяся значением свойства Text. Свойство Font определяет параметры шрифта текстового поля. Свойство AutoSize разрешает или запрещает текстовому полю динамически изменять размер. Установив свойство ReadOnly в значение True, мы запрещаем пользователю программы вводить данные в текстовое поле. Свойство MaxLength определяет число символов, которые можно ввести в текстовое поле. Свойство SelText содержит текущий выделенный фрагмент строки в текстовом поле. Свойства SelStart, SelLength возвращают начальную позицию и длину выделенного фрагмента строки в текстовом поле.

ТМеmо – отображает прямоугольную область редактируемого ввода множественных строк информации на форме. Начальное содержимое области редактирования определяет массив строк, являющийся значением свойства Lines. Окно редактора элементов списка открывается кнопкой в графе значении этого свойства.



Элементы управления CheckBox и RadioButton часто используются при программировании. CheckBox – это флажок для включения или отключения опций, а RadioButton – переключатель, который позволяет выбирать один элемент из группы (см. рис).

Основные свойства элементов управления CheckBox и RadioButton: Name – имя элемента; Caption – подпись; Checked – признак того, что элемент выбран; Left, Top – определяет положение элемента; Height, Width – задают размеры элемента.

Свойство Checked для компонентов CheckBox и RadioButton равно True, если переключатель выбран и False, если элемент не выбран.

Пример программы. Разработаем приложение «Калькулятор» с использованием компонентов TRadioButton. Будем использовать переключатели для выбора одного из четырех арифметических действий.

Форма «Калькулятор» содержит текстовые поля Edit1 и Edit2 для ввода данных, надпись lblResult для вывода результата, 4 переключателя с названиями rdbAdd, rdbSub, rdbMul и rdbDiv для выбора операции и кнопку btnAdd с надписью «Вычислить».

Затем дважды щелкните мышкой по кноке «Вычислить», чтобы попасть в окно кода в заготовку процедуры обработки нажатия этой кнопки. Измените текст процедуры таким образом:

Сохраните приложение. Проверьте его работу.



Добавим в предыдущее приложение флажок (элемент CheckBox), который позволяет выводить в поле результата само арифметическое действие и результат его выполнения. Назовем флажок Check1.

Процедура btnAddClick изменится следующим образом. Вместо строк

//Преобразуем значение переменной z из типа int в строку и

//выводим ее в текстовое поле результата

lblResult->Caption = IntToStr(z);

необходимо написать:

// Проверяем флажок и, если он выбран, формируем строку в текстовом

// поле результата. Иначе выводим только одно число z

if (Check1->Checked == True)

{if (rdbAdd->Checked == True) lblResult->Caption = IntToStr(x)+"+"+IntToStr(y)+ "="+ IntToStr(z);

if (rdbSub->Checked == True) lblResult->Caption = IntToStr(x)+"-"+IntToStr(y)+ "="+ IntToStr(z);

if (rdbMul->Checked == True) lblResult->Caption = IntToStr(x)+"*"+IntToStr(y)+ "="+ IntToStr(z);

if ((rdbDiv->Checked == True)&&(y!=0)) lblResult->Caption=IntToStr(x)+"/"+IntToStr(y)+ "=" + IntToStr(z);

}

else lblResult->Caption = IntToStr(z);



Сохраните измененное приложение. Проверьте его работу.

Порядок выполнения работы


1. Ознакомиться с теоретическими положениями, приведенными в данных методических указаниях (МУ), а также с конспектом лекций по данной теме.

2. Проверить работу примера, приведенного в тексте МУ.



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

Задание 1. Разработка программы, использующей функции. Разработайте программу по вариантам из таблицы 1.

Таблица 1. Варианты заданий

Вар.

Задание

1

Приложение осуществляет изменение цветов своей главной формы: цвета основной части фона, цвета текста в элементах TLabel в зависимости от выбора пользователя (можно, например, использовать радиокнопки или др.). Выбор цвета производится, например, с помощью списка. При этом главная форма содержит надпись, в которой отражаются текущие изменения, например: «Сейчас цвет фона красный»

2

Приложение-калькулятор для сложения и вычитания целых однозначных десятичных чисел. В главной форме имеются кнопки «0», «1», …, «9», «+», «-», «=» и текстовое поле для вывода результата. Результаты действий пользователя (ввод чисел и действий, результат) отражаются в текстовом поле. Присутствует обработка некоторых ошибок пользователя: ввод букв вместо цифр, ввод арифметического действия без задания операндов и т.п.

3

Разработать программу решения задачи. В текстовые поля вводятся три числа. Найти и выделить цветом минимальное или максимальное (в зависимости от установленного переключателя) из этих чисел.



4

Приложение-калькулятор для умножения и деления десятичных чисел. В главной форме имеются кнопки «Вычислить произведение», «Вычислить отношение», а также «Ввести 1-ый операнд», «Ввести 2-ой операнд», при нажатии на которые появляется диалоговое окно для ввода. Результаты вычислений отражаются в поле TEdit. Если при вычислении отношения делитель равен нулю, в поле для вывода результата появляется сообщение «Результата нет – деление на 0» красным цветом.

5

Приложение для расчета количества рулонов обоев, необходимых для оклейки стен комнаты. Программа должна содержать форму, в которую работник вводит длину и ширину комнаты, высоту потолков, длину и ширину рулона обоев и его стоимость. Программа рассчитывает необходимое количество рулонов обоев и их общую стоимость. При работе программы должна производиться проверка на корректность введенных данных и, если исходные данные не введены или введены неверно (например, символы вместо числа), курсор должен переводиться на поле с неверными данными и выводиться сообщение об ошибке.

6

Программа «Багаж», предназначенная для расчета массы багажа у пассажиров авиарейсов (рис. 1 после таблицы с вариантами). Оператор программы должен ввести массу тех предметов из предлагаемого списка, которые имеются у пассажира. Если какой-нибудь из предметов отсутствует, его масса не вводится (в примере на рисунке отсутствует рюкзак). По нажатию на кнопку «Обработка» производится суммирование значений из тех полей, которые заполнены. В нижней части формы цветовые индикаторы позволяют проконтролировать наличие или отсутствие предметов багажа. Кнопка «Сброс» позволяет начать расчет заново. Цветовые квадратные индикаторы можно сделать, например, из компонентов TLabel.

7

Приложение для тестирования младших школьников по теме «Сложение и вычитание однозначных целых чисел». Программа предлагает пять примеров на сложение или вычитание и после ответа на все вопросы выдает результат на экран. Операнды в примерах должны генерироваться случайным образом.

8

Приложение «Анкета» (рис. 2 после таблицы с вариантами). Пользователь должен ввести данные о себе и своих домашних животных, а затем нажать кнопку «Обработать». После нажатия на кнопку результаты опроса выводятся в расположенное справа текстовое поле.

Требования к отчету по работе


Отчет по работе должен содержать:

  • название и цель работы;

  • фамилию, инициалы и номер группы студента, выполнившего ЛР;

  • номер варианта;

  • для задания по своему варианту – текст задачи, блок-схема разработанного алгоритма, текст кода программы, результаты работы программы для разных наборов исходных данных (не менее двух).

рис. 1


рис. 2

Защита лабораторной работы


При защите данной лабораторной работы необходимо продемонстрировать и объяснить результаты выполнения всех заданий, предъявить отчет по работе и ответить на контрольные вопросы. За защиту лабораторной работы до начала экзаменационной сессии выставляется оценка от 3 до 5 баллов.


Смотрите также:
Лабораторная работа Использование стандартных компонентов в C++ Builder
87.05kb.
1 стр.
Лабораторная работа 9-01 Лабораторная Шонин В. А. работа 9-01 Использование табличной верстки для создания Web-страниц
446.97kb.
1 стр.
Лабораторная работа по химии, физике, биологии, т е. по естественно-научным предметам. На уроках русского языка и литературы термин «лабораторная работа»
261.84kb.
1 стр.
Лабораторная работа № Файловые оболочки (файловые менеджеры, командиры) Общие сведения
113.66kb.
1 стр.
Лабораторная работа №5 Лабораторная работа выполняется согласно выбранной теме курсовой работы!!! Количество таблиц в бд: от 4 до 6
46.6kb.
1 стр.
Лабораторная работа №1 Построение детерминированного синтаксического анализатора
278.71kb.
1 стр.
Лабораторная работа №1 Установка и настройка сетевой карты. Лабораторная работа №2 Восстановление компьютера после сбоя.
58.29kb.
1 стр.
Лабораторная работа Введение в разработку Winrt-приложений на html/JavaScript
473.51kb.
4 стр.
Лабораторная работа №1 по курсу "Информационная безопасность" Лабораторная работа №1
118.45kb.
1 стр.
Лабораторная работа №2. Командные файлы и оболочки ос
62.97kb.
1 стр.
Миллард Эриксон Христианское богословие
17880.88kb.
79 стр.
Лабораторная работа Электронная цифровая подпись (эцп). Работа с программой pgp
48.31kb.
1 стр.