Ir para conteúdo
Fórum Script Brasil
  • 0

Código Para Validar Data


locorj

Pergunta

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

  • 0

Fala galera percebi que o erro está no and do if então resolvi fazer de forma diferente... mas ainda tá dando erro sad.gif parece que sobra ou falta end mas já analizei várias vezes e não consigo ver o erro... ai vai o código.

if Trim(camosentrada.Text) = '' then

begin

end

else

begin

if StrToInt (copy(camosentrada.text,1,2)) > 31 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 StrToInt (copy(camosentrada.text,3,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 StrToInt (copy(camosentrada.text,3,2))= 2 then

begin

if StrToInt (copy(camosentrada.text,5,4))mod 4 <> 0 then

begin

if StrToInt (copy(camosentrada.text,1,2)) = 28 then

begin

messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);

camosentrada.Clear;

camosentrada.SetFocus;

end;

end;

else

begin

if StrToInt (copy(camosentrada.text,3,2)) < 7 then

begin

if StrToInt (copy(camosentrada.text,3,2))mod 2 = 0 then

begin

if StrToInt(copy(camosentrada.text,2)) = 31 then

begin

messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);

camosentrada.Clear;

camosentrada.SetFocus;

end;

end;

else

begin

if StrToInt (copy(camosentrada.text,3,2)) > 7 then

begin

if StrToInt (copy(camosentrada.text,3,2))mod 2 <> 0 then

begin

if StrToInt (copy(camosentrada.text,2)) = 31 then

begin

messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);

camosentrada.Clear;

camosentrada.SetFocus;

end;

end;

end;

end;

end;

end;

end;

end;

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvido o problema ai vai o código com ela funcionando perfeitamente

if Trim(camosentrada.Text) = '' then

begin

end

else

begin

if StrToInt (copy(camosentrada.text,1,2)) > 31 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 StrToInt (copy(camosentrada.text,3,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 StrToInt (copy(camosentrada.text,3,2))= 2 then

begin

if StrToInt (copy(camosentrada.text,5,4))mod 4 <> 0 then

begin

if StrToInt (copy(camosentrada.text,1,2)) = 28 then

begin

messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);

camosentrada.Clear;

camosentrada.SetFocus;

end;

end

else

begin

if StrToInt (copy(camosentrada.text,3,2)) < 7 then

begin

if StrToInt (copy(camosentrada.text,3,2))mod 2 = 0 then

begin

if StrToInt(copy(camosentrada.text,2)) = 31 then

begin

messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);

camosentrada.Clear;

camosentrada.SetFocus;

end;

end

else

begin

if StrToInt (copy(camosentrada.text,3,2)) > 7 then

begin

if StrToInt (copy(camosentrada.text,3,2))mod 2 <> 0 then

begin

if StrToInt (copy(camosentrada.text,2)) = 31 then

begin

messagebox (Handle,'Data Inválida','Aviso do sistema',MB_OK+MB_ICONINFORMATION);

camosentrada.Clear;

camosentrada.SetFocus;

end;

end;

end;

end;

end;

end;

end;

end;

end;

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...