вівторок, 21 січня 2020 р.
понеділок, 20 січня 2020 р.
Налагодження готової програми
Практична робота
1. Завантажити готові проекти за посиланнямhttps://bit.ly/30DjaAw
2. По черзі відкрити проекти і виправити помилки
Проект "Вік" - робота з текстовими величинами
Проект "Калькулятор" - робота з числовими величинами
3. Додати в кожному проекті коментарі для читабельності коду
пʼятниця, 17 січня 2020 р.
Візуалізація елементів табличної величини
Візуалізація елементів табличної величини за допомогою прямокутників
Візуалізація елементів табличної величини за допомогою інших примітивів
Візуалізація елементів табличної величини за допомогою графічних примітивів
Відобразити у вигляді лінійчатої діаграми дані таблиці
У розділі опису глобальних змінних опишемо:
var
Form1: TForm1;
sh: array[1..4] of TShape;
lb: array[1..4] of TLabel;
Заповнення масивів відбуватиметься під час створення форми:
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.FillRect(Image1.ClientRect);
sh[1] := Shape1;
sh[2] := Shape2;
sh[3] := Shape3;
sh[4] := Shape4;
lb[1] := Label1;
lb[2] := Label2;
lb[3] := Label3;
lb[4] := Label4;
end;
Код процедури обробки події onclick для кнопки Побудувати діаграму може бути таким:
procedure TForm1.Button1Click(Sender: TObject);
const D: array[1..4] of Integer = (981, 705, 591, 174);
Nazva: array[1..4] of String = ('Дніпро', 'Дністер', 'Десна', 'Дунай');
var i: Integer;
begin
For i := 1 to 4 do
begin
sh[i].Width := D[i] div 5;
lb[i].Caption := Nazva[i];
sh[i].Top := 25*i; lb[i].Top := 25*i;
Image1.Canvas.TextOut (D[i] div 5+20, 25*i, IntToStr(D[i]));
end;
end;
Побудова гістограми з використанням графічних методів
Код процедури обробки події onclick для кнопки Побудувати діаграму може бути таким:
procedure TForm1.Button1Click(Sender: TObject);
const SrBal: array[1..4] of Real = (9.8, 8.5, 9.1, 7.4);Nazva: array[1..4] of String = ('Інформатика', 'Алгебра', 'Геометрія', 'Фізика');
var i: Integer;
begin
Label1.Caption :='';
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.FillRect(Image1.ClientRect);
Image1.Canvas.Polyline ([Point(5,5),Point(5,140),Point (240,140)]);
Image1.Canvas.Polyline ([Point (2,8), Point (5,5), Point (9,9)]);
Image1.Canvas.Polyline ([Point (235,137), Point (240,140), Point (235,143)]);
For i := 1 to 4 do begin
With Image1.Canvas do begin
Brush.Color := RGBToColor (i*50, 150, 150);
Brush.Style := bsSolid;
Rectangle (i*50, Round(150-SrBal[i]*10), i*50+30, 140);
Brush.Style := bsClear;
Font.Size := 12;
TextOut (i*50, Round(130-SrBal[i]*10), FloatToStr(SrBal[i]));
end;
Label1.Caption := Label1.Caption + ' ' + Nazva[i];
end;
end;
Підписатися на:
Дописи (Atom)






