ІІ-й спосіб

1. Командами File/Save as та File/Save Project as запишіть файли Unit1.cpp та Project1.bpr у папку для ІІ-го варіанта програми. Разом з ними будуть записані і інші файли, які мають відношення до програмного проекту.

2. Компоненти ComboBox1 та Edit1 вилучіть і замість них розташуйте на формі списки вибору ListBox1 та ListBox2:

3. У властивість Items компонента ListBox1 запишемо список валют:

USD

Euro

RusRuble

4. Під час вибору типу операції у ListBox1 помістимо список чисел (взятих із масиву Kv), які є значеннями обмінного курсу для відповідних валют. Для цього подію OnClick для RadioButton1 та RadioButton2 запрограмуємо таким чином:

void __fastcall TForm1::RadioButton1Click(TObject *Sender)

{

int I;

Label3->Caption="купуєте";

Label7->Caption="до оплати";

for (I=0; I<ListBox1->Items->Count; I++)

ListBox2->Items->Add(FloatToStr(Kv[I][0]));

 

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::RadioButton2Click(TObject *Sender)

{

int I;

Label3->Caption="продаєте";

Label7->Caption="до видачі";

for (I=0; I<ListBox1->Items->Count; I++)

ListBox2->Items->Add(FloatToStr(Kv[I][1]));

 

}

Властивість ListBox1->Items->Count зберігає кількість елементів списку ListBox1, індексація елементів списку розпочинається з нуля. Метод ListBox2->Items->Add дозволяє добавити новий елемент (рядок символів) до списку ListBox2. В останніх процедурах числа із першого та другого стовпців масиву Kv перетворюються у рядки символів і добавляються до властивості Items компоненти ListBox2.

Виконайте програму.

5. При виборі валюти у списку ListBox1 автоматично має виділятися у списку ListBox2 рядок із значенням обмінного курсу для вибраної валюти. Для цього запрограмуємо подію OnClick для ListBox1:

void __fastcall TForm1::ListBox1Click(TObject *Sender)

{

ListBox2->ItemIndex= ListBox1->ItemIndex;

}

В результаті виконання цього методу індекси активних (виділених) елементів у списках ListBox1 та ListBox2 стануть однаковими.

6. Метод для опрацювання події OnChange для Edit2 зробимо таким:

void __fastcall TForm1::Edit2Change(TObject *Sender)

{

if (RadioButton1->Checked)

Edit3->Text=FloatToStr(StrToInt(Edit2->Text)*

Kv[ListBox1->ItemIndex][0]);

else

Edit3->Text=FloatToStr(StrToInt(Edit2->Text)*

Kv[ListBox1->ItemIndex][1]);

}

7. Виконайте програму із середовища C++ Builder. Завантажте відповідний exe-файл із середовища ОС Widows.