Fórum Condição de data em delphi #571608
25/11/2016
0
tenho uma tela de cadastro no delphi e um campo de data de nascimento, um DBEdit, que é do tipo date, quero que nao de para cadastrar pessoas menores de 18 anos, entao estava tentando com o codigo:
Begin
if strtodate(DBEdit3.text) >= 01/01/1998 then
begin
application.MessageBox('Por favor, Digite uma data válida','Atenção', MB_OK+MB_ICONEXCLAMATION);
abort;
end
else
end;
ele roda no entando nao da muito certo, pois nao consigo cadastrar com ano 1900 ou superior (meio doido o negocio kkkk).
entao galera gostaria de saber se tem uma forma de fazer essa condição, se ja houver um tópico assim, me desculpem eu realmente nao achei, obrigado a todos e uma boa tarde.
Silvio Souza
Curtir tópico
+ 0Post mais votado
25/11/2016
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
DataInicial : TDateTime;
begin
DataInicial := IncMonth(now,(18*-12));
if StrToDate(Edt_DataNascimento.Text) > dataInicial then
begin
showMessage('Você não tem 18 anos ');
Abort;
end;
end;
Tone Costa.
Gostei + 1
Mais Posts
25/11/2016
Bruno
var
Data_Atual: string;
Data_vencimento: string;
begin
Data_Atual := FormatDateTime('yyyy/mm/dd', Date);
Data_Vencimento := '2014/02/20';
if (Data_Vencimento < Data_Atual) then
ShowMessage('A Data de Vencimento é menor que a data atual');
end;
provavelmente vi funcionar.. eu nao testei aq.
mas qlqr coisa agnt tenta outra forma se nao der certo
Gostei + 0
25/11/2016
Silvio Souza
tipo em vez de "Data_vencimento" eu coloco, por exemplo data_informada = dbedit3 ? algo assim?
Gostei + 0
25/11/2016
Silvio Souza
Tipo quero aprender mesmo sabe? se voce puder mesmo, se nao de boa eu tento entender aqui, mas muito obrigado deu certinho.
Gostei + 0
25/11/2016
Tone Costa.
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
DataInicial : TDateTime; { Definir uma variavel para ser a data minima para a pessoa ter 18 anos.}
begin
DataInicial := IncMonth(now,(18*-12))
; { aqui eu uso a funcao incMonth para somar meses em uma data. Como no caso eu quero que seja retroativo, eu faço a conta negativa que vai subtrair da data de hoje 216 meses que corresponde a 18 anos x 12 meses, encontrando assim a data minima de uma pessoa com 18 anos}
if StrToDate(Edt_DataNascimento.Text) > dataInicial then { Aqui verifico se a data de nascimento for maior que a data minima para maiores de 18 anos}
begin
showMessage(''Você não tem 18 anos '');
Abort;
end;
Gostei + 1
25/11/2016
Silvio Souza
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)