Как присвоить переменной для вычисления, значение вводимое в поле таблицы?

Есть код программы которая считает общую сумму доходов расходов и прибыль за год:

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.

Ответы (0 шт):