Fala galera fiz esse código pra validar data... mas o que está errado nele ??
ele para no primeiro no segundo if acho que não estou sabendo trabalhar com o val... alguém pode me dar uma ajuda !!!??
if Trim(camosentrada.Text) = '' then
begin
end
else
begin
if val ((AnsiLeftStr(camosentrada.text,2))) > 31 and (val ((AnsiMidStr(camosentrada.text,2,2))) > 12) then
begin
messagebox (Handle,'Data Inválida, digite no formato DD/MM/YYYY','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
camosentrada.Clear;
camosentrada.SetFocus;
end
else
begin
if val ((AnsiRightStr(camosentrada.text,4)))mod 4 <> 0 and (val ((AnsiMidStr(camosentrada.text,2,2)))=2) and (val ((AnsiLeftStr(camosentrada.text,2))) = 28)then
begin
messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
camosentrada.Clear;
camosentrada.SetFocus;
end
else
begin
if val ((AnsiMidStr(camosentrada.text,2,2)))mod 2 <> 0 and (val ((AnsiLeftStr(camosentrada.text,2))) = 30) then
begin
messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
camosentrada.Clear;
camosentrada.SetFocus;
end
else
begin
if val ((AnsiMidStr(camosentrada.text,2,2)))mod 2 =0 and (val ((AnsiLeftStr(camosentrada.text,2))) = 31) then
begin
messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
Pergunta
locorj
Fala galera fiz esse código pra validar data... mas o que está errado nele ??
ele para no primeiro no segundo if acho que não estou sabendo trabalhar com o val... alguém pode me dar uma ajuda !!!??
if Trim(camosentrada.Text) = '' then
begin
end
else
begin
if val ((AnsiLeftStr(camosentrada.text,2))) > 31 and (val ((AnsiMidStr(camosentrada.text,2,2))) > 12) then
begin
messagebox (Handle,'Data Inválida, digite no formato DD/MM/YYYY','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
camosentrada.Clear;
camosentrada.SetFocus;
end
else
begin
if val ((AnsiRightStr(camosentrada.text,4)))mod 4 <> 0 and (val ((AnsiMidStr(camosentrada.text,2,2)))=2) and (val ((AnsiLeftStr(camosentrada.text,2))) = 28)then
begin
messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
camosentrada.Clear;
camosentrada.SetFocus;
end
else
begin
if val ((AnsiMidStr(camosentrada.text,2,2)))mod 2 <> 0 and (val ((AnsiLeftStr(camosentrada.text,2))) = 30) then
begin
messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
camosentrada.Clear;
camosentrada.SetFocus;
end
else
begin
if val ((AnsiMidStr(camosentrada.text,2,2)))mod 2 =0 and (val ((AnsiLeftStr(camosentrada.text,2))) = 31) then
begin
messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);
camosentrada.Clear;
camosentrada.SetFocus;
end
else
begin
end;
end;
end;
end;
end;
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.