Ir para conteúdo
Fórum Script Brasil
  • 0

Relatório Com Richedit


bastard2003

Pergunta

Salve amigos do forum.. beleza?? galera to com o seguinte problema... vou ter q criar um relatorio que ira receber o texto de um RichEdit no formulario to com o RichEdit e no relatorio to com um QRRichText (QuickReport) so que o problema é o seguinte... não to conseguindo nem visualizar o QuickReport quando dou o Preview... e tentando de outra maneira não consigo ver o texto... minha duvida é a seguinte:

Tem como usar QuickReport sem DataSet? Como?

Segundo... qual seria a maneira mais adequada de eu passar esse texto que esta no RichEdit do formulario? este esta todo formatado, tipo, tamanho da fonte, localização (centralizado, alinhado a esquerda...)... tem como fazer isso?? se alguém puder me ajudar ficaria MT grato!

Atenciosamente Bastard2003

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá,

você precisa ter dentro de um QRBand (BandType: rbDetail) o QRRichEdit.

Tenta assim:

with Form2 do
  begin
   QRRichText1.Lines.Text:=RichEdit1.Lines.Text;
   QuickRep1.Preview;
  end;

Obs: Use a propriedade AutoStretch do QRRichEdit como true.

Abs.

Kiko

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Kikonanet, mas tipo cara... isso iria imprimir o texto "cru" teria como fazer imprimir o texto formatado?? tipo no formulario um o cara digito um texto cheio de "frescura" (fonte maior, cor, neguito, etc..) e eu queria imprimir esse texto.. nem que não tenha o preview, que imprima direto... outra coisa... como eu faria pra adicioinar algumas linhas em branco no topo?? porque tipo... a folha q ira ser empressa é timbrada e o texto do RichEdit vai ir no meio dela... porque ela tem cabeçalho e rodapé! valeu buxo... vou aguardar uma resposta! (espero q seja positiva! biggrin.gif )

Link para o comentário
Compartilhar em outros sites

  • 0

Olá,

Veja se imprimindo direto do Componente ajuda!

Código para imprimir direto RichEdit.

procedure PrintRichEdit(const Caption: string;const RichEdt: TRichEdit);
// Requer a Printers e RichEdit declaradas na clausula uses da unit
var
Range: TFormatRange;
LastChar, MaxLen, LogX, LogY, OldMap: Integer;
begin
FillChar(Range, SizeOf(TFormatRange), 0);
with Printer, Range do
begin
BeginDoc;
hdc := Handle;
hdcTarget := hdc;
LogX := GetDeviceCaps(Handle, LOGPIXELSX);
LogY := GetDeviceCaps(Handle, LOGPIXELSY);
if IsRectEmpty(RichEdt.PageRect) then
begin
rc.right := PageWidth * 1440 div LogX;
rc.bottom := PageHeight * 1440 div LogY;
end
else
begin
rc.left := RichEdt.PageRect.Left * 1440 div LogX;
rc.top := RichEdt.PageRect.Top * 1440 div LogY;
rc.right := RichEdt.PageRect.Right * 1440 div LogX;
rc.bottom := RichEdt.PageRect.Bottom * 1440 div LogY;
end;
rcPage := rc;
Title := Caption;
LastChar := 0;
MaxLen := RichEdt.GetTextLen;
chrg.cpMax := -1;
OldMap := SetMapMode(hdc, MM_TEXT);
SendMessage(RichEdt.Handle, EM_FORMATRANGE, 0, 0);
try
repeat
chrg.cpMin := LastChar;
LastChar := SendMessage(RichEdt.Handle, EM_FORMATRANGE, 1,Longint(@Range));
if (LastChar < MaxLen) and (LastChar < -1) then
begin
NewPage;
end;
until (LastChar = MaxLen) or (LastChar = -1);
EndDoc;
finally
SendMessage(RichEdt.Handle, EM_FORMATRANGE, 0, 0);
SetMapMode(hdc, OldMap);
end;
end;
end;

como eu faria pra adicionar algumas linhas em branco no topo??

Você pode colocar o RichEdit em qualquer lugar do seu form.

Vou dar uma olhada aki nisso. qualquer coisa posto ae!

Abs.

Kiko

Link para o comentário
Compartilhar em outros sites

  • 0

Fala Grande Mestre... cara consegui resolver de uma maneira bem pratica.. fiz assim... no botão que eu salvo:

arquivo := 'C:\temporario.rtf'; //Crio um arquivo temporario
Editor.Lines.SaveToFile(arquivo); //Salvo ele!
relPrincipal := TrelPrincipal.Create(Application); // Crio o relatorio
relPrincipal.QuickRep1.Preview; // do um preview;
relPrincipal.Free; // libero o relatorio
DeleteFile(PChar(arquivo)); // deleto o arquivo criado!
no relatorio, no oncreate :
QRRichText1.Lines.LoadFromFile(MainForm.arquivo); // Carrego o arquivo q eu salvei!

Onde arquivo é uma global do tipo String biggrin.gif

pro problema dos espaços no começo eu resolvi colocando uns QRBands biggrin.gif um cmo rbPageHeader e outro como rbPageFooter assim delimito o tamanho de cada um pra deixar so o meio livre... já q a folha vai ser timbrada! biggrin.gif Valeu ai cara! grande abraço!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...