Fórum printersetup, cancelar impressão? #262603

18/12/2004

0

amigos, mais um problema

na execução do relatório faço isso

Fimpchequesolto.QuickRepchequesolto.Prepare;
Fimpchequesolto.QuickRepchequesolto.printersetup;
Fimpchequesolto.QuickRepchequesolto.Print;

só que nao da pra cancelar a impressão depois de executado o printersetup, ja tentei tambem com o printdialog e tambem não deu certo, alguem sera que tem alguma solução pra isto???

desde ja agradeço.....

quickReport
delphi 7.0
firebird


Marcusbraga

Marcusbraga

Responder

Posts

18/12/2004

Vinicius2k

Colega,

O que ocorre é que em nenhum momento vc está orientando para que a impressão seja cancelada... O dialogo de setup da impressora no QuickReport não é uma função com retorno e sim uma procedure, logo, vc não pode testar retorno.

Não sei se seria possível para vc utilizar os dialogos da própria VCL, pq com estes vc poderia trabalhar como deseja. Por exemplo:
Fimpchequesolto.QuickRepchequesolto.Prepare;
if PrinterDialog1.Execute then
  Fimpchequesolto.QuickRepchequesolto.Print;

ou
Fimpchequesolto.QuickRepchequesolto.Prepare;
if PrinterSetupDialog1.Execute then
  Fimpchequesolto.QuickRepchequesolto.Print;

Talvez vc possa adaptar seu código (se é que é necessária alguma adaptação -- não sei pq não trabalho com o QR) para deixar de usar os diálogos do QR.

Espero ter ajudado...
T+


Responder

Gostei + 0

19/12/2004

Marcusbraga

Obrigado pela resposta mas ainda não entendi uma coisa,
no exemplo acima é testado, para quando a caixa de dialogo for aberta ele começa a imprimir,
mas onde coloco o

printdialog.execute

ja tentei no evento beforeprint, afterpreview

e nos dois eventos se dou um preview antes ele ja mostra a caixa de dialogo e neste caso ele ja iria imprimir no comando preview


Responder

Gostei + 0

19/12/2004

Marcusbraga

Obrigado pela resposta mas ainda não entendi uma coisa,
no exemplo acima é testado, para quando a caixa de dialogo for aberta ele começa a imprimir,
mas onde coloco o

printdialog.execute

ja tentei no evento beforeprint, afterpreview

e nos dois eventos se dou um preview antes ele ja mostra a caixa de dialogo e neste caso ele ja iria imprimir no comando preview


Responder

Gostei + 0

19/12/2004

Marcusbraga

Obrigado pela resposta mas ainda não entendi uma coisa,
no exemplo acima é testado, para quando a caixa de dialogo for aberta ele começa a imprimir,
mas onde coloco o

printdialog.execute

ja tentei no evento beforeprint, afterpreview

e nos dois eventos se dou um preview antes ele ja mostra a caixa de dialogo e neste caso ele ja iria imprimir no comando preview


Responder

Gostei + 0

19/12/2004

Vinicius2k

Marcus,

Como eu disse, não trabalho com o QR, então, não posso lhe ajudar especificamente com ele. Mas pelo que pude perceber, para que vc consiga o resultado desejado, o caminho *deve* ser não utilizar nenhum evento ou procedure dele e controlar tudo manualmente.

No exemplo que lhe dei, o código seria colocado em uma ação, um botão, por exemplo, que chamasse a impressão, mas não estou contando que exista um preview antes da impressão... foi só um exemplo, que *talvez* vc possa utilizar...

T+


Responder

Gostei + 0

19/12/2004

Adilsond

Se na execução do relatório voce faz isso !!!!

Fimpchequesolto.QuickRepchequesolto.Prepare; 
Fimpchequesolto.QuickRepchequesolto.printersetup; 
Fimpchequesolto.QuickRepchequesolto.Print;



Então utilizando o que Vinicius2K disse mude para:

begin
  with Fimpchequesolto do
    begin
      if PrinterDialog1.Execute then
         begin
           QuickRepchequesolto.Prepare;
           QuickRepchequesolto.Print;
         end;
    end;
end;



Responder

Gostei + 0

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

Aceitar