вівторок, 14 квітня 2020 р.

Лабораторна робота №14 міні-програми

Лабораторна робота №14 Створення міні-програми


Мета: Навчитись створювати міні-програми з використанням головного та контекстного меню
Завдання 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;

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

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