Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.03.2013, 10:47
Dikey Dikey вне форума
Прохожий
 
Регистрация: 03.03.2013
Сообщения: 4
Репутация: 10
По умолчанию Суммирование столбцов StringGird

Начну с самого начал.
Есть код программы. Рассчитывает ежемесячные платежи и выводит их в таблицу StringGird.
Месяц|Выплата процентов|Погашение основного долга| ежемесячный платеж|ОД на конец|ОД на начало|
Количество строк в sg зависит от количества введенных месяцев.
Помогите мне вписать в существующий код расчет суммы столбцов в конечной строке "ИТОГО"
Код:
 var
 FCalc: TFCalc;
 procedure Annuite(summa, stavka, mesplatej: real; month: integer);
  procedure Dif(summa, stavka, mesplatej: real; month: integer);
implementation
uses Unit1;
{$R *.dfm}
procedure Annuite(summa, stavka, mesplatej: real; month: integer);
var
i,j: integer;
ostn, ostk, vplpr, pgdolg: real;
total: array[0..5] of double ;
begin
 FCalc.SG.RowCount := month + 1;
   for i := 1 to month do
 for j := 1 to 5 do
 total[j]:= total[j] + strtofloat(FCalc.SG.Cells[j,i]);
  begin
   if i = 1 then ostn := summa else ostn := ostk; 
   vplpr := ostn * stavka / 12;
   pgdolg := mesplatej - vplpr;
   ostk := ostn - pgdolg;

   FCalc.SG.Cells[0,i]:= inttostr(i); // 
   FCalc.SG.Cells[1,i]:= floattostrf(vplpr,ffFixed,6,2);
   FCalc.SG.Cells[2,i]:= floattostrf(pgdolg,ffFixed,6,2);
   FCalc.SG.Cells[3,i]:= floattostrf(mesplatej,ffFixed,6,2);
   FCalc.SG.Cells[4,i]:= floattostrf(ostn,ffFixed,8,2);
   FCalc.SG.Cells[5,i]:= floattostrf(ostk,ffFixed,8,2);
 end;
procedure TFCalc.BRaschClick(Sender: TObject);
  function PMT(IR, NP, PV: real): real;
  begin
  result := (PV * IR) / (1 - power(1 + IR, -NP));
 end;
var
 sum, stavka: extended;
 month,i,j: integer;
 Ejrasch: extended;
begin
if (EMonth.Text='') or (EStavka.Text='') or  (Esum.Text='') then ShowMessage ('Íåîáõîäèìî çàïîëíèòü âñå ïîëÿ')
else
begin  SG.visible:=True ;
 sum := StrToFloat(ESum.Text);
 stavka := StrToFloat(EStavka.Text) * 0.01;
 month := StrToInt(Emonth.Text);
     if RBAn.Checked=true then begin 
   Ejrasch := Pmt(stavka / 12, month, sum);
   Annuite(sum, stavka, Ejrasch, month);
 end
 else begin   
 Ejrasch := Pmt(stavka / 12, month, sum);
   Dif(sum, stavka, Ejrasch, month);

 end;
 end;
end;

procedure TFCalc.FormCreate(Sender: TObject);
begin
 SG.Cells[0,0]:='Месяц';
 SG.Cells[1,0]:=Выплата процентов'';
 SG.Cells[2,0]:='Погашение од';
 SG.Cells[3,0]:='Ежемесячный платеж';
 SG.Cells[4,0]:='ОД на начало';
 SG.Cells[5,0]:='Од на конец';
end;
  #2  
Старый 04.03.2013, 11:04
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Повтор: http://delphisources.ru/forum/showthread.php?t=23591
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:31.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025