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

(Resolvido) Data / - Delphi


Jhonatas araujo

Pergunta

Galera eu queria que quando eu teclar 2 Numeros Válidos {Como Campo de Data}

Altomaticamente Prencher com '/' ou seja a Cada 2 Caracteres fazer tal Ação no Edit {Edit como exemplo}//

if Edit1.Text <>2 then   //è aqui que Da Erro //
Edit1.Text := Edit1.Text + '/';

]

]

Como fazer Isso?//

Vllw

Abraço...

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Galera eu queria que quando eu teclar 2 Numeros Válidos {Como Campo de Data}

Altomaticamente Prencher com '/' ou seja a Cada 2 Caracteres fazer tal Ação no Edit {Edit como exemplo}//

if Edit1.Text <>2 then   //è aqui que Da Erro //
Edit1.Text := Edit1.Text + '/';

Jhonatas araujo, com certeza este teste dará erro já que você está comparando um string (Edit1.Text) com um número (2).

O correto seria utilizar a função Length: if Length(Edit1.Text) <>2 then

Isto resolveria o problema do erro, mas não o de lógica.

Em teoria, a barra seria concatenada ao seu texto na posição 3 e 6: 99/99/9999

Fazer o auto-preenchimento irá requerer um pouco mais de cuidado:

- o usuário pode digitar 1 número e a seguir a barra, logo, não dá apenas para testar o tamanho do texto porque estará com 2 e a concatenação de uma barra gerará algo como: 4// (uma barra extra).

- a atribuição como posta (Edit1.Text := ...) não pode ser feita no evento OnChange do componente Edit1 sem alguns cuidados, já que esta atribuição (mudança ou change) irá gerar uma nova chamada ao evento (recursividade). Será necessário remover o tratador de evento antes da atribuição e restaurá-lo após - veja este post

Você poderia utilizar os componentes para data como TDateTimePicker (paleta Win32) ou TDateEdit (paleta RX Control, se instalada). Sem falar no mais simples: TMaskEdit (paleta Aditional)

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Ae Micheus Não existe uma Função:

"Se eu Digitar "tantos" Dígitos{Caracteres} Fazerá "Tal" Função?/?

seria mais ou menos o que o TMaskEdit faz quando você informa uma máscara como: 99/99/0099;1;_;

Onde o "9" representa que um número deve ser informado nesta posição, mas não é obrigatório. Porém, o "0" significa que um número deve ser informado e que é obrigatório, nesta posição.

Acima Foi um Exemplo/ oque eu queria mesmo era Saber como Fazer essa Função!!!
Vai ter que queimar umas pestanas, então. :D

E não esqueça do que eu disse sobre o evento OnChange.

Abraços

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...