Ir para conteúdo
Fórum Script Brasil
  • 0

Econverterror


cassitos

Pergunta

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.gif

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?? sad.gif

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...