Mascara - Mudar em tempo de execução

18/11/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


Mmoreira

Respostas

18/11/2005

Martins

Fiz com radiobutton:

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



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
  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!!!


Responder Citar