Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E ae!!
Criei uma função para montar data de acordo com parâmetros Dias, Mes e Ano:
>
function PreparaData(Dia,Mes,Ano: Integer):TDateTime;
var
textoData: String;
begin
if ((Mes = 2) Or (Mes = 4) Or (Mes = 6) Or (Mes = 9) Or (Mes = 11)) Then
begin
If (Dia = 31) Then Dia := 30;
end;
if (Mes = 2) Then
begin
if (Dia >= 30) then Dia := 29;
end;
textoData:=IntToStr(Dia) + '/' + IntToStr(Mes) + '/' + IntToStr(Ano);
//verificar se é data válida
try
begin
StrToDate(textoData);
end;
except on EConvertError do
begin
Dia:=Dia-1;
textoData:=IntToStr(Dia) + '/' + IntToStr(Mes) + '/' + IntToStr(Ano);
end;
end;
PreparaData:=StrToDate(textoData);
end;
Mas se tentar montar uma data inválida, dá uma mensagem de erro e só depois passa pelo except. :mellow: Sou novato em delphi... como faço p/ que não apareça tal mensagem?
>
Project Project1.exe raised exception class EConvertError with
message "29/2/2005" is not a valid date1.
Process stopped. Use Step or Run to continue.
A data foi informada errada de propósito, aí dá este erro, vou fazendo passo-a-passo e passa pelo exception.Preciso fazer com que esta mensagem não apareça.
Tem como?? :(
Carregando comentários...