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

Задача для самостоятельного решения

Стоимость разговора

Напишите программу вычисления стоимости исходящего звонка с сотового телефона. Рекомендуемый вид формы приведен на рисунке 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]; } } }

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