Fórum Preview personalizado ! #194517

12/11/2003

0

Recebi esse código de uma amigo. Q é uma dica para personalizar o preview do relatorio.

´No relatório, criar a procedure SHOWPREVIEW contendo:

Procedure Showpreview;
begin
preview.showmodal;
end;

Onde preview é o nome do form criado para preview.
Não esquecer de incluir o nome da procedure na cláusula uses.
Após isso, deve-se incluir no evento CREATE do formulario principal ou do relatório o direcionamento do objeto Qprinter, com a seguir:

qprinter.onpreview:=showpreview;

Isto faz com que toda vez que se desejar exibir um preview, o programa abra a rotina ´showpreview´, que abre o formulário criado, chamado ´preview´.´

Blz !!
Agora minha dúvida está em criar esse form. Já que, pelo que eu entendi, ele vai substituir o preview do quick report para o form que eu criar.

Como vou fazer para jogar a folha do relatorio no meu form ?
A toolbar que vou criar no form para colocar zoom, config de impressora, é como a toolbar de um form comum ?
Alguém sabe aí ??
[/code]



Ana Davis

Ana Davis

Responder

Posts

12/11/2003

Ilanocf

Olá Ana Davis,

1º) No evento OnPreview do seu QuickReport insira o código:

Application.CreateForm(TFrmVisualizarRelatorios, FrmVisualizarRelatorios);
FrmVisualizarRelatorios.QRPreview1.QRPrinter:= quickrep1.QRPrinter;
FrmVisualizarRelatorios.Show;

Onde:
FrmVisualizarRelatorios = será o preview personalizado.


2º) No botão de impressão do seu Preview, coloque:

FrmVisualizarRelatorios.quickrep1.PrinterSettings.Copies:=printdialog1.Copies;
FrmVisualizarRelatorios.quickrep1.Print;

OBS.: Como eu iria imprimir vários relatórios num único preview personalizado, então fiz o seguinte:

1º) No evento OnPreview do seu QuickReport insira o código:

Application.CreateForm(TFrmVisualizarRelatorios, FrmVisualizarRelatorios);
FrmVisualizarRelatorios.seVer.Value:=1;
FrmVisualizarRelatorios.QRPreview1.QRPrinter:= quickrep1.QRPrinter;
FrmVisualizarRelatorios.Show;

ONDE:
seVer = é um TSpinEdit q ficará oculto

2º) No botão de impressão do seu Preview, coloque:

If seVer = 1 Then
Begin
FrmVisualizarRelatorios.quickrep1.PrinterSettings.Copies:=printdialog1.Copies;
FrmVisualizarRelatorios.quickrep1.Print;
End;

E continuei a condição para outros relatórios q iria imprimir, sendo assim, se seVer for igual a 1 imprime o relatório acima, senão, se for igual a 2 imprime outro, e assim em diante até chegar ao último relatório.

A toolbar tb é a mesma q vc utiliza para qualquer formulário, apesar q eu prefiro um Panel. Se vc quiser posso te enviar um modelo q eu tenho onde vc tb pode escolher uma impressora e já defini-la como padrão.

Até mais,

Ilano.


Responder

Gostei + 0

13/11/2003

Ana Davis

Poxa amigo !
Valeu mesmo !
Vou fazer uma tentativa. Se tudo correr bem, pego contigo o exemplo do panel, ok ?!

Ana Davis


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar