Dúvida função validar data

Delphi

20/10/2017

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

Curtidas 0

Respostas

Leandro Vaneti

Leandro Vaneti

20/10/2017

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...
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

20/10/2017

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.');
GOSTEI 0
Leandro Vaneti

Leandro Vaneti

20/10/2017

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.
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

20/10/2017

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/
GOSTEI 0
POSTAR