PDA

Ver la Versión Completa : Daysbetween


nenufer
22-05-2006, 12:41:29
Buenas!! Utilizo delphi7,tablas paradox.

tengo un problema con un procedimiento. Quiero calcular los dias que pasaron desde que alquile una pelicula hasta que la devolvi.


procedure TDM.CalculoDeuda();
var
dias,diasDebe : integer;
Deuda : double;
begin
dias := 0; <--------por aqui no pasa
DiasDebe := 0;<--- por aqui tampoco

dias := trunc (DaysBetween (TblAlquileresFecha_Alquiler.Value,
TblAlquileresFecha_Devolucion.Value));

if TblAlquilerNum_dias.Value < inttostr(dias) then
begin
diasDebe := dias - strtoint(TblAlquilerNum_dias.Value);
Deuda := TblAlquilerSancion.Value * diasDebe;

TblDeudaDeuda.Value := round(Deuda);
TblDeuda.Post;
end;
end;

El numero de dias me lo devuelve a 0. Si le pongo :

dias := trunc (DaysBetween (TblAlquileresFecha_Alquiler.Value,
now));


Me devuelve el numero de dias mal. No se que es lo que estoy haciendo mal.
Si alguien me puede ayudar,gracias de antemano.

celades1
22-05-2006, 13:50:46
Hola


la funcion DaysBetween funciona bien, yo creo que te sobra el trunc,
pero yo he probado con trunc y sin trunc funciona perfectamente, debes debugar tu codigo para ver que valor tiene TblAlquileresFecha_Alquiler.Value y TblAlquileresFecha_Devolucion.Value en el momento de lanzar la funcion, porque no deben tener el valor que tu te piensas

No veo que mas puede ser

Saludos

nenufer
22-05-2006, 16:03:54
Buenas, gracias por contestar. Lo he probado en otro ordenador y si que funciona. No se porque. Cuestion del alias..? no lo se. Pero lo he hecho sin el trunc. Y con puntos de ruptura todo me ha dado bien.
:confused: No se. Pero funciona:p .
Gracias:)

samantha jones
22-05-2006, 18:34:09
No seria lo mismo y sin usar otra función hacer lo siguiente:

dias := trunc(now - fechadealquiler);

o cual es la ventaja de usar la función DaysBetween?

Saludos