Форум: "Начинающим";
Текущий архив: 2013.12.22;
Скачать: [xml.tar.bz2];
ВнизСуммирование столбцов StringGird Найти похожие ветки
← →
Dikey (2013-03-04 10:21) [0]Начну с самого начала
Написал код программы "Кредитный калькулятор" рассчитывает ежемесячные платежи и выводит их в таблицу 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;
← →
Dimka Maslov © (2013-03-04 10:29) [1]Странно всё это. Столько всего написал, а элементарную операцию суммирования элементов массива ниасилил? Как так?
← →
Dikey (2013-03-04 10:34) [2]Удалено модератором
← →
Jeer © (2013-03-04 11:37) [3]Удалено модератором
← →
Dikey (2013-03-04 11:52) [4]Удалено модератором
← →
Ega23 © (2013-03-04 12:05) [5]Удалено модератором
← →
Dikey (2013-03-04 12:08) [6]Удалено модератором
← →
Ega23 © (2013-03-04 12:13) [7]Удалено модератором
← →
Dikey (2013-03-04 12:17) [8]Удалено модератором
← →
Ega23 © (2013-03-04 12:24) [9]Ты сказал:
> Начну с самого начала
> Написал код программы "Кредитный калькулятор"
Мы усомнились, т.к. твой вопрос - это 3 строчки кода, что-что, а это ты просто не можешь не сделать, при условии, что код писал ты.
Теперь выясняется, что
> тут все как будто ни кто исходников не забирал никогда.
Дара-гой. Исходников тут забирали. Их изучали и даже модфицировали. А ещё и копирайты ставили тех, кто эти исходники давал.
Только я вот не вижу попыток изучения и желания разобраться в тобой в "твоём" коде. Помощь - это действительно помощь, а не делание работы за тебя.
А в твоём случае вопрос простой: сколько?
← →
Jeer © (2013-03-04 15:55) [10]Удалено модератором
← →
Inovet © (2013-03-04 16:45) [11]Удалено модератором
← →
DevilDevil © (2013-03-04 16:57) [12]> Dikey (04.03.13 10:21)
на каком этапе работает некорректно ?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.12.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c