
- •Лабораторная работа № 1 Тема: Работа с компонентами tLable, tButton, tEdit.
- •Краткая теоретическая часть
- •Задача для самостоятельного решения
- •Лабораторная работа №2 Тема: Работа с компонентами тRadioButtоn, тRadioGroup, tСheckBox.
- •Краткая теоретическая часть
- •Задача для самостоятельного решения
- •Лабораторная работа № 3 Тема: Работа с компонентами tComboBox.
- •Краткая теоретическая часть
- •Задачи для самостоятельного решения
- •Лабораторная работа № 4 Тема: Работа с компонентами tTimer, tРrogressBar, tStatusBar
- •Краткая теоретическая часть
- •Задачи для самостоятельного решения
- •Лабораторная работа № 5 Тема: Работа с компонентами ListBox, OpenDialog, Image.
- •Краткая теоретическая часть
- •Задача для самостоятельного решения
- •Лабораторная работа № 6 Тема: Работа с графикой.
- •Краткая теоретическая часть
Лабораторная работа № 1 Тема: Работа с компонентами tLable, tButton, tEdit.
Цель работы: изучить основные элементы визуальной среды, освоить использование простейших компонентов C++ Builder для ввода/вывода данных.
Краткая теоретическая часть
Любой размещаемый на форме компонент характеризуется некоторым набором параметров: положением, размером, цветом и т. д. Часть этих параметров, например, положение и размеры компонента, можно изменять, манипулируя с компонентом в окне формы. Для изменения других параметров предназначено окно Инспектора объектов. Это окно содержит две страницы - Properties (Свойства) и Events (События). Страница Properties служит для установки нужных свойств компонента, страница Events позволяет определить реакцию компонента на то или иное событие. Совокупность свойств отображает видимую сторону компонента: положение относительно левого верхнего угла рабочей области формы, его размеры и цвет, шрифт и текст надписи на нем и т. п.; совокупность событий - его поведенческую сторону: будет ли компонент реагировать на щелчок мыши или на нажатие клавиш, как он будет вести себя в момент появления на экране или в момент изменения размеров окна и т. п.
Палитра компонентов - это главное C++ Builder. Она занимает правую часть главного окна и имеет закладки, обеспечивающие быстрый поиск нужного компонента. Под компонентом понимается некий функциональный элемент, содержащий определенные свойства и размещаемый программистом в окне формы. С помощью компонентов создается каркас программы.
Компонент ТLabel – предназначен для вывода текста на поверхность формы. Он имеет такие основные свойства как:
Caption (название) - изменяет название компонента;
Color (цвет) – изменяет цвет компонента;
Font – позволяет изменить шрифт текста, начертание, размер, видоизменение, цвет;
Visible (видимость )- позволяет сделать объект невидимым на форме при запуске программы
ТButton - командная кнопка. Обработчик события OnClick этого компонента обычно используется для реализации некоторой команды. Обладает такими же основными свойствами, что и метка: Caption, Color, Font, Visible, кроме того координаты расположения и размер командной кнопки задаются с помощью свойств height, left, top и width.
ТEdit - отображает прямоугольную область редактируемого ввода одиночной строки информации на форме. Начальное содержимое области редактирования определяет строка, являющаяся значением свойства Text.
Программа «Конвертор» пересчитывает цену из долларов в рубли. Демонстрирует использование компонентов Edit и Label. Программа спроектирована таким образом, что пользователь может ввести в поля редактирования только правильные данные (числа). Форма программы приведена на рисунке 1.1.
Рисунок 1.1 – Форма программы «Конвертор»
Листинг программы
// нажатие клавиши в поле Цена
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{ // код запрещенного символа заменим нулем, в результате
// символ в поле редактирования не появится
// Key – код нажатой клавиши
// проверим, является ли символ допустимым
if ((Key >= '0') && (Key <= '9')) //цифра
return; // глобальная переменная DecimalSeparator
// содержит символ, используемый в качестве разделителя
// при записи дробных чисел
if (Key == DecimalSeparator)
{ if ((Edit1->Text).Pos(DecimalSeparator) != 0)
Key = 0; // разделитель уже веден
return; }
if (Key == VK_BACK) // клавиша <Backspace>
return;
if (Key == VK_RETURN) // клавиша <Enter>
{ Edit2->SetFocus();
return; } // остальные клавиши запрещены
Key = 0; // не отображать символ }
// нажатие клавиши в поле Курс
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{ if ((Key >= '0') && (Key <= '9')) //цифра
return;
if (Key == DecimalSeparator)
{ if ((Edit2->Text).Pos(DecimalSeparator) != 0)
Key = 0; // разделитель уже введен
return; }
if (Key == VK_BACK) // клавиша <Backspace>
return;
if (Key == VK_RETURN) // клавиша <Enter>
{ Button1->SetFocus(); // переход к кнопке Вычислить
// повторное нажатие клавиши <Enter>
// активизирует процесс вычисления денег
return; }; // остальные клавиши заперщены
Key = 0; // не отображать символ }
// щелчок на кнопке Пересчет
void __fastcall TForm1::Button1Click(TObject *Sender)
{ float usd; // цена в долларах
float k; // курс
float rub; // цена в тенге
// проверим, введены ли данные в поля Цена и Курс
if (((Edit1->Text).Length() == 0) || ((Edit2->Text).Length() == 0))
{ MessageDlg("Надо ввести цену и курс",
mtInformation, TMsgDlgButtons() << mbOK, 0);
if ((Edit1->Text).Length() == 0)
Edit1->SetFocus(); // курсор в поле Цена
else
Edit2->SetFocus(); // Курсор в поле Курс
return; }; // ввод исходных данных
usd = StrToFloat(Edit1->Text);
k = StrToFloat(Edit2->Text); // вычисление
rub = usd * k; // вывод результата
Label4->Caption = FloatToStrF(usd,ffGeneral,7,2) + "$ = " +
FloatToStrF(rub,ffGeneral,7,2) + " тенге" ;}
//щелчок на кнопке Завершить
void __fastcall TForm1::Button2Click(TObject *Sender)
{ Form1->Close(); // закрыть форму приложения }