Mascarar clientdataset em tempo execução

Delphi

07/06/2011

Bom dia pessoal,   Estou montando um relatório em rave (via código - query, clientdataset, tabs, etc...) Existe duas colunas no relatório que necessito mascará-la (CPF e TELEFONE) estou passando da seguinte forma:       Mas no relatório sai assim:     Esta sendo demonstrado exatamente como gravado no banco de dados, não acatando o comando acima, existe alguma maneira de fazer com que estes valores sejam demonstrados com a mascara que necessito? CPF 111.111.111-11     TELEFONE (27) 9910-1231   Obrigado.
Dener Buzato

Dener Buzato

Curtidas 0

Respostas

Marco Salles

Marco Salles

07/06/2011

tente programar o evento ongetetxt do field dando a devida formatação
ou na hora da impressão atribua a formataçao para a string clientdataset1.fieldbyname('Telefone').asstring

Por exemplo

funcao FormataTelefone(const telefone):string;
begin
result:='('+copy(telefone,1,2)+')'+copy(telefone,3,4)+'-'+copy(telefone,7,4);
end;

printTab(FormataTelefone(clientdataset1.fieldbyname('Telefone').asstring));


faça algo parecido com o CPF , e apenas umas possivel solução
GOSTEI 0
Dener Buzato

Dener Buzato

07/06/2011

Olá Marcos,  obrigado pela ajuda, mas consegui resolver de outra forma, inclusive bem mais simples.   Fiz o seguinte:   Alterei o Código:
          PrintTab(ClientDataSet.FieldByName('MOT_CPF').AsString);
          PrintTab(ClientDataSet.FieldByName('MOT_TELEFONE').AsString);
Para Código:
          PrintTab(ClientDataSet.FieldByName('MOT_CPF').DisplayText);
          PrintTab(ClientDataSet.FieldByName('MOT_TELEFONE').DisplayText);   Daí funcionou corretamente;       Fica ai a dica para quando alguém passar por este problema....   Flw t+
GOSTEI 0
Marco Salles

Marco Salles

07/06/2011

 Vc resolveu de uma forma muito boa e limpa
GOSTEI 0
POSTAR