// ===================================================================
function MenorDataValida (Ano, Mes, Dia : Word) : TDateTime;
var
Continua : Boolean;
DataAux : TDateTime;
begin
Continua := True;
DataAux := Date;
while Continua do
try
DataAux := EncodeDate (Ano, Mes, Dia);
Continua := False;
except
Dec(Dia);
end;
MenorDataValida := DataAux;
end;
// Retorna uma data no Mês seguinte a uma data informada
// ===================================================================
function NextMonth (Data : TDateTime) : TDateTime;
var
Ano, Mes, Dia : word;
begin
DecodeDate(Data, Ano, Mes, Dia);
if Mes = 12 then
begin
Mes := 1;
Inc (Ano);
end else
Inc (Mes);
NextMonth := MenorDataValida (Ano, Mes, Dia);
end;
Nenhum comentário:
Postar um comentário