Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guariento

Delphi 7 - Manipular valor de um campo no Rave Reports

Recommended Posts

Prezados,

 

Criei um relatório no Rave Reports 5.0 do Delphi 7. Ao listar os contatos neste relatório eu tenho de apresentar as seguintes colunas: nome completo, número do rh, usuário.

 

O problema está no campo "usuário", este campo não existe na base de dados (FDB), existe apenas um campo que armazena o e-mail, sendo que o usuário é o mesmo que aparece antes do símbolo de arroba (@) no campo e-mail. Exemplo: o campo e-mail armazena "meuusuario@servidor.com" , então o usuário é só "meuusuario".

 

Como faço para exibir apenas o nome de usuário no relatório, de forma que o relatório esconda os dados depois do @ (arroba) do campo e-mail ?

 

Tentei criar um código um novo DataText, e no Event Editor, nos eventos OnBeforePrint e OnGetExt tentei adicionar algum código, mas não consegui nada que resolvesse meu problema. Que linguagem é usado no Event Editor do Rave Reports?

 

Minha sugestão - Alternativa 1: Como eu crio uma função no Rave Reports que apresente somente o usuário do e-mail ao invés do campo todo?

 

Minha sugestão - Alternativa 2: Alguém tem alguma sugestão melhor de como manipular dados do DataText Component no Rave Reports para solucionar meu problema?

 

Que solução há? Único detalhe: não posso mexer na estrutura da consulta, tampouco adicionar um novo IBDataSet.

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados,

 

Criei um relatório no Rave Reports 5.0 do Delphi 7. Ao listar os contatos neste relatório eu tenho de apresentar as seguintes colunas: nome completo, número do rh, usuário.

 

O problema está no campo "usuário", este campo não existe na base de dados (FDB), existe apenas um campo que armazena o e-mail, sendo que o usuário é o mesmo que aparece antes do símbolo de arroba (@) no campo e-mail. Exemplo: o campo e-mail armazena "meuusuario@servidor.com" , então o usuário é só "meuusuario".

 

Como faço para exibir apenas o nome de usuário no relatório, de forma que o relatório esconda os dados depois do @ (arroba) do campo e-mail ?

 

Tentei criar um código um novo DataText, e no Event Editor, nos eventos OnBeforePrint e OnGetExt tentei adicionar algum código, mas não consegui nada que resolvesse meu problema. Que linguagem é usado no Event Editor do Rave Reports?

 

Minha sugestão - Alternativa 1: Como eu crio uma função no Rave Reports que apresente somente o usuário do e-mail ao invés do campo todo?

 

Minha sugestão - Alternativa 2: Alguém tem alguma sugestão melhor de como manipular dados do DataText Component no Rave Reports para solucionar meu problema?

 

Que solução há? Único detalhe: não posso mexer na estrutura da consulta, tampouco adicionar um novo IBDataSet.

 

Agradeço desde já.

 

 

Se a parte depois do @ for por exemplo @teste.com.br estyiver presente em todos da para fazer, mas se for um @hotmail, @gmail.com e etc fica mais dificil , em java da para criar um método que oculte tudo depos do @ até o .com, mas já que é em delphi você pode usar uma consulta simples com localpartialkey e coloca esse finalzinho do email depois do @ ai coloca um view com o campo - o @dominio.com por exemplo , ele irá criar uma view só com o começo do nome ai você coloca ela no report :closedeyes:

é que aqui não tenho as ferramentas para fazer mas provavelmente de certo.

Quando eu enfrento casos assim sempre dou preferência para soluções em java,.net e vejo como consigo usar isso em delphi ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode programar um evento no relatório num beforeprint da vida (não lembro agora qual é no rave) e usar o comando Copy para copiar os dados até o primeiro arroba, algo do tipo...

 

value := Trim(Copy( value, -1, Pos( '@', value) -1);

 

Onde o value é uma string.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.