Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-10-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Cuadro de amortización de Prestamos

Buenos días,

he empezado con una aplicación y en ella debo incluir un generador de cuadros de amortización parecido a lo que aparece en esta web:

Cuadro de Amortización

Principalmente necesito el sistema Francés y el Americano.

Antes de plantearme enlaces con campos de tablas y cosas que pueden complicar más la tarea me gustaría ser capaz de llevar a cabo esta tarea en un grid que ni siquiera se almacene, algo parecido a lo que hace la hoja de calculo del ejemplo.

Para los valores que debo rellenar puedo usar Edit sin mas pero para que se generen las diferentes lineas con las cuotas no se bien que debo poner ya que el número de líneas quedará definido por los plazos del préstamo.

¿Me sabría decir alguien como se suele hacer esa parte del cuadro de amortización?

Gracias por vuestro tiempo
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 22-10-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.265
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Delphitest Ver Mensaje
...me gustaría ser capaz de llevar a cabo esta tarea en un grid que ni siquiera se almacene, algo parecido a lo que hace la hoja de calculo del ejemplo.
Utiliza un TStringGrid, donde tú puedes definir las filas y columnas que se crean. Dependiendo de los años tendrás que asignar un valor diferente a la propiedad RowCount del TStringGrid.


Cita:
Empezado por Delphitest Ver Mensaje
Para los valores que debo rellenar puedo usar Edit sin mas pero para que se generen las diferentes lineas con las cuotas no se bien que debo poner ya que el número de líneas quedará definido por los plazos del préstamo.
Lo dicho. Propiedad RowCount.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 22-10-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Yo tengo una pequeña utilidad parecida para el cálculo de intereses y uso tablas en memoria y un grid normal.

__________________
http://www.gestionportable.com
Responder Con Cita
  #4  
Antiguo 22-10-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Gracias por la información

Estoy haciendo pruebas e intentando entender el mecanismo antes de preguntar a lo loco.

Me toca repasar los bucles, las condiciones... ufff hace años que no tocaba esto.

En cuanto tenga algo hecho si os parece lo subo al foro para que lo veáis y por si alguien quiere aprovecharlo.

Buenas noches
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #5  
Antiguo 23-10-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Bueno, ya voy teniendo algo hecho, lo adjunto para que lo veais (no se si afecta que este hecho con la versión XE5) aunque queda tarea pero le voy cogiendo el tranquillo al menos a esta parte que es la sencilla.

He puesto valores por defecto para que se vea mas o menos la idea pero son modificables.

El siguiente paso que tengo que dar es dar formato a los edit para que los números que pongo ahí aparezcan con el punto de los miles y alineados a la derecha.

Solo está hecho para el sistema americano por ahora (es el sencillo)

La ultima linea necesita retoques porque debe poner el importe del préstamo como amortización, amortizado y a cero el capital pendiente, tengo que darle vueltas a algún If... pero no doy con ello todavía.

Continuo y os voy contando los avances.
Archivos Adjuntos
Tipo de Archivo: rar Amortizacion.rar (56,5 KB, 41 visitas)
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #6  
Antiguo 16-12-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Buenas tardes,

ya estoy por aquí de nuevo, tuve que seguir con otras cosas y deje de lado lo del cuadro de amortización pero ya he llegado a este punto y necesito continuar con ello.

Estoy haciendo algo mal pero no veo qué. Pretendo que a través del For... se generen las lineas del cuadro de amortización menos la última y eso sí sale bien, pero después de esas líneas tengo que generar la última donde se indica el importe amortizado de tal manera que el capital pendiente quede a cero.

No entiendo porqué pero no consigo generar esa última línea.

Pongo el código y adjunto el fichero por si alguien ve algo que no este haciendo bien y pudiese orientarme para solucionarlo.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 Lineas : Integer;
 NumPlazos : Integer;
 ImporteCuota : Double;
 ImporteIntereses : Double;
 ImporteAmortizacion : Double;
 ImporteAmortizado : Double;
 ImportePendiente : Double;
begin
if Plazos.Text = '' then
  ShowMessage('Debe indicar el número de plazos del préstamo')
Else
  Begin
  NumPlazos := Strtoint(Plazos.Text) ;
  ImporteCuota := StrToFloat(ImportePrestamo.Text)*(StrtoFloat(TipodeInteres.Text)/12)/100;
  ImportePendiente := StrtoFloat(ImportePrestamo.Text);
  CuadrodeAmortizacion.RowCount := NumPlazos ;
  For  Lineas := 1 to NumPlazos  do
    Begin
      CuadrodeAmortizacion.Cells[0,Lineas] := InttoStr(Lineas);
      CuadrodeAmortizacion.Cells[1,Lineas] := FormatFloat('#,##0.00 €',ImporteCuota);
      CuadrodeAmortizacion.Cells[2,Lineas] := FormatFloat('#,##0.00 €',ImporteCuota);
      CuadrodeAmortizacion.Cells[3,Lineas] := '0';
      CuadrodeAmortizacion.Cells[4,Lineas] := '0';
      CuadrodeAmortizacion.Cells[5,Lineas] := FormatFloat('#,##0.00 €',ImportePendiente);
     End;
  end;
      Lineas := Lineas-1;
      CuadrodeAmortizacion.Cells[0,Lineas] := InttoStr(Lineas);
      CuadrodeAmortizacion.Cells[1,Lineas] := FormatFloat('#,##0.00 €',ImporteCuota+ImportePendiente);
      CuadrodeAmortizacion.Cells[2,Lineas] := FormatFloat('#,##0.00 €',ImporteCuota);
      CuadrodeAmortizacion.Cells[3,Lineas] := FormatFloat('#,##0.00 €',ImportePendiente);
      CuadrodeAmortizacion.Cells[4,Lineas] := FormatFloat('#,##0.00 €',ImportePendiente);
      CuadrodeAmortizacion.Cells[5,Lineas] := '0';
end;
Archivos Adjuntos
Tipo de Archivo: rar Amortizacion.rar (56,5 KB, 24 visitas)
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #7  
Antiguo 16-12-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Pues ahora yo lo entiendo ...

Las vueltas que hay que darle a veces a unas tonterías

Me explico a mi mismo donde estaba el problema;

Estaba definiendo el número de líneas del Grid igual que el número de plazos, entonces como la linea de la cabecera ocupa una fila lógicamente nunca llegaba a la última que necesitaba.

Lo he solucionado incrementando 1 al número de líneas del Grid y restando 1 al bucle para que deje la ultima sin generar y se pueda hacer cuando finalice. Grrrrrrr Esto hace que se me caiga un poco más el pelo...


Código Delphi [-]
  NumPlazos := Strtoint(Plazos.Text) ;
  ImporteCuota := StrToFloat(ImportePrestamo.Text)*(StrtoFloat(TipodeInteres.Text)/12)/100;
  ImportePendiente := StrtoFloat(ImportePrestamo.Text);
  CuadrodeAmortizacion.RowCount := NumPlazos + 1 ;
  For  Lineas := 1 to NumPlazos - 1  do
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #8  
Antiguo 16-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Delphitest Ver Mensaje
Grrrrrrr Esto hace que se me caiga un poco más el pelo...
¿Por qué crees que los veteranos estamos todos calvos?
Responder Con Cita
  #9  
Antiguo 17-12-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
He donado otros pelillos a la ciencia

y a lo tonto ya lo he conseguido, se generan los cuadros de amortización con el sistema americano y el sistema francés.

He sufrido un poco en este último y he descubierto la función Payment() que no sabía ni que existía, jajajjajaj

Si queréis subirlo al ftp del foro igual viene bien como ejemplo, es algo muy básico pero para los que andamos en el sector financiero puede servir de base para después integrarlo en algún programa.

Adjunto el código y aprovecho el tirón...

¿Se podría imprimir el Grid con el resultado del cuadro de amortización? Obviamente sé que la respuesta es sí, pero si me encamináis un poquillo de cómo hacerlo igual me lanzo unas cuantas horas más y lo dejo hecho.

Gracias
Archivos Adjuntos
Tipo de Archivo: rar Amortizacion.rar (56,8 KB, 61 visitas)
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cuadro Motivacional AzidRain La Taberna 3 04-03-2011 09:42:25
programa de prestamos josi Varios 4 15-08-2008 05:13:37
Programa para amortización de prestamos chino150 Varios 3 15-04-2008 12:14:00
Modulo de prestamos personales chino150 Varios 0 02-01-2008 18:34:05
programa de prestamos en delphi ingmichel Internet 3 24-08-2007 05:10:36


La franja horaria es GMT +2. Ahora son las 01:28:57.


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
Copyright 1996-2007 Club Delphi