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 25-10-2005
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
Obtener Maximo dias del mes en curso

Hola a todos, yo tengo que facturar desde la fecha actual hasta el final del mes en curso. La fecha actual la obtengo con el "Date", pero como hago para saber la cantidad de dias que tiene el mes en curso.¿?
Gracias por todo. Mi version de delphi es la 5.
Responder Con Cita
  #2  
Antiguo 25-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Por la cantidad de mensajes que llevas y fecha de suscripcion se puede decir que no eres nuevo en el foro. ¿Por qué no realizas una búsqueda?* . Casualmente ayer o antes se produjo la misma duda en este mismo apartado del foro.

**Espero que no lo tomes a mal
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 25-10-2005
Torreblanca Torreblanca is offline
Miembro
 
Registrado: jul 2005
Ubicación: Veracruz México
Posts: 52
Poder: 19
Torreblanca Va por buen camino
prueba con la fución DaysInaMoth(año,mes);
año y mes son variables que le debes pasar a la funcion ya sea desde un combo o un edit
Responder Con Cita
  #4  
Antiguo 25-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Wow

3 post en el mismo minuto(Record):P:P:P
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 25-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por Troy
3 post en el mismo minuto(Record):P:P:P
No puedo dejarte mal. No me había fijado en que habíamos publicado los tres mensajes en el mismo minuto. He borrado el que yo publiqué primero porque he visto que la respuesta que refieres tú es justo la misma que la que he dado por mi parte. No es la primera vez que borro un mensaje mío por este motivo. Pero esta vez tuve que escribir este para aclarar el tuyo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 25-10-2005
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
No tengo la unidad DateUtils

Gracias a ambos, mi problema es que no tengo esa unidad.
De donde la puedo bajar¿?
Saludos a ambos...
Responder Con Cita
  #7  
Antiguo 26-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por zugazua2001
mi problema es que no tengo esa unidad.
Oops.
Cita:
Empezado por zugazua2001
De donde la puedo bajar¿?
Ni la menor idea pero puede hacer esto: Feo, pero es lo que se me ocurre ahora
Código Delphi [-]
var
  fecha,tfecha:TDate;
  dia,mes,ano:word;
begin
  fecha:=now;//Aquí asignas la fecha del mes
  DecodeDate(fecha,ano,mes,dia);
  inc(mes);
  tfecha:=EncodeDate(ano,mes,dia);
  showmessage(copy(DateToStr(tfecha+2-fecha),1,2));
Si alguien puede mejorarlo, agradecido estaré
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #8  
Antiguo 26-10-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Es extraño que no tengas la unidad DateUtils , busca en la ruta
{Delphi5 Dir}\Source\Rtl\Common por algún lado debería estar.

Si no la encuentras aquí transcribo la función DaysInAMonth para que la implementes.

Código Delphi [-]

{ The MonthDays array can be used to quickly find the number of
  days in a month:  MonthDays[IsLeapYear(Y), M]      }

const
  MonthDays: array [Boolean] of TDayTable =
    ((31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31),
     (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31));

function DaysInAMonth(const AYear, AMonth: Word): Word;
begin
  Result := MonthDays[(AMonth = 2) and IsLeapYear(AYear), AMonth];
end;

function IsLeapYear(Year: Word): Boolean;
begin
  Result := (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0));
end;

Un saludo.
Responder Con Cita
  #9  
Antiguo 26-10-2005
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
hola vtdeleon:
el codigo que nos has expuesto, no funcionaria para los meses de diciembre, ni para los dias en que el mes siguiente tuviera menos dias el día en que estamos (por ejemplo 31 de octubre)
haciendo la pequeña corrección queda más o menos así
Código Delphi [-]
var
  fecha,tfecha:TDate;
  dia,mes,ano:word;
begin
  fecha:=now;//Aquí asignas la fecha del mes
  DecodeDate(fecha,ano,mes,dia);
  fecha:=fecha-dia+1;//todos los meses tien día 1
  inc(mes);
  if mes >12 then 
  begin
    mes:=1;
    inc(ano);
  end;
  tfecha:=EncodeDate(ano,mes,1);  //para obtener el dia 1 del mes siguiente
  showmessage(copy(DateToStr(tfecha+2-fecha),1,2));
end;
Responder Con Cita
  #10  
Antiguo 26-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por HECTOR RANDOLPH
Es extraño que no tengas la unidad DateUtils
Creo que esta unidad está a partir de la versión 7, si no me equivoco
Cita:
Empezado por Julia
el codigo que nos has expuesto, no funcionaria para los meses de diciembre, ni para los dias en que el mes siguiente tuviera menos dias el día en que estamos (por ejemplo 31 de octubre)
Necesitaba un poquito de ayuda , lo hice sin pensar
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #11  
Antiguo 26-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por Julià T.
no funcionaria para los meses de diciembre
Muy cierto, no existe mes 13
Cita:
Empezado por Julià T.
..ni para los dias en que el mes siguiente tuviera menos dias el día en que estamos (por ejemplo 31 de octubre)
Oops
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 26-10-2005 a las 02:45:58. Razón: Corrección
Responder Con Cita
  #12  
Antiguo 26-10-2005
Avatar de xavinet
xavinet xavinet is offline
Miembro
 
Registrado: mar 2005
Posts: 41
Poder: 0
xavinet Va por buen camino
Post www.koders.com

Hola!!

En www.koders.com, busca DaysInMonth para delphi y si miras el .pas de las JEDI: JclDateTime.pas, puedes bajarte toda la unit o si prefieres te copias la función o funciones necesarias en tu unit.

Hasta pronto gente!
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


La franja horaria es GMT +2. Ahora son las 18:30:24.


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