
- •Лабораторна робота № 4. Тема: Задача про біржу цінних паперів. Таблиця рядків StringGrid і її властивості. Кнопки BitBtn і SpeedButton. Події і їх обробка.
- •Виконання роботи
- •Збережіть виконану на даний момент форму в своїй папці (FileSave All).
- •Вставте у форму три таблиці текстових рядків StringGrid.
- •Розмістіть на формі текстові поля так, як показано в пункті 5.
- •У вікні тексту програми перед розділом Implementation введіть опис констант і змінних програми:
- •Запрограмуйте кнопки SpeedButtonl і SpeedButton2 таким чином:
- •У вікні тексту програми після розділу Implementation введіть опис методу Refresh форми
- •Запрограмуйте процедуру створення форми FormCreate.
- •Збережіть виконану на даний момент роботу в своїй папці.
У вікні тексту програми після розділу Implementation введіть опис методу Refresh форми
procedure TForml.Refresh;
var i, j : integer;
s : string;
begin
Str(capital, s);
Forml.Label6.Caption := s + ' доларів ';
Str(year, s);
Forml.Label5.Caption := s + ' рік ';
Str(profit, s);
Forml.Label7.Caption := s + ' доларів ;
Forml.Label8.Caption := ' Введіть суму ' ;
Forml.SpeedButton2.Enabled := False;
Forml.SpeedButtonl.Enabled := False;
randomize;
r := random(N);
{Вибір інвестиційного клімату г}
for i:=l to 3 do
for j := 1 to 3 do
begin
Str(P[r, j, i], s);
Forml.StringGrid1.Cells[i, j] := s + ' центів ';
end;
for i := 1 to 3 do
begin
Str(Prob[r, i], s);
Forml.StringGrid3.Cells[i, 0] := s + ' %';
Forml.StringGrid2.Cells[0, i] := ";
end
end;
Рядок procedure Refresh;вставьте у будь-якому місці розділу
type TForml = class(TForm)... у вікні модуля.
Запрограмуйте процедуру створення форми FormCreate.
Для цього двічі клацніть на формі і одержану заготівку процедури FormCreate заповните таким чином:
procedure TForml.FormCreate(Sender: TObject);
begin
capital := 1000;
year := 2000;
profit := 0;
Refresh;
StringGrid1.Cells[l, 0] := ' Зросте євро ';
StringGrid1.Cells[2, 0] := ' Зросте ціна ';
StringGrid1.Cells[3, 0] := ' Зросте долар ';
StringGrid1.Cells[0, 1] := ' Hundai ';
StringGrid1.Cells[0, 2] := ' Philips';
StringGrid1.Cells[0, 3] := 'Bosh';
StringGrid2.Cells[0, 0] := ' інвестиції $';
StringGrid3.Cells[0, 0] := ' Вірогідність ';
end;
Збережіть виконану на даний момент роботу в своїй папці.
Запрограмуйте подію введення/редагування тексту в таблицю StringGrid2 так, щоб у момент введення грошових сум в першу і другу комірки в третій комірці відображався залишок капіталу (оскільки щороку інвестують весь наявний капітал).
Активізуйте об'єкт StringGrid2 і у вікні Object Inspector відкрийте закладку Events цього об'єкту. Тут слід вибрати подію, для якої ви хочете описати послідовність дій - реакцію на подію. Виберіть подію OnSetEditText і двічі клацніть в полі праворуч від неї. Відкриється вікно програми із заготівкою процедури StringGrid2SetEditText. Заповніть її таким чином:
procedure TForml .StringGrid2SetEditText(Sender:TObject; ACol, ARow: Longint; const Value: string);
var i, code : integer; s : string;
begin
{ Прочитуємо числа з першого і другого елементів таблиці, інвестицій}
for i := 0 to 1 do
val(StringGrid2.Cells[0, i + 1], money[i], code);
{ Обчислюємо залишок капіталу і інвестуємо його в третє підприємство]
money[2]:= capital - money[0] - money[1];
Str(money[2], s);
StringGrid2.Cells[0, 3] := s;
SpeedButton1.Enabled := True;
end;
Зауваження. Заготівки для подій-процедур кожного об'єкту можна викликати, двічі клацаючи по об'єкту на макеті форми, як це робилося для кнопок. Для більшості об'єктів це подія OnClick, у тому числі і для StringGrid. Тому ми були вимушені «вручну» вибрати потрібний для нашого випадку тип події — OnSetEditText.
Запустіть створену програму і досліджуйте її роботу.
Введіть грошові суми інвестицій в комірки для першого і другого підприємств і спостерігайте за зміною третьої суми. Переконайтеся в її правильності. Клацніть на кнопці «Біржові результати», прогляньте результати фінансового року, клацніть на кнопці «Наступний рік». Зіграйте в цю гру кілька разів і закінчіть роботу програми, клацнувши на кнопці «Вихід».
Створіть ехе-файл програми.
Закрийте Delphi, запустіть створену програму зіграйте і спробуйте досягти добрих результатів.
Продемонструйте створену форму викладачеві.
Виконайте додаткові завдання .
№
п/п
Завдання
Інформаційний напис «Прибуток (збиток) на кінець року складає» поміняйте на «Прибуток на кінець року складає» або «Збиток на кінець року складає» залежно від того зріс або зменшився капітал гравця в кінці року в порівнянні з стартовим.
Забезпечте виведення грошової суми прибутку зеленим кольором, а збитку - червоним.
Не дайте можливості гравцеві ввести негативні грошові суми в таблицю інвестицій.
Обчисліть і виведіть у формі всі грошові суми з точністю до цента.
Оформити звіт про лабораторну роботу, в якому записати: тема і мета роботи; послідовність виконання роботи, тексти задач і програм, створених на лабораторній роботі.