Máscara para Telefone...

Delphi

26/06/2004

Olá pessoal, aí vai mais um probleminha... como faço para criar máscara de telefone no meu TEdit? para tipo, se o usuário digitar:

3237214466 -> (32) 3721-4466
0800140102 -> 0800-14-0102
08001450102 -> 0800-145-0102
553237214466 -> +55 (32) 3721-4466


Como prever isto? o 0800 tem que ter 4 numeros no primeiro e 4 no ultimo, o restante vem no meio do numero.. ja os numeros normais, seria mais ou menos assim: PAIS (DDD) TEL, sendo TEL com 4 numeos (os 4 numeros finais), os proximos 2 numeros após o tel (vindo da direita pra esquerda) seria o DDD, o restante seria o codigo do pais...

como faco isso? tentei de tudo quanto é jeito que eu sei, e nao consegui...

Desde já agradeço a todos...
[]s
Fellipe


Titanius

Titanius

Curtidas 0

Respostas

Mariocanel

Mariocanel

26/06/2004

Tenta trocar teu edit por um maskedit e lá vc consegue, na prpriedade editmask, personalizar teu telefone
espero que tenha ajudado


GOSTEI 0
Titanius

Titanius

26/06/2004

Caro mariocanel.... o MaskEdit não daria certo pois, os numeros seriam variaveis, ou seja, uma vez poderia escrever assim 3255556666 -> (32) 5555-6666 e de outra vez poderia ser assim: 553255556666 -> +55 (32) 5555-6666 ou assim 0800312001 -> 0800-31-2001 e ainda 08003542648 -> 0800-354-2648

entendeu? os numeros digitadps podem ser qualquer um... po isso teria que ter uma função...

Abraços,


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

26/06/2004

Colega,

Para se implementar alguma função, a lógica é necessária. No caso de máscaras, é necessário um padrão. Neste caso, não consegui visualizar nenhum.


GOSTEI 0
Paulo_amorim

Paulo_amorim

26/06/2004

Olá

A unica coisa que vi possível no caso eh testar com if os casos:

- começa com 0800
- tem 8 numeros
- tem mais de 8 numeros
- começa com 55 (suppondo que não exisitrao numeros de fora do brasil)

se for o primeiro caso, testa a quantidade de numeros...
se for o segundo caso, faz a mascara de +55 ...
senão, faz um numero normal...

Espero que funcione
Até+


GOSTEI 0
POSTAR