RLMemo Fortes Report.

Delphi

13/08/2005

Bom Dia, Não estou conseguindo usar o componente RLMemo do Fortes Report.

Tenho um campo na minha base do Tipo blob.
Mas no relatório não está quebrando a linha...

Tentei fazer desse modo
mmObservacao.Lines.Text:= FieldByname(´OBSERVACAO´).AsString;

Mesmo assim não quebra a linha (Vai tudo para o lado).

Fico no Aguardo
Obrigado


Lynx

Lynx

Curtidas 0

Respostas

Lynx

Lynx

13/08/2005

sobe


GOSTEI 0
Lynx

Lynx

13/08/2005

Tentei com Assign, tentei mudar várias propriedades, mas não vai!
vai tudo para o lado direito e não pula de linha...

:cry:


GOSTEI 0
Sremulador

Sremulador

13/08/2005

bem amigo na versão 3.10e tinha uns bugs que inclusive foi eu quem informou ao grupo fortes quando o arquivo e carregado pelo rlmemo ele não consegue identificar a quebra de linha, para contornar esta situação você pode mudar para a versão 3.23 (mas que contem bugs ao imprimir para matricial) que vai corrigi caso contrário ao quebrar a linha de um espaço que resolve...


GOSTEI 0
Lynx

Lynx

13/08/2005

mudei na própria base, só para fazer um teste...
Dei um espaço e não é que quebrou a linha .. :lol:

Não sei se estou enganado, mas acho que baixei a última versão...
Vou entrar no site e baixar novamente..

Muito Obrigado


GOSTEI 0
Lynx

Lynx

13/08/2005

realmente é a ultima versao.

Eu adicionei uma impressora epson, na verdade nem impressora eu tenho aqui, só adicionei para fazer o relatório...

Agora, como posso contornar essa situação, de uma forma limpa...
Vou analizar aqui, todos os lugares que tem memo, e alterar no cadastro..


GOSTEI 0
Lynx

Lynx

13/08/2005

é, complicou...
Realmente é um bug do fortes, não sei o que fazer...

Só vai funcionar com ´gambiarra´.


GOSTEI 0
Lynx

Lynx

13/08/2005

Será que alguém poderia me dar uma opinião ?
Estou doido agora com esse erro no memo, do fortes report...

Não entendo um erro desses, como vou inserir espaço no memo do cadastro ?

Se o cara sair digitando sem bater enter, no relatorio vai estourar os caracteres para direita (Não vai quebrar).

Estou um bom tempo, nesse problema... Quase pensando em trocar para outra ferramenta :cry:

Já tentei de tudo, mas nada funciona...


GOSTEI 0
Cesarpir

Cesarpir

13/08/2005

Amigo eu não sei direito o layout do seu relatório, mas eu utilizo fortes só que uso o rldbmemo, geralmente os relatórios que tive de fazer colocava uma band só para o rldbmemo e a propriedade autosize = true, e tb ele ocupa em termos de comprimento o mesmo da band, ou seja o mesmo width da band, ok !
Agora se ainda sim precisa usar o rlmemo teste assim:

rlMemo.Lines.Add(´aqui o texto´);

Cada add gera uma nova linha, mas lembre-se do autosize = true

Espero que te ajude

César


GOSTEI 0
Lynx

Lynx

13/08/2005

mas eu preciso passar o campo blob, da minha base...
Ou seja ele vai variar, 1 , 2 ou 5 linhas...

postei outro tópico mostrando passo a passo o que estou fazendo...
Obrigado


GOSTEI 0
Sistemald

Sistemald

13/08/2005

só uma coisa, em que momento você carrega o texto no RLmemo.

Beforeprint, ou antes de chamar o preview?


GOSTEI 0
Cesarpir

Cesarpir

13/08/2005

Eu carrego no before print...

César


GOSTEI 0
Sistemald

Sistemald

13/08/2005

Bem, pode ser isso, tente carrega-lo antes de chamar o preview, caso você não utilize o preview, ou seja faça impressão direta, carregue o arquivo antes da chamar o PRINT.


GOSTEI 0
Lynx

Lynx

13/08/2005

já faço isso, todos os campos funcionam, ele carrega... Só estoura as linhas para direita..
Criei um tópico mostrando passo a passo abaixo...

Já estou doido com isso...


GOSTEI 0
Cesarpir

Cesarpir

13/08/2005

I bloquearam vc no outro tópico...

Bom seguindo o assunto :

lynx acabei de fazer um teste bem babaca aqui só para ver, bom vou explicar como fiz, se tiver falando besteira peço desculpa antecipadamente!

1) Criei um form com um memo para digitação e um botão para imprimir;
2) Criei um segundo form nele coloquei o o rlreport, uma band detail e um rlmemo;
3) Coloquei um datasource name = ´DS´ e um clientdataset name = ´CQ´, criei dois fields:
COD - ITENGER
DES - STRING - 40 E OK
Cliquei com o botão direito no clientedataset e createdatset;
Tabela na memória ok.
´Gambiarra para imprimir, pois não estava utilizando banco nenhum´

4) Voltei ao form e fiz assim o codigo do botão imprimir:

try
form2 := TForm2.Create(Self);
form2.CQ.Close;
form2.CQ.CreateDataset;
form2.CQ.Open;
form2.CQCod.asInteger := 1;
form2.CQDes.asString : =´TESTE´;
form2.CQ.Post;
form2.rlMemo1.lines.Add(memo1.Lines.text);
form2.rlreport1.previewModal;
finally
form2.free;
end;
================
Bom eu não envio direto para a impressora, será que é este o problema, espero que entenda o que eu disse acima, digitei textos enormes no memo sem pressionar enter em momento algum.
Não comentei acima mas fiz as ligações básicas como datasource do rlreport ligado ao DS, e assim vai, isso acredito que vc já sabe né!
Espero que ajude.

César


GOSTEI 0
Lynx

Lynx

13/08/2005

Ola Obrigado por sua resposta, eu estou fazendo direto com uma só query...
procedure TfrpPedido.rlPedidoBeforePrint(Sender: TObject;
  var PrintIt: Boolean);
begin
  with qryRelPedido do
    begin
      Close;
      SQL.Clear;
      SQL.Add(´select * from PEDIDOS where IDPEDIDO = :IDPEDIDO´);
      ParamByName(´IDPEDIDO´).AsInteger:= frmCadPedidos.idpedido;
      Open;
      idformapagamento:= FieldByname(´IDFORMAPAGAMENTO´).AsInteger;
      idcaminhao:= FieldByname(´IDCAMINHAO´).AsInteger;
      idcliente:= FieldByname(´IDCLIENTE´).AsInteger;
      {Data e Número do Pedido}
      lblData.Caption:= ´Data: ´+FieldByname(´DATA´).AsString;
      lblPedido.Caption:= ´Pedido Nº ´+FieldByname(´CODPEDIDO´).AsString;
      {Observação,Previsão de Entrega,ICMS,IPI}
      mmObservacao.Lines.Text:= FieldByname(´OBSERVACAO´).AsString;
      

Mais umas 30 linhas pra baixo....

A Observação é este campo acima;


fiz dessa maneira, tudo funciona só acontece isso com o memo


GOSTEI 0
Lynx

Lynx

13/08/2005

o problema é pegar da base... (Campo Blob)...
Se eu pegar direto de um memo até pode ir...

Meu relatório tudo funciona perfeito, mostra os códigos dos produtos, nome tudo.

Só a observacao acontece isso.


Mas se eu pegar uma string ´AAAAAAAAAAAAAAAAAA´ e deixar assim ´AAAAAAAA AAAAAA´ (Com um espaço), a linha quebra.


GOSTEI 0
Lynx

Lynx

13/08/2005

resolvido, precisa ter pelo menos um espaço, se digitar direto os caracteres 100 seguidos, da isso em qualquer relatorio.


GOSTEI 0
POSTAR