Dúvida função validar data
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!
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
Curtidas 0
Respostas
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
20/10/2017
Teste esta função mais simplificada:
Exemplo de uso:
Coloque um Edit para entrada da data que será testada.
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
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.
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
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/
Sobre traduzir as mensagens de erro, veja o link abaixo:
https://marcosalles.wordpress.com/2010/06/29/traduzir-mensagems-do-delphi/
GOSTEI 0