MUDAR MÁSCARA DO TFIELD DINANMICAMENTE - AJUDA
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
Curtidas 1
Melhor post
Afarias
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+
GOSTEI 1
Mais Respostas
Ant.neto
27/09/2009
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;
GOSTEI 0
Afarias
27/09/2009
|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+
GOSTEI 1