Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Operaciones con fechas (https://www.clubdelphi.com/foros/showthread.php?t=51127)

tifosi_loco 06-12-2007 04:35:33

Operaciones con fechas
 
Buenas noches, tengo una entrega de un tp en delphi con ado de un videoclub (clasico no?)
La cuestion es que estoy atorado en la parte de devoluciones de las peliculas...

mas que explicar les dejo ejemplo grafico

Jose alquila el DVD a $4 por un plazo de 1 dia. Si lo devuelve pasado ese dia, se cobra $1 de multa por dia q se pasa...

por lo que si jose alquiló el 01-12-2007, tendria que haber devuelto la peli el 02-12-2007, pero la devolvio recien hoy (06-12-2007)
O sea que José pagarìa 4 dias de multa * $1 cada dia = $4 de multa

Lo que necesito seria algo asi.... fecha_actual -(fecha_alquiler + plazo)
pero me da errores con los tipo de datos...

Me podrán ayudar??:)

Gracias!

Delphius 06-12-2007 04:58:33

Hola tifosi_loco,
Benvenido a clubdelphi.
Lamento tener que decirtelo, pero viendo que recién te inicias: no repitas hilos. Para mayor información, te recomiendo la lectura de la guia de estilo; unas pequeñas normas y recomendaciones para cuando postees.

Bueno, con respecto a tu pregunta:
¿Como obtienes esas fechas? ¿Desde una TTable? ¿Desde un TQuery? ¿Empleas una base de datos? ¿Que motor?
Si aportas mayores detalles de seguro que te podemos ser de ayuda.

Por otro lado suguiero que busques en los foros porque esta pregunta es tema frecuente, ya se ha tratado en varias ocasiones. Al final del hilo encontrarás enlaces a 4 hilos en donde se ha tratado tu pregunta.

También chequea la ayuda de Delphi sobre la función DaysBetween que devuelve la cantidad de días entre dos fechas.

Saludos,

Caro 06-12-2007 14:26:08

Hola tifosi_loco, para lo que quieres puedes utilizar las funciones IncDay que te incrementa una cantidad de dias a una fecha y DaysBetween que te da una cantidad de dias entre dos fechas.

Te pongo un ejemplo utilizando dos DateTimePicker, pero ya tu lo adecuas a lo que necesites.

Código Delphi [-]
var
 dias_multa, plazo :Integer;
 fch_alquiler,
 fch_entrega,
 fch_devolucion : TDateTime;
begin
 plazo := 1;
 fch_alquiler := DateTimePicker1.Date;
 fch_entrega := IncDay(fch_alquiler,plazo);
 fch_devolucion := DateTimePicker2.Date;

 dias_multa := DaysBetween(fch_entrega, fch_devolucion);

 showmessage(IntToStr(dias_multa));
end;

Saluditos


La franja horaria es GMT +2. Ahora son las 18:10:12.

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