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 11-04-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿Existe DateUtils para Delphi 5?

¿Alguien tendrá una pista si existirá la unidad DateUtils para delphi 5 ?

¿Son muchas funciones las que se implementan en esta unidad que no existen en Delphi 5?

¿Valdría la pena hacer el esfuerzo para pasar la unidad DateUtils implementada desde delphi 6 a Delphi 5?

Concretamente yo estoy buscando las funciones MonthsBetween y YearsBetween para delphi 5.

Las cuales podría implementar como función en mi programa. Pero quiero saber si vale la pena transformar toda la unidad para que funcione en Delphi 5
__________________

Responder Con Cita
  #2  
Antiguo 11-04-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
En Delphi5 se llama DateUtil , no recuerdo si esas funciones que necesitas estan allí, pero seguramente hay otras que hacen los mismo en esa misma unidad .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 12-04-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
akelas, eso demuestra lo novato que sigo siendo... no se porque no la había visto... pero no daré excusas, no ví que ahí estaba la unidad DateUtil.

Veré que puedo hacer por la función YearsBetween, que es la que no veo... pero igual y se me estaba escapando también.

Gracias por el dato jhonny.
__________________

Responder Con Cita
  #4  
Antiguo 12-04-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por ContraVeneno Ver Mensaje
Gracias por el dato jhonny.
Que bueno que de algo te sirva el dato , por otro lado... tal vez te sirva la función YearSpan (Aunque la verdad es que no es muy precisa), de todas formas pruebala bien y nos cuentas .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 12-04-2008 a las 00:35:55.
Responder Con Cita
  #5  
Antiguo 12-04-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Aunque viéndolo desde otro punto de vista, la implementación de la función YearsBetween simplemente es esta:

Código Delphi [-]
 
function YearsBetween(const ANow, AThen: TDateTime): Integer;
begin
  Result := Trunc(YearSpan(ANow, AThen));
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 12-04-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Y la implementación de la función YearSpan es esta:

Código Delphi [-]
Var
  { average over a 4 year span }
  ApproxDaysPerMonth: Double = 30.4375;
  ApproxDaysPerYear: Double  = 365.25;

  { The above are the average days per month/year over a normal 4 year period. }
  { We use these approximations because they are more accurate for the next }
  {  century or so.  After that you may want to switch over to these 400 year }
  {  approximations... }
  {    ApproxDaysPerMonth = 30.436875 }
  {    ApproxDaysPerYear  = 365.2425 }

.....
function YearSpan(const ANow, AThen: TDateTime): Double;
begin
  Result := DaySpan(ANow, AThen) / ApproxDaysPerYear;
end;
...
function DaySpan(const ANow, AThen: TDateTime): Double;
begin
  Result := SpanOfNowAndThen(ANow, AThen);
end;

function SpanOfNowAndThen(const ANow, AThen: TDateTime): TDateTime;
begin
  if ANow < AThen then
    Result := AThen - ANow
  else
    Result := ANow - AThen;
end;


Complicado, complicado, pues no es...
__________________

Responder Con Cita
  #7  
Antiguo 12-04-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
No, claro, esas dos constantes son muy intuitivas y seguro que yo mismo las habría deducido cómo máximo en 3 minutejos, bah... será por deducir....

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 12-04-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por Lepe Ver Mensaje
No, claro, esas dos constantes son muy intuitivas y seguro que yo mismo las habría deducido cómo máximo en 3 minutejos, bah... será por deducir....

Saludos
Cierto , es que creí que D5 tenia la función YearSpan .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 12-04-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Entonces, ¿puedo dejar la función así?:
Código Delphi [-]
function YearsBetween(const ANow, AThen: TDateTime): Integer;
Begin
 Result := Trunc((Abs(ANow - AThen)) / 365.2425);
end;
__________________


Última edición por ContraVeneno fecha: 12-04-2008 a las 17:12:09.
Responder Con Cita
  #10  
Antiguo 12-04-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por ContraVeneno Ver Mensaje
Entonces, ¿puedo dejar la función así?:
No veo, el "porque no", solo que para migrar ese proyecto en el futuro
tendrás que tener en cuenta ese detalle y decidir si desea seguir usando
tu implementación o la que viene de fabrica .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
El más completo curso que existe para aprender Delphi (en español 15-08-2007) Black_Ocean Varios 11 24-02-2012 05:30:13
Existe QuickReport para turbo Delphi tulio Impresión 3 19-12-2006 14:01:55
existe un impedimento para hacer subconsultas de interbase en delphi? edy_aca Firebird e Interbase 6 13-09-2004 15:34:30
existe un impedimento para hacer subconsultas de interbase en delphi? edy_aca SQL 1 10-09-2004 21:04:58
existe un impedimento para hacer subconsultas de interbase en delphi? edy_aca SQL 1 10-09-2004 17:55:48


La franja horaria es GMT +2. Ahora son las 07:56:31.


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