Ver Mensaje Individual
  #14  
Antiguo 22-06-2012
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
Mil gracias Marcos!!!

Igual, ahora que vi con más calma la (mal redactada) pregunta, creo que la solución iba un poco más allá:

Código Delphi [-]
uses DateUtils;

{$R *.dfm}

function MesesTranscurridos(F1, F2: TDate): Integer;
begin
  F1 := StartOfTheMonth(F1);
  F2 := EndOfTheMonth(F2) + 1;
  Result := MonthsBetween(F1, F2);
end;

procedure TForm2.Button1Click(Sender: TObject);
var
  Year: Word;
  F1, F2: TDate;
begin
  Memo1.Lines.Clear;
  for Year := YearOf(DateTimePicker1.Date) to YearOf(DateTimePicker2.Date) do
  begin
    if Year = YearOf(DateTimePicker1.Date) then
      F1 := DateTimePicker1.Date
    else
      F1 := EncodeDate(Year, 1, 1);
    if Year = YearOf(DateTimePicker2.Date) then
      F2 := DateTimePicker2.Date
    else
      F2 := EncodeDate(Year, 12, 31);
    Memo1.Lines.Add(Format('%s - %s: %d meses', [
        FormatDateTime('mmmm ''de'' yyyy', F1)
      , FormatDateTime('mmmm ''de'' yyyy', F2)
      , MesesTranscurridos(F1, F2)
      ]));
  end;
end;

El resultado es este:



Un saludo.

pd. Me pregunto donde está Tonatiuh? <---- favor no responder es una pregunta interna.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita