...
uses DateUtils;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 1 to 12 do
begin
cboxMesDesde.Items.Add(LongMonthNames[i]);
cboxMesHasta.Items.Add(LongMonthNames[i]);
end;
for i := 2005 to 2013 do
begin
cboxAnioDesde.Items.Add(IntToStr(i));
cboxAnioHasta.Items.Add(IntToStr(i));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
dd,md,yd : Word;
dh,mh,yh : Word;
FDesde, FHasta: TDate;
begin
dd := 1;
md := cboxMesDesde.ItemIndex + 1;
yd := StrToInt(cboxAnioDesde.Items[cboxAnioDesde.ItemIndex]);
yh := StrToInt(cboxAnioHasta.Items[cboxAnioDesde.ItemIndex]);
mh := cboxMesHasta.ItemIndex + 1;
dh := DaysInAMonth(yh, mh);
FDesde := EncodeDate(yd, md, dd);
FHasta := EncodeDate(yh, mh, dh);
ShowMessage(Format('Desde: %s - Hasta: %s',
[DateToStr(FDesde),DateToStr(FHasta)]));
end;