Fórum Relatório Rave de um campo Memo #405858
01/08/2011
0
Olá pessoa, tudo bem? Espero que sim.
Gostaria de tirar uma dúvida com vocês, se fosse possível.
Estou começando a trabalhar com relatórios agora e quero usar o Rave, pois já vem com o Delphi. Este é o primeiro relatório que estou fazendo, e procurei pela internet e achei várias ajudas de como criar os relatórios de dados do banco de dados, mas o que eu quero é criar um relatório de um campo memo, não ligado a nenhum banco de dados.
A idéia é a seguinte. O memo gera uma lista de números e esses números eu gostaria de transportar pra um relatório, mas em campos separados cada um. Tipo mostrar assim:
=== Numeros listados do Memo ===
001, 002, 005, 010, 056...
=== Fim Relatório ==
Ou até criar uma tabela listando os números um ao lado do outro, ao invés de um abaixo do outro como o memo lista. Tem como fazer isso?
Desde já agradeço a ajuda de todos. Abraços.
Allan Elias Ramos :)
Allan Ramos
Curtir tópico
+ 0
Responder
Posts
02/08/2011
João_sena
Olá, Allan.
No caso de você criar o relatório no Rave usando o Memo, eu sugiro a utilização do ClientDataset. Ele cria uma tabela virtual, sem a necessidade de ligação externa.
Seria mais ou menos assim:
No fields editor do ClientDataSet crie um campo 'M', por exemplo. Depois faça:
ClientDataSet1.CreateDataSet;ClientDataSet1.Open;ClientDataSet1.Append;ClientDataSet1.FieldValues['M]: = Memo1.Lines.Text;ClientDataSet1.Post;
Proj_rave_Memo.Execute;
ClientDataSet1.Close;ClientDataSet1.Clear;
Faça o link no Rave com o ClientDataSet.
Sobre a questão de colocar as strings do Memo pareadas, dê uma olhada nos comentários desse artigo: http://delphiforall.blogspot.com/2007/11/extractstrings-voc-conhece.html
Boa sorte.
No caso de você criar o relatório no Rave usando o Memo, eu sugiro a utilização do ClientDataset. Ele cria uma tabela virtual, sem a necessidade de ligação externa.
Seria mais ou menos assim:
No fields editor do ClientDataSet crie um campo 'M', por exemplo. Depois faça:
ClientDataSet1.CreateDataSet;ClientDataSet1.Open;ClientDataSet1.Append;ClientDataSet1.FieldValues['M]: = Memo1.Lines.Text;ClientDataSet1.Post;
Proj_rave_Memo.Execute;
ClientDataSet1.Close;ClientDataSet1.Clear;
Faça o link no Rave com o ClientDataSet.
Sobre a questão de colocar as strings do Memo pareadas, dê uma olhada nos comentários desse artigo: http://delphiforall.blogspot.com/2007/11/extractstrings-voc-conhece.html
Boa sorte.
Responder
Gostei + 0
03/08/2011
Allan Ramos
Fala Senajen, tudo tranquilo?
Cara, valeu pela ajuda, mas eu tava vindo mesmo aqui postar uma solução que achei pra esse problema, pra quem precisar.
Criei um relatorio no rave e usei o componente DataMemo. Mesmo esses números não estando no banco de dados, usei esse componente porque passei parametros. No Relatorio eu criei o parâmetro "NumerosFaltantes", e na propriedade DataFiled do mesmo, eu setei em "Project Parameters" esse parametro "NumerosFaltantes" e cliquei em Insert Parameter. E aí no delphi, no botao imprimir eu botei o seguinte código:
RvImprimirRelatorio.Close;
RvImprimirRelatorio.SetParam('NumerosFaltantes', MmParaImpressao.Text);
RvImprimirRelatorio.Execute;
RvImprimirRelatorio.Open;
RvImprimirRelatorio.SelectReport('RelNumerosFaltantesEdicaoNacional', True);
E sobre os números um ao lado do outro, usei também uma solução simples. Criei um outro Memo, e ao inves de usar a opção Memo.Add.Lines, usei a opção Memo.Text := Memo.Text + Numeros. Ou seja, ao mesmo tempo que ele cria o memo pra comparação, ele cria esse pra exebição, com os números um ao lado do outro. E foi só passar esse Memo por parâmetro que ele já recebe os dados assim no Rave. Se alguém precisa, está aí. Abraços, obrigado pela ajuda Senajen. ;) Allan Elias Ramos
RvImprimirRelatorio.SetParam('NumerosFaltantes', MmParaImpressao.Text);
RvImprimirRelatorio.Execute;
RvImprimirRelatorio.Open;
RvImprimirRelatorio.SelectReport('RelNumerosFaltantesEdicaoNacional', True);
E sobre os números um ao lado do outro, usei também uma solução simples. Criei um outro Memo, e ao inves de usar a opção Memo.Add.Lines, usei a opção Memo.Text := Memo.Text + Numeros. Ou seja, ao mesmo tempo que ele cria o memo pra comparação, ele cria esse pra exebição, com os números um ao lado do outro. E foi só passar esse Memo por parâmetro que ele já recebe os dados assim no Rave. Se alguém precisa, está aí. Abraços, obrigado pela ajuda Senajen. ;) Allan Elias Ramos
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)