субота, 5 травня 2018 р.

Лабораторна робота №15 Створення таблиці

Лабораторна робота №15 Створення таблиці

Мета: Навчитись будувати таблиці

Завдання 1.
Побудувати таблицю як на малюнку.

Створити відповідні обробники подій для редагування таблиці.
Для діагностування вибору активної клітинки вивевести номер стовпчика та рядка та можливість редагування.

Продемонструвати роботу програм..





Процедура на редагування вмісту клітинки таблиці.
Якщо клітинка порожня то число 0 інакше переведено у число.
Наведено приклад, як обмежити кількість знаків після коми.

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
var a,b,c,k:integer;
begin
     k:=0;  //кількість заповнених клітинок
     if StringGrid1.Cells[ACol,Arow]<>'' Then
      begin
       if StringGrid1.Cells[1,Arow]<>'' Then begin a:= StrToInt(StringGrid1.Cells[1,Arow]); k:=+k+1;end else a:=0;
       if StringGrid1.Cells[2,Arow]<>'' Then begin b:= StrToInt(StringGrid1.Cells[2,Arow]);k:=+k+1;end else b:=0;
       if StringGrid1.Cells[3,Arow]<>'' Then begin c:= StrToInt(StringGrid1.Cells[3,Arow]);k:=+k+1;end else c:=0;
       StringGrid1.Cells[4,Arow]:=FormatFloat('0.00',(a+b+c)/k);
       //floatToStr((a+b+c)/k);
       //FormatFloat('0.00', a)
       //FormatFloat('0.##', a)
       //=Format('%2f',[1000000000/3]);
      end;
end;


---------------------------
Процедура коли вибрано ячейка таблиці.

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
     Label1.Caption:=IntToStr(ACol);
     Label2.Caption:=IntToStr(ARow);
     if ACol=4 Then
        begin
          StringGrid1.Options:=StringGrid1.Options-[goEditing];
          label3.Caption:='нет редактирования’;
        end
              Else
        begin
          StringGrid1.Options:=StringGrid1.Options+[goEditing]; //встановлення редагування
          label3.Caption:='редагування можливе’;
        end;
end;

Немає коментарів:

Дописати коментар