- •Проект приложения № 7.
- •2. Поменяйте заголовок (Caption) формы с «Forml» на «Биржа ценных бумаг» и увеличьте размеры формы.
- •3. Откажитесь от возможности менять размеры окна программы, указав значение bsDialog свойства BorderStyle формы.
- •4. Сохраните выполненную на данный момент форму в своей папке.
- •5. Расположите в нижней части формы две пиктографических кнопки типа SpeedButton и командную кнопку окончания работы программы BitBtn (см. Макет на рис. 1 и окно рабочей программы на рис. 2).
- •6. Вставьте в форму три таблицы текстовых строк StringGrid (см. Рис.3, 4).
- •9. Запрограммируйте кнопки SpeedButtonl и SpeedButton2 следующим образом:
- •10. В окне текста программы Unit1.Cpp введите описание метода Refresh() формы.
- •11. Запрограммируйте процедуру создания формы FormCreate.
- •12. Сохраните выполненную на данный момент работу в своей папке.
- •15. Создайте ехе-файл программы.
- •17. Продемонстрируйте созданную форму преподавателю. Закончите работу.
9. Запрограммируйте кнопки SpeedButtonl и SpeedButton2 следующим образом:
Щелкайте на кнопке :
// Кнопка результатов года
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
int first, second, variant, i;
randomize();
variant = random(100); //Случайный выбор возможного состояния рынка
//Первый и второй разделители отрезка вероятностей
first = prob[r][1]; second = first+prob[r][2];
//Начальное значение прибыли перед суммированием
profit = 0;
//Получаем числовые значения для инвестиций и заполняем ими массив money
for (i=0;i<2;i++)
money[i]=StrToFloat(StringGrid2->Cells[0][i+1]);
//Вычисление прибыли для первого варианта
if (variant < first)
{
for (i=0;i<2;i++)
//Суммирование по предприятиям
profit = profit + money[i] * P[r][i+1][1];
//{Подчеркивание выбранного варианта
Label9->Visible = true;
//Информационная строка
Label8->Caption = "Возросло евро";
}
//Вычисление прибыли для второго варианта состояния рынка
if (variant >= first && variant < second)
{
for (i=0;i<2;i++)
//{Суммирование по предприятиям}
profit = profit + money[i] * P[r][i+1][2];
//{Подчеркивание выбранного варианта}
Label10->Visible = true;
Label8->Caption = "Выросла Йена";
//{Информационная строка}
}
//{Вычисление прибыли для третьего варианта состояния рынка}
if (variant >= second)
{
for (i=0;i<2;i++)
//Суммирование по предприятиям
profit = profit + money[i] * P[r] [i+1][2];
//Подчеркивание выбранного варианта
Label11->Visible = true;
//Информационная строка
Label8->Caption = "Вырос доллар";
}
}
//---------------------------------------------------------------------------
//Кнопка перехода на следующий год
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
year = year+1;
//Следующий год
capital = capital + profit;
//Обновляем капитал
//Прибыль к началу года равна нулю
profit = 0;
Refresh ();
//Выключаем подчеркивания варианта состояния рынка
Label9->Visible = False;
Label10->Visible = False;
Label11->Visible = False;
//Гасим информацию о прибыли
Label7->Visible = False;
}
10. В окне текста программы Unit1.Cpp введите описание метода Refresh() формы.
void __fastcall TForm1::Refresh()
{
int i,j;
Form1->Label6->Caption = IntToStr(capital) + "долларов";
Form1->Label5->Caption = IntToStr(year) + "год";
Form1->Label7->Caption = IntToStr(profit) + "долларов";
Form1->Label8->Caption = "Введите сумму";
Form1->SpeedButton2->Enabled = False;
Form1->SpeedButton1->Enabled = False;
randomize();
r = random(N);
//Выбор инвестиционного климата r
for (i=1;i<=3;i++)
for (j=1;j<=3;j++)
{
Form1->StringGrid1->Cells[i] [j] = IntToStr(P[r][j][i]) + "центов";
}
for (i=1;i<=3;i++)
{
Form1->StringGrid3->Cells[i] [0] = IntToStr(prob[r][i]) + " %";
Form1->StringGrid2->Cells[0] [i] = " ";
}
}
В разделе подключения модулей в начале кода файла Unit1.cpp добавить прототип описание функции
void __fastcall Refresh() ;
11. Запрограммируйте процедуру создания формы FormCreate.
Для этого дважды щелкните на форме и полученную заготовку процедуры FormCreate заполните следующим образом:
void __fastcall TForm1:: FormCreate(TObject *Sender)
{
capital= 1000;
year = 2000;
profit= 0;
Refresh();
StringGridl->Cells[l] [0] = “Возрастет евро”;
StringGridl->Cells[2][ 0] = “Возрастет Йена”;
StringGridl->Cells[3][ 0] = “Возрастет доллар”;
StringGridl->Cells[0][ 1]= “Hundai”;
StringGridl->Cells[0] [2]= “Philips”;
StringGridl->Cells[0] [3] = “Bosh”;
StringGrid2->Cells[0] [0] = “Инвестиции, $”;
StringGrid3->Cells[0] [0] = “Вероятность”;
}