Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2014
grandzon grandzon is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 14
Poder: 0
grandzon Va por buen camino
Question Duda con la función daysbetween

Hola compañer@s

Discúlpen pero tengo una duda sobre el funcionamiento de la función "DaysBetween" usada en Delphi XE3... sucede que cuando intento el número de días entre una fecha pasada y la fecha actual me retorna, efectivamente, los días entre una y otra como entero simple (ej. 10, 20, 30 etc.); cuando intento aplicar esta función con una fecha futura me devuelve de igual manera un entero positivo (ej. 10, 20, 30 etc.)... ¿no debería ser en ese caso un negativo?

Explicado de la manera como lo programo y los valores que recibo

Código Delphi [-]
datetimepicker1.date:=miventanaprincipal.mitabla['fecha']; //no hago conversión de variables pues el campo "fecha" en la tabla es tipo "fecha/hora"
daysbetween(datetimepicker1.date, date); //datetimepicker1 fecha:='09/14/2014' y la fecha actual de la máquina:='08/20/2014"
                                                          //pero el valor que recibo es un entero positivo ¿no debería ser algo como '-10'?

Uso la IDE Rad Studio XE3 para Delphi.
la base de datos es access 2010.
Responder Con Cita
  #2  
Antiguo 20-08-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No veo porqué tendría que ser negativo ya que sólo se trata del número de días entre dos fechas. La distancia entre tu casa y mi casa es la misma sin importar desde donde la midas. Lo mismo sucede con las fechas.

// Saludos
Responder Con Cita
  #3  
Antiguo 20-08-2014
grandzon grandzon is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 14
Poder: 0
grandzon Va por buen camino
Duda con la función daysbetween

Hola roman lo que sucede es lo siguiente:

Estoy desarrollando una aplicación para control de préstamos y en una parte toma en cuenta los días que lleva de atraso el cliente en el pago de la cuota, el usuario declara el número de días de atraso en los que empezará a correr la mora (pe. 3 días), realizo una comparación entre ese valor y el que me devuelve la función DaysBetween, si es mayor que 3 me realiza el cálculo de la mora que se sumaría al monto de la cuota a pagar de esta manera

Código Delphi [-]
DiasdeAtraso, DiasaTomarenCuenta: integer;
...
DiasdeAtraso:=DaysBetween(datetimepicker1, date);
if DiasdeAtraso>DiasaTomarenCuenta then //me calcula la mora

por lo tanto me sería conveniente que si comparo una fecha futura me devuelva un número negativo para que la mora sea := 0;

Me inicié hace poco en la programación y por más que he buscado en la web no encuentro respuesta.
Responder Con Cita
  #4  
Antiguo 20-08-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No entiendo muy bien lo que dices pero intuyo que puede ayudarte la función CompareDate de la unidad DateUtils, que te devuelve -1, 0 o 1 dependiendo de si la primera fecha es anterior, igual o posterior a la segunda.

// Saludos
Responder Con Cita
  #5  
Antiguo 20-08-2014
grandzon grandzon is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 14
Poder: 0
grandzon Va por buen camino
Gracias! roman, exactamente algo como eso necesito
Responder Con Cita
Respuesta



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
Duda al Ejecutar Funcion 2 Veces n03l OOP 3 12-03-2012 20:29:50
Duda Función IntToStr P0werBurn Varios 10 04-08-2010 15:40:39
Daysbetween nenufer Varios 3 22-05-2006 18:34:09
Duda sobre funcion DOW gendelphi Firebird e Interbase 0 30-01-2004 21:31:25


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


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