Как присвоить переменной для вычисления, значение вводимое в поле таблицы?
Есть код программы которая считает общую сумму доходов расходов и прибыль за год:
var
Dohodi:array [1..12] of real;
Rashodi:array [1..12] of real;
Month:integer;
PribilJanDec, ObshayaSummaDohodov, ObshayaSummaRashodov, Pribil:real;
begin
writeln('|Введите кол-во доходов за Январь-Декабрь|');
for Month:= 1 to 12 do
begin
write(Month,' месяц: ');
read(Dohodi[Month]);
end;
writeln('|Введите кол-во расходов за Январь-Декабрь|');
for Month:= 1 to 12 do
begin
write(Month,' месяц: ');
read(Rashodi[Month]);
end;
PribilJanDec:= 0; ObshayaSummaDohodov:= 0; ObshayaSummaRashodov:= 0; Pribil:= 0;
for Month:= 1 to 12 do
begin
PribilJanDec:= PribilJanDec + Dohodi[Month];
ObshayaSummaDohodov:= ObshayaSummaDohodov + Dohodi[Month];
ObshayaSummaRashodov:= ObshayaSummaRashodov + Rashodi[Month];
Pribil:= Pribil + (Dohodi[Month] - Rashodi[Month]);
end;
writeln('Прибыль: ', PribilJanDec:0:2);
writeln('Общая сумма доходов: ', ObshayaSummaDohodov:0:2);
writeln('Общая сумма расходов: ', ObshayaSummaRashodov:0:2);
writeln('Прибыль за год: ', Pribil:0:2);
readln;
readln;
end.
Это ^консольная версия^
Мне нужно сделать ее в графической версии, я хотел сделать это через таблицу использовав компонент TStringEdit. Вот тут я немного сделал:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Grids, ValEdit, Math;
type
{ TForm1 }
TForm1 = class(TForm)
StringGrid1: TStringGrid; procedure FormCreate(Sender: TObject);
procedure StringGrid1EditingDone(Sender: TObject); private
public
end;
var
Form1: TForm1;
realValue: Real;
valueFromGrid: String;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
procedure TForm1.StringGrid1EditingDone(Sender: TObject);
begin valueFromGrid := StringGrid1.Cells[1, 1];
if valueFromGrid <> '' then
begin if TryStrToFloat(valueFromGrid, realValue) then
ShowMessage('Cool') else
StringGrid1.Cells[1,1]:= ''; end;
end;
end.
Можете сказать как это сделать в таблице т.е как мне присвоить переменной для вычисления, значение вводимое в поле таблицы, то что я сделал так верно ?
РЕШЕНИЕ:
procedure TForm1.Button1Click(Sender: TObject);
begin
pribil:= 0;
for Month:= 1 to 12 do
begin
Dohodi:= StrToFloat(StringGrid1.Cells[Month, 1]);
Rashodi:= StrToFloat(StringGrid1.Cells[Month, 2]);
pribil:= Dohodi-Rashodi;
StringGrid1.Cells[Month, 3]:= FloatToStr(pribil);
obshiydoh+= Dohodi;
ObshDoh.Text:= FloatToStr(obshiydoh);
obshiyrash+=Rashodi;
ObshRash.Text:= FloatToStr(obshiyrash);
pribyear+= (Dohodi-Rashodi);
PribilYr.Text:= FloatToStr(pribyear);
end;
end;
end.
