Mascarar clientdataset em tempo execução
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
Curtidas 0
Respostas
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
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
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+
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
07/06/2011
Vc resolveu de uma forma muito boa e limpa
GOSTEI 0