Partiendo de la base de que conoces una fecha (la llamare fecha) entonces quedaría así:
Código Delphi
[-]var
mes, dia, ano :Word;
begin
decodedate(fecha, ano, mes, dia);
fecha := encodeDate(ano, mes, 1);
end;
y de esa manera tendrías el primer día de ese mes, y para el otro caso, la cosa seria mas o menos así:
Código Delphi
[-]
var
mes, dia, ano :Word;
begin
decodedate(fecha, ano, mes, dia);
fecha := encodeDate(ano, mes, DaysInAMonth(ano, mes));
end;
Espero te sirva.
