Fórum MUDAR MÁSCARA DO TFIELD DINANMICAMENTE - AJUDA #375329
27/09/2009
0
aMIGOS, TENHO UM CAMPO ONDE UTILIZO PARA cnpj E CPF, ESTOU TENTANDO COLOCAR A MASCARA DO TFIELD DINAMICAMENTE, PARA SER EXIBIDO OS DADOS CORRETAMENTE EM UM DBGRID. POREM N ESTOU CONSEGUINDO ACERTAR O EVENTO EM QUE EU POSSA FAZER ISSO.
PRECISAVA DE UMA DICA.
OBRIGADO
PRECISAVA DE UMA DICA.
OBRIGADO
Ant.neto
Curtir tópico
+ 1
Responder
Post mais votado
27/09/2009
Uma opção é usar o evento OnGetText do TField, ex:
T+
const cpfMask = ´000.000.000\-00;0;_´; cnpjMask = ´00.000.000\/0000\-00;0;_´; var fMask: string; begin if DisplayText then // não formatar na edição begin case Length(Sender.AsString) of 11: fMask := cpfMask; 14: fMask := cnpjMask; else fMask := ´´; end; Text := FormatMaskText(fMask, Sender.AsString); end; end;
T+
Afarias
Responder
Gostei + 1
Mais Posts
28/09/2009
Ant.neto
amigo, obrigado pela ajuda, mas n rodou.
Uma opção é usar o evento OnGetText do TField, ex:
T+
const cpfMask = ´000.000.000\-00;0;_´; cnpjMask = ´00.000.000\/0000\-00;0;_´; var fMask: string; begin if DisplayText then // não formatar na edição // erro aqui. begin case Length(Sender.AsString) of 11: fMask := cpfMask; 14: fMask := cnpjMask; else fMask := ´´; end; Text := FormatMaskText(fMask, Sender.AsString); // erro aqui. end; end;
Responder
Gostei + 0
28/09/2009
Afarias
|if DisplayText then // não formatar na edição // erro aqui.
Não tem o parâmetro DisplayText (Boolean) no evento OnGetText do TField? Neste caso, remova este IF
|Text := FormatMaskText(fMask, Sender.AsString); // erro aqui.
Vc precisa adicionar a unit MaskUtils (ou outra q contenha a função FormatMaskText) na clásula USES do seu código
T+
Não tem o parâmetro DisplayText (Boolean) no evento OnGetText do TField? Neste caso, remova este IF
|Text := FormatMaskText(fMask, Sender.AsString); // erro aqui.
Vc precisa adicionar a unit MaskUtils (ou outra q contenha a função FormatMaskText) na clásula USES do seu código
T+
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)