Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   bucle para fechas de pagos (https://www.clubdelphi.com/foros/showthread.php?t=55834)

chino150 28-04-2008 20:18:06

bucle para fechas de pagos
 
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

Lepe 28-04-2008 20:37:47

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

Cita:

Empezado por Lepe (Mensaje 283052)
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...)

Código Delphi [-]
 
     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
Código Delphi [-]
     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

Cita:

Empezado por chino150 (Mensaje 286016)
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
Código Delphi [-]
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.


La franja horaria es GMT +2. Ahora son las 21:49:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi