
- •Лабораторная работа № 1 Тема: Работа с компонентами tLable, tButton, tEdit.
- •Краткая теоретическая часть
- •Задача для самостоятельного решения
- •Лабораторная работа №2 Тема: Работа с компонентами тRadioButtоn, тRadioGroup, tСheckBox.
- •Краткая теоретическая часть
- •Задача для самостоятельного решения
- •Лабораторная работа № 3 Тема: Работа с компонентами tComboBox.
- •Краткая теоретическая часть
- •Задачи для самостоятельного решения
- •Лабораторная работа № 4 Тема: Работа с компонентами tTimer, tРrogressBar, tStatusBar
- •Краткая теоретическая часть
- •Задачи для самостоятельного решения
- •Лабораторная работа № 5 Тема: Работа с компонентами ListBox, OpenDialog, Image.
- •Краткая теоретическая часть
- •Задача для самостоятельного решения
- •Лабораторная работа № 6 Тема: Работа с графикой.
- •Краткая теоретическая часть
Задача для самостоятельного решения
Стоимость разговора
Напишите программу вычисления стоимости исходящего звонка с сотового телефона. Рекомендуемый вид формы приведен на рисунке 2.2.
Рисунок 2.2 – Форма программы «Стоимость разговора»
Стеклопакет
Напишите программу, при помощи которой можно вычислить стоимость окна (стеклопакета). Рекомендуемый вид формы приведен на рисунке 2.3.
Рисунок 2.3 – Форма программы «Стеклопакет»
Лабораторная работа № 3 Тема: Работа с компонентами tComboBox.
Цель работы: научиться работать с компонентами ComboBox.
Краткая теоретическая часть
TComboBox – создает комбинацию области редактирования и выпадающего списка текстовых вариантов для выбора. Значение свойства Text заносится непосредственно в область редактирования. Элементы списка, которые может выбирать пользователь, содержатся в свойстве Items, номер элемента, который будет выбран во время выполнения программы, -в свойстве Itemlndex, а сам выбранный текст - в свойстве SelText. Свойства SelStart и SelLength позволяют установить выборку части текста или обнаружить, какая часть текста выбрана.
Можно динамически добавлять, вычеркивать, вставлять и перемещать элементы списка с помощью методов Add, Append, Delete и Insert объекта Items, например:
ComboBoxl->Items->Insert(0, "Первый элемент списка");
Значение true свойства Sorted задает сортировку элементов списка по алфавиту. Вид компоненты TComboBox можно выбрать в свойстве Style.
TComboBox является производной от класса TCustomComboBox, полностью наследуя его свойства, методы и события.
Программа «Любимый напиток» демонстрирует использование компонента ComboBox. Пользователь может добавить элементы в списки компонентов ComboBox2 и ComboBox3, однако элемент в список компонента ComboBox3 добавляется только в том случае, если такого элемента в списке нет. Форма программы приведена на рисунке 3.1.
Рисунок 3.1 – Форма программы «Любимый напиток»
Листинг программы
// конструктор формы
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{ // сформировать список компонента ComboBox2
ComboBox2->Sorted = true; // список упорядочен
ComboBox2->Items->Add("Кока-Кола");
ComboBox2->Items->Add("Меринда");
ComboBox2->Items->Add("Пепси-Кола");
ComboBox2->Items->Add("Спрайт");
ComboBox2->Items->Add("Фанта");
// сформировать список компонента ComboBox3
ComboBox3->Sorted = true; // список упорядочен
ComboBox3->Items->Add("Чай");
ComboBox3->Items->Add("Чай с лимоном");
ComboBox3->Items->Add("Кофе черный");
ComboBox3->Items->Add("Кофе со сливками");
ComboBox3->Items->Add("Какао"); }
// выбор элемента в списке ComboBox1
void __fastcall TForm1::ComboBox1Click(TObject *Sender)
{ Label1->Caption = ComboBox1->Text;}
// щелчок на элементе списка компонента ComboBox2
void __fastcall TForm1::ComboBox2Click(TObject *Sender)
{ Label2->Caption = ComboBox2->Items->Strings[ComboBox2->ItemIndex];}
// щелчок на элементе списка компонента ComboBox3
void __fastcall TForm1::ComboBox3Click(TObject *Sender)
{ Label3->Caption = ComboBox3->Items->Strings[ComboBox3->ItemIndex];}
// нажатие клавиши в поле редактирования компонента ComboBox2
void __fastcall TForm1::ComboBox2KeyPress(TObject *Sender, char &Key)
{ if (Key == VK_RETURN)
{ // Пользователь ввел в поле редактирования строку
// и нажал <Enter>. Добавим строку в список.
int n = ComboBox2->Items->Add(ComboBox2->Text);
ComboBox2->ItemIndex = n;
Label2->Caption = ComboBox2->Items->Strings[n]; }}
// нажатие клавиши в поле редактирования компонента ComboBox3
void __fastcall TForm1::ComboBox3KeyPress(TObject *Sender, char &Key)
{
AnsiString st; ///строка, которую ввел пользователь
// в поле редактирования компонента ComboBox
if (Key == VK_RETURN)
{ // Пользователь ввел в поле редактирования строку
// и нажал <Enter>. Если такой строки в списке нет,
// добавим ее в список
st = ComboBox3->Text.Trim(); // удалить пробелы
if ( ComboBox3->Items->IndexOf(st) == -1 )
{ // добавить
int n = ComboBox3->Items->Add(st);
ComboBox3->ItemIndex = n;
Label3->Caption = ComboBox3->Items->Strings[n]; } } }