Formatando DbEdit

Delphi

07/05/2004

Estou Utilizando Delphi 6 e Firebird 1

Como posso fazer para que um DbEdit Utilize várias formatações diferentes.

Por Ex.:
Formatação para telefone de 9 digitos: 44-523-7070
Formatação para telefone de 10 digitos: 44-8523-7070
Formatação para telefone de 0800: 0800-445-070

Já tentei utilizar o EditMask do Campo, mas ao pedir que ele seja mudado, a base chega atá a ser desligado.

Alguém tem alguma sugestão, e se possível a mesma situação para utilizar num grid ligado à uma query.

Antecipadamente Agradeço


Salupe

Salupe

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

07/05/2004

Já tentei utilizar o EditMask do Campo, mas ao pedir que ele seja mudado, a base chega atá a ser desligado.

Não entendi a afirmação acima.

Eu uso este código, tenta ai...
if qry.FieldByname(´telefone´).ASString <> ´´ then
 begin
   case Lenght(qry.FieldByname(´telefone´).AsString) of
     9: qry.FieldByname(´telefone´).EditMask := ´99-999-9999;0;_´;
     10: qry.FieldByname(´telefone´).EditMask := ´99-9999-9999;0;_´;
     end
    else
     qry.FieldByname(´telefone´).EditMask := ´9999-999-999;0;_´ // p/ o tel 0800
 end;



GOSTEI 0
Nigro

Nigro

07/05/2004

Resumindo...
Faça a máscara no campo que os componentes irão assumir automaticamente.


GOSTEI 0
Eniorm

Eniorm

07/05/2004

Blz, eu uso de uma forma diferente, mas q apresenta
o mesmo resultado, ao invés de usar o EditMask eu
formato o valor a ser exibido.
Usando o Editor Fields, escolho o campo e no evento
OnGetText eu uso:
   Text := FormatFloat(´#0.00´,Sender.AsCurrency);


Vc pode implementar a verificação neste evento tbm![/code]


GOSTEI 0
Salupe

Salupe

07/05/2004

Essas Dicas funcionam para uma formatação padrão ou se vc estiver usando um edit, mas eu estou usando um DBEdit, e em um campo pode ser utilizado as tres formatações.

Portanto nao deu certo


GOSTEI 0
POSTAR