Array
(
)

Mascara - Mudar em tempo de execução

Mmoreira
   - 18 nov 2005

Salve pessoal,

Estou tendo uma duvida em uma tela de cadastro de cliente. O seguinte no meu cadastro eu tenho um DbComboBox onde coloquei FISICA e JURIDICA entao no evento onChange deste componente eu coloquei um codigo que troca o caption de alguns labels, tipo: Razao social -> Nome Fantasia -> Apelido CNPJ -> CPF Meu problema esta bem aqui quando eu mudo de CNPJ -> CPF ou vice versa eu tambem quero trocar a mascara existente no dbEdit correspondente.
Eu ja tentei fazer isso em tempo de execucao alterando a propriedade EditMask setando a mascara que eu quero do ClientDataSet mas nao funciona. Eu fiz uma busca aqui no forum e vi que existe para download um dbMaskEdit mas a principio nao queria usar este tipo de componente, so se for o ultimo caso.

Se alguem ja passou por isso e puder me dar uma ajuda ...

valews


Martins
   - 18 nov 2005

Fiz com radiobutton:

#Código


procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Label1.Caption := ´Pessoa Física:´;
Cds1.FieldByName(´cpf_cnpj´).EditMask := ´000\.000\.000\-00;1;_´;
DbEdit1.SetFocus;
end;



#Código

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Label1.Caption := ´Pessoa Juridica:´;
Cds1.FieldByName(´cpf_cnpj´).EditMask := ´00\.000\.000\/0000\-00;1;_´;
DbEdit1.SetFocus;
end;


Com o DbComboBox
#Código

if DBComboBox1.Text = ´FISICA´ then
begin
Label1.Caption := ´Pessoa Física:´;
Cds1.FieldByName(´cpf_cnpj´).EditMask := ´000\.000\.000\-00;1;_´;
DbEdit1.SetFocus;
end
else
begin
Label1.Caption := ´Pessoa Juridica:´;
Cds1.FieldByName(´cpf_cnpj´).EditMask := ´00\.000\.000\/0000\-00;1;_´;
DbEdit1.SetFocus;
end;


Espero q ajude!!!

Boa sorte!!!