ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Campo Fone com 9 ou 8 dígitos.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
marcosbaixista
Profissional
Profissional


Registrado: Quinta-Feira, 18 de Março de 2010
Mensagens: 594
Localização: Maringá/PR

MensagemEnviada: Dom Out 13, 2013 5:22 pm    Assunto: Campo Fone com 9 ou 8 dígitos. Responder com Citação

Olá pessoal.

Estou tentando implementar no sistema de cadastro mascara no campo telefone para se adaptar com os novos números de são paulo.

Utilizei edit mask do campo a seguinte máscara: '(99)99999-9999;0_;', não gostaria de salvar a máscara no banco.

No campo telefone, gostaria de colocar um espaço em branco caso o usuário digite um número com 8 dígitos, no caso ficaria assim: (21) 8564-4578 e se usar com 9 dígitos (21)98564-4578.

Alguém pode me dar uma idéia de como fazer isso?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
luciocampetti
Aprendiz
Aprendiz


Registrado: Domingo, 25 de Agosto de 2013
Mensagens: 128
Localização: Passo Fundo - RS

MensagemEnviada: Dom Out 13, 2013 9:07 pm    Assunto: Re: Campo Fone com 9 ou 8 dígitos. Responder com Citação

Boa noite amigo, eu fiz assim, não sei se é a maneira mais correta, mas esta funcionando.

Via código, no evento create do form coloquei assim a mascara, dai quando o usuário clica no campo aparece a mascara

Código:

DBdtTelRes.Field.EditMask:= '(99)99999-9999;1;_'; //Mascara Telefone
DBdtTelCel.Field.EditMask:= '(99)99999-9999;1;_'; //Mascara Telefone
DBdtTelCom.Field.EditMask:= '(99)99999-9999;1;_'; //Mascara Telefone



No evento onkeypress de cada dbedit coloquei assim:
Para aceitar somente números e os caracteres
ficou assim,
Código:


procedure TFrmCadastro.DBdtTelResKeyPress(Sender: TObject; var Key: Char);
begin
  If not(key in['0'..'9',#8,'-','(',')']) then
    key:=#0;
  //Campo Telefone Residencial Somente Números, - e Parenteses.
end;

procedure TFrmCadastro.DBdtTelCelKeyPress(Sender: TObject; var Key: Char);
begin
  If not(key in['0'..'9',#8,'-','(',')']) then
    key:=#0;
  //Campo Telefone Celular Somente Números, - e Parenteses.
end;

procedure TFrmCadastro.DBdtTelComKeyPress(Sender: TObject; var Key: Char);
begin
  If not(key in['0'..'9',#8,'-','(',')']) then
    key:=#0;
  //Campo Telefone Comercial Somente Números, - e Parenteses.
end;



Espero ter ajudado. Boa sorte.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Endereço de AIM Yahoo Messenger MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB