Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 19
microbiano Va por buen camino
Excelente Muchas Gracias es lo que estaba buscando muchas gracias Amigo.
Responder Con Cita
  #2  
Antiguo 14-02-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 19
microbiano Va por buen camino
hola hasta ahora me ha funcionado lo del rango de fechas, pero ahora necesito saber el nombre de los meses :-( que estan en ese ranfo por ejemplo 01/01/2001 al 01/04/2011, bien con la instruccion anterior me da el numero de meses esw decir me dice 2 meses, pero como puedo sabe el nombre de los meses en este caso seria Febrero y Marzo.

alguna sugerencia?.


de antemano muchas gracias por su respuesta.
Responder Con Cita
  #3  
Antiguo 14-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola microbiano.

Código Delphi [-]
uses DateUtils;

function MesesANombres(D1, D2: TDate): TStrings;
var
  i, m, Tot: Integer;
begin
  Result:= TStringList.Create;
  Tot:= MonthsBetween(D1, D2);
  m:= MonthOf(D1) - 1;
  for i:= MonthOf(D1) to Tot + MonthOf(D1) do
  begin
    if m = 12 then
      m:= 1
    else 
      Inc(m);
    Result.Add(LongMonthNames[m])
  end;
end;

Ejemplo de llamada:
Código Delphi [-]
   Memo1.Clear;
   Memo1.ScrollBars:= ssVertical; //según las fechas de tu último post, vas a necesitar esta línea... 
   Memo1.Lines:= MesesANombres(StrToDate('01/01/2001'), StrToDate('01/04/2011'));

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 15-02-2011 a las 05:54:50.
Responder Con Cita
  #4  
Antiguo 15-02-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 19
microbiano Va por buen camino
hola como estas muchas gracias por la respuesta lo considerare, solo que ahora estoy en otra pc
Responder Con Cita
  #5  
Antiguo 16-02-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 19
microbiano Va por buen camino
bien provando la funcion si llamo a dicha funcion de la siguiente manera
Código Delphi [-]
 mmo1.Lines:= MesesANombres(StrToDate('01/02/2011'), StrToDate('01/04/2011'));

me muestra los meses de febrero y marzo, cuando realmente solo tendria que ser marzo .

hay alguna sugerencia con la que me pueda ayudar. muchas gracias.
Responder Con Cita
  #6  
Antiguo 16-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola microbiano.

Es cierto no tiene que incluir el mes inicial.

Se soluciona con un simple cambio:
Código Delphi [-]
function MesesANombres(D1, D2: TDate): TStrings;
var
  i, m, Tot: Integer;
begin
  Result:= TStringList.Create;
  Tot:= MonthsBetween(D1, D2);
  m:= MonthOf(D1); //-1 ------------------>
  for i:= MonthOf(D1) to Tot + MonthOf(D1) -1 do
  begin
    if m = 12 then
      m:= 1
    else
      Inc(m);
    Result.Add(LongMonthNames[m])
  end;
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 16-02-2011 a las 07:43:49.
Responder Con Cita
  #7  
Antiguo 18-02-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 19
microbiano Va por buen camino
sigo con el problema de rango de fechas

bien resulta que uso la siguiente funcion para determinar las fechas
Código Delphi [-]
function TFcobro.MesesANombres(D1, D2: TDate): TStrings;
var
  i, m, Tot: Integer;
begin
  Result:= TStringList.Create;
  Tot:= MonthsBetween(D1, D2);
  m:= MonthOf(D1);// - 1;
  for i:= MonthOf(D1) to Tot + MonthOf(D1)-1 do
  begin
    if m = 12 then
      m:= 1
    else
      Inc(m);
    Result.Add(LongMonthNames[m])
  end;
end;


y hago la llamada de la siguiente manera.

Código Delphi [-]
 mmo1.Clear;
 mmo1.ScrollBars:= ssVertical; //según las fechas de tu último post, vas a necesitar esta línea...
 mmo1.Lines:= MesesANombres(StrToDate('01/02/2011'), StrToDate('30/04/2011'));

en este caso me muestra 2 meses que son marzo y abril, cuando deberia ser marzo, sin embargo cuando hago la llamada de al siguiente manera me muestra solo marzo.

Código Delphi [-]
 mmo1.Clear;
 mmo1.ScrollBars:= ssVertical; //según las fechas de tu último post, vas a necesitar esta línea...
 mmo1.Lines:= MesesANombres(StrToDate('01/02/2011'), StrToDate('01/04/2011'));

hay alguna sugerencia para que determine los meses correctamente ya trate de truncar el resultado para que me tome el valor real pero no funciona.

Última edición por microbiano fecha: 18-02-2011 a las 18:42:35. Razón: modificaciones
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
Consulta Mysql Suma entre rango de fechas kaeltas MySQL 4 22-06-2012 22:30:44
Ayuda SQL Between con rango de fechas darkbits SQL 16 26-07-2010 22:20:37
Ayuda SQL Between con rango de fechas darkbits SQL 3 14-04-2010 23:31:30
Rango de fechas roberasturias Varios 2 23-05-2005 19:02:35
Rango de fechas JODELSA Varios 8 22-05-2003 21:45:43


La franja horaria es GMT +2. Ahora son las 17:25:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi