cassitos 2 Denunciar post Postado Junho 9, 2005 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?? :( Compartilhar este post Link para o post Compartilhar em outros sites
cassitos 2 Denunciar post Postado Junho 9, 2005 http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif ehehe pesquisei o help do Delphi e tem uma função IsValidDate que foi mto útil... http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif Compartilhar este post Link para o post Compartilhar em outros sites