Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_rabota_dlya_stud.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
548.35 Кб
Скачать

Лабораторная работа № 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(); // закрыть форму приложения }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]