1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| procedure InitGridM();
var
i : integer;
montant,montant1:extended;
mens,mens1:extended;
annuite_annuelle,annuite_annuelle1,
annuite,annuite1,annuite_int,annuite_int1,annuite_cap:extended;
percent,percent1:extended;
res,res1,res2,res3,res4,res5:extended;
du,du1:extended;
test,test1,test3:extended;
rate,presentvalue,futurevalue,capital,rate2,presentvalue2,futurevalue2,capital2:extended;
nperiods,nperiods2,period :integer;
result,result2,result3,result4,result5,rep,rep2:extended;
begin
montant1:= strtofloat (form4.montant1.text);
mens1:= strtofloat (form4.primemens1.Caption);
du1:= strtofloat (form4.duree1.text)*12;
percent1:= strtofloat (form4.pourcentage1.Text)/100;// inretet concept30/100
nperiods:=strtoint (form4.nombre_mens.text);// nombre de période
period:=strtoint (form4.num_mens.text);// numéro de la période
rate:=strtofloat(form4.pourcentagetb.Text);//interet composé ex: 0,004074%
presentvalue:=strtofloat(form4.cap_rembourse.Text);//capital déjà remboursé.
futurevalue:= strtofloat(form4.emprunt_total.Text);//montant total du credit interet compris.
capital:= strtofloat(form4.capital_emp.text);//montant emprunté.
rep:= strtofloat(form4.mens.Text);//montant mensualité.
//------
//Calculs
res1:=power(1+percent1,(1/12))-1;
res3:= roundto(mens1*du1,-4);// couttotal concept30
res5:= (res3-montant1);// montant des interets cooncept30
result:= periodpayment (rate,period,nperiods,presentvalue,capital,ptstartofperiod);//capital OK! enfin différence de 3 voir avec giova
result2:=interestpayment (rate,period,nperiods,capital,futurevalue,ptstartofperiod);//interet => OK!
result3:= (abs(result))+(abs(result2)); //mensualité en additionnant l'interet et le capital.
result4:= (abs(result))-(abs(rep)); //mensualité en soustrayant capital et mensualité => OK! enfin pas sur ...
result5:= (abs(result))-(abs(rep));// partie de capital
//--------
//Nom des colonnes :
form4.TM.Cells[0,0] := 'M';
form4.TM.Cells[1,0] := 'Capital Initial';
form4.TM.Cells[2,0] := 'Intérêts';
form4.TM.Cells[3,0] := 'Capital';
form4.TM.Cells[4,0] := 'Mensualité';
Grid := form4.TM;
for i:=1 to grid.RowCount do //Initialisation de la première colonnes (nbr d'année)
begin
form4.TM.Cells[0,i] := inttostr(i);
end;
for i:=1 to grid.RowCount do
begin
// form4.ta.cells[1,i]:= inttostr(strtoint(form4.montant.text)- (m));
form4.TM.Cells[1,i]:= floattostr(roundto((montant1 + (i-1)*result),-2));
end;
for i:= 1 to Grid.rowcount do //Initialisation de la 2ieme colonnes (nbr d'année)
begin
form4.TM.cells [2,i] := floattostr(abs(roundto(( result4 + (i-1)),-2)));
end;
for i:= 1 to Grid.RowCount do //Initialisation de la 3ieme colonnes (nbr d'année)
begin
form4.TM.Cells[3,i] := floattostr(abs(roundto(( result - (i-1)),-2)));
end;
for i:= 1 to Grid.RowCount do //Initialisation de la 4ieme colonnes (nbr d'année)
begin
form4.TM.Cells[4,i] := floattostr(mens1);
end;
end; |
Partager