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


Ant.neto

Ant.neto

Responder

Post mais votado

27/09/2009

Uma opção é usar o evento OnGetText do TField, ex:


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

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:
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;
T+



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+


Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar