GARANTIR DESCONTO

Fórum Dúvida função validar data #586999

20/10/2017

0

Boa tarde pessoal,

Estou fazendo uma function para validar a data no delphi, mas está dando um erro que não estou conseguindo resolver, segue a function:

function IsValidDate (dateAsddmmyyyy: string) : Boolean;
var
year, month, day, dateAsmmddyyyy : String;
stringListDate : TStringList;
match: Boolean;
begin

match:= tRegEx.IsMatch ( dateAsddmmyyyy, '[0-9] {1,2} / [0-9] {1,2} / [0-9] ');

if not match then
begin
Result := False;
exit;
end;
stringListDate := TStringList.Create;
stringListDate := Delimiter := '/';
stringListDate.DalimitedText := dateAsddmmyyyy;
day := stringListDate [ 0 ];
month := stringListDate [ 1 ];
year := stringListDate [ 2 ];

dateAsmmddyyyy := day + '/' + month + '/' + year;
Result := True;
try
StrToDate( dateAsmmddyyyy );
except
Result := False;
end;

O erro que está dando:

Undeclared identifier 'TRegEx' at line 75
Undeclared identifier 'TMatch' at line 75

Será que eu tenho que declarar alguma propriedade lá em cima na uses ?? Help Guys!
Leandro Vaneti

Leandro Vaneti

Responder

Posts

20/10/2017

Leandro Vaneti

Galera já resolvi, mas não deu certo não está validando a data.... Então a minha pergunta é: alguem sabe como traduzir o erro do delphi por exemplo ele mostra "111/111/1111" is not a valid date", como que eu traduzo essa mensagem? ai eu nem precisava validar eu só traduziria a mensagem mesmo...
Responder

Gostei + 0

20/10/2017

Natanael Ferreira

Teste esta função mais simplificada:
function IsValidDateCheck(const AValue: String): Boolean;
var
  dtTemp: TDateTime;
begin
  Result := TryStrToDate(AValue, dtTemp);
end;

Exemplo de uso:
Coloque um Edit para entrada da data que será testada.
if IsValidDateCheck(Edit1.Text) then
    ShowMessage(Edit1.Text + ' é uma data válida.')
  else
    ShowMessage(Edit1.Text + ' não é uma data válida.');
Responder

Gostei + 0

20/10/2017

Leandro Vaneti

Não funcionou ele aparece a mensagem '11/11/1111' is not a valid date não tem como traduzir essa mensagem não?

Ai eu não precisava me preocupar em validar nada seria já como se estivesse validado kkkk mas obrigado pela ajuda.
Responder

Gostei + 0

23/10/2017

Natanael Ferreira

Testei a data 11/11/1111 e informa que é uma data válida. Se puder, poste qual o seu ambiente (está usando em campos de bd?) e como você testou a função.
Sobre traduzir as mensagens de erro, veja o link abaixo:
https://marcosalles.wordpress.com/2010/06/29/traduzir-mensagems-do-delphi/
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar