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