Ver la Versión Completa : bucle para fechas de pagos
chino150
28-04-2008, 20:18:06
Hola a todos.
Necesito un bucle para una tabla de amorización para las fechas de pagos
por ejemplo
Periodo Fecha De Pago
1 01/04/2008
2 01/05/2008
3 01/06/2008
ufff, que espeso te veo. ¿crees que podemos entender tus tablas, campos y lo que quieres hacer con esa explicación?
... Po va a sé que no.
saludos
BlueSteel
28-04-2008, 21:32:21
ufff, que espeso te veo. ¿crees que podemos entender tus tablas, campos y lo que quieres hacer con esa explicación?
... Po va a sé que no.
saludos
vamos.. si no se ve tan dificil.....
chino150, necesitas tener los siguientes datos....
Numero de Cuotas -> lo que te dará el largo del bucle...
Fecha de Pago -> para repetir esa fecha (cambiando el mes...)
Fecha_dePago // Variable de tipo Fecha...con 30 dias antes del primer vencimiento
For i:= 1 to Numero_Cuotas do
Begin
Fecha_dePago := Fecha_dePago + 1Mes;
// Aqui debes hacer el proceso para cambiar la fecha de mes en mes...
Imprimir Fecha_dePago // Aqui imprimes lo que quieras..
End;
Por Ejemplo, si tenemos
Fecha_dePago := StrToDate('28/04/2008');
Numero_Cuotas := 12;
vencimiento
For i:= 1 to Numero_Cuotas do
Begin
ShowMessage('La Cuota Numero '+IntToStr(i)+' Vence el '+DateToStr(Fecha_dePago);
Fecha_dePago := Fecha_dePago + 30;
End;
Salu2:p:D
chino150
12-05-2008, 17:15:47
Hola BlueSteel,
Yo estoy usando 3 Edit y 1 datepicker, 1 stringgrid el codigo
Codigo Delphi [-]
procedure TForm1.amortizacionClick(Sender: TObject);
begin
{inicializamos todo}
deu:=strtofloat(deuda.Text);
int:=strtofloat(interes.text);
ti:=strtofloat(tiempo.text);
{calculamos interes mensual}
if rg1.itemindex=0then
im:=int/100
else
im:=(int/100)/12;
{primer columna}
if rg2.itemindex=0then
mes:=ti
else
mes:=ti*12;
{Colocamos total de filas}
if rg2.itemindex=0then
tf:=strtoint(tiempo.text)
else
tf:=strtoint(tiempo.text)*12;
m.RowCount:=tf +1;
for fil:=1to tf do
m.cells[0,fil]:=floattostr(roundto(fil, -2));
{tercera columna}
pc:=deu/mes;
for fil:=1to tf do
m.cells[2,fil]:=floattostr(roundto(pc, -2));
{segunda columna}
si:=deu+pc;
for fil:=1to tf do
begin
si:=si-pc;
m.Cells[1,fil]:=floattostr(roundto(si, -2));
end;
{quinta columna}
sf:=deu;
for fil:=1to tf do
begin
sf:=sf-pc;
m.Cells[4,fil]:=floattostr(roundto(sf, -2));
end;
{cuarta columna}
si:=deu+pc;
for fil:=1to tf do
begin
si:=si-pc;
i:=si*im;
m.Cells[3,fil]:=floattostr(roundto(i, -2));
end;
{sexta columna}
pc:=deu/mes;
si:=deu+pc;
for fil:=1to tf do
begin
si:=si-pc;
i:=si*im;
pm:=pc+i;
m.Cells[5,fil]:=floattostr(roundto(pm, -2));
end;
{interes total}
ti:=0;
for fil:=1to tf do
ti:=ti+strtofloat(m.Cells[3,fil]);
it.Caption:=floattostr(roundto(ti,-2));
end;
end.
gracias
BlueSteel
13-05-2008, 01:30:27
Hola BlueSteel,
Yo estoy usando 3 Edit y 1 datepicker, 1 stringgrid el codigo
Codigo Delphi [-]
procedure TForm1.amortizacionClick(Sender: TObject);
begin
{inicializamos todo}
deu:=strtofloat(deuda.Text);
int:=strtofloat(interes.text);
ti:=strtofloat(tiempo.text);
{calculamos interes mensual}
if rg1.itemindex=0then
im:=int/100
else
im:=(int/100)/12;
{primer columna}
if rg2.itemindex=0then
mes:=ti
else
mes:=ti*12;
{Colocamos total de filas}
if rg2.itemindex=0then
tf:=strtoint(tiempo.text)
else
tf:=strtoint(tiempo.text)*12;
m.RowCount:=tf +1;
for fil:=1to tf do
m.cells[0,fil]:=floattostr(roundto(fil, -2));
{tercera columna}
pc:=deu/mes;
for fil:=1to tf do
m.cells[2,fil]:=floattostr(roundto(pc, -2));
{segunda columna}
si:=deu+pc;
for fil:=1to tf do
begin
si:=si-pc;
m.Cells[1,fil]:=floattostr(roundto(si, -2));
end;
{quinta columna}
sf:=deu;
for fil:=1to tf do
begin
sf:=sf-pc;
m.Cells[4,fil]:=floattostr(roundto(sf, -2));
end;
{cuarta columna}
si:=deu+pc;
for fil:=1to tf do
begin
si:=si-pc;
i:=si*im;
m.Cells[3,fil]:=floattostr(roundto(i, -2));
end;
{sexta columna}
pc:=deu/mes;
si:=deu+pc;
for fil:=1to tf do
begin
si:=si-pc;
i:=si*im;
pm:=pc+i;
m.Cells[5,fil]:=floattostr(roundto(pm, -2));
end;
{interes total}
ti:=0;
for fil:=1to tf do
ti:=ti+strtofloat(m.Cells[3,fil]);
it.Caption:=floattostr(roundto(ti,-2));
end;
end.
gracias
Hola Chino...
bueno, creo que podrias optimizar mucho más tu codigo... como por ejemplo
para llenar cada una de las columnas del StringGrid utilizas
for fil:=1to tf do
cuando podrias poner el codigo de todas las colunas en ese mismo codigo...
Nunca dices si el codigo que tienes esta bien.. te funciona... o tiene algun error...
Tambien, no se como estas realizando tu cuadro de amortización...
generalmente yo utilizo uno con los sgtes datos:
| Nro de Cta | Valor Cuota | Interes | Amortización | Saldo Capital
para calcular el valor cuota necesitas :
- Monto del Credito (Inversión)
- Tasa de Interes (Definir si es mensual o anual)
- Horizonte de Evaluación (Nº de Cuotas)
Bueno... espero que todo te resulte bien...
Salu2:p:D
chino150
19-05-2008, 15:01:28
Hola BlueSteel,
El codigo funciona bien solo que deseo agregarle las fechas de pago, uso
para ingresar el monto del credito la tasa de interes y el numero de cuotas tres componentes edit para la fecha un datetimepicker las columnas del stringgrid son Cuotas, Fecha de Pago, Amortización, Intereses, Pago, Balance.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.