Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-07-2008
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Question Prepare del QReport

Hola, estimado foro.

Resulta que tengo un dbgrid el cual quiero imprimir con un QR. En el caso que la grilla tiene pocos registros, super, anda barbaro, pero en el caso que la grilla tengo muchos registros, y/o el reporte termine siendo de varias paginas, mas de 70, es que me veo en la necesidad de que no se pueda imprimir el reporte hasta que termine de cargar todo en una preview que hace en primera instancia.

A veces pasa que el usuario es muy "impaciente" y le da al boton de imprimir antes que haya terminado de cargar, entonces menudo lio.

He encontrado que haciendo un prepare antes del preview, se soluciona xq ya estan todos los registros procesados y el preview es rapido.
Tambien note que al procesar los registros, la grilla "tintineaba" por la cual le
hice un disablecontrols y se soluciono, pero tambien sale el preview aun antes
de haber terminado de prepararlo y contar todos los registros.

Ahora mi pregunta.. esta bien hecho asi?? Porque igual me sale el preview antes de haber procesado todo?? Se puede deshabilitar el boton de print
del QR hasta que haya terminado de procesar ??

Espero haberme explicado bien..

Gracias

Leonardo
Responder Con Cita
  #2  
Antiguo 29-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, desde la ayuda de delphi

Cita:
property Available : Boolean (read only)

Applies to

TCustomQuickRep, TQuickRep

Description

Use the Available property if you need to know if it's safe to call a report's Preview or Print method. If the report is already active Available will return False and the report cannot run. If Available is True it's ok to run the report.

nunca la he usado, pero estara la solucion usandola. (por ejemplo, imprimirbtn.Enabled := QuickRep1.Avaible; ) saludos
Responder Con Cita
  #3  
Antiguo 29-07-2008
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Hola, coso. Gracias por responder antes que nada.

Ese codigo que pusistes en mi caso no funcionaria porque el boton de imprimir , es el que crea el reporte , lo prepara, lo imprime y lo destruye.

Algo asi es lo que tengo..

Código Delphi [-]
Application.CreateForm(Tf_Reporte, f_Reporte);
qrydatos.DisableControls;
f_reporte.RepListas.Prepare;
while not f_reporte.RepListas.Available do
begin
end;
f_reporte.RepListas.Preview;
qrydatos.EnableControls;

No se me ocurrio otra manera de utilizar la propiedad "available".
Y aun asi, se muestra el preview antes de terminar de procesar todos los
registros.

Cualquier monedita sirve..

Gracias
Responder Con Cita
  #4  
Antiguo 11-01-2009
ctrl_attack ctrl_attack is offline
Miembro
 
Registrado: feb 2007
Posts: 49
Poder: 0
ctrl_attack Va por buen camino
Talking

Hola pues no se si sea la mejor manera pero se me ocurrio, que si usaras un progressbar, que este en otro formulario, y lo mostraras en lo que se prepara el form donde esta el quick report, pues no seria mucho lio, aunque solo es una idea a lo mejor funcione, yo tuve un problema, con una aplicacion qu demoraba mucho en mostrar un form, asi que le hice esto

Código Delphi [-]
form_espere.Show;
  form_espere.Update;
     form_espere.progressbar1.StepIt;
         Form_amostrar := TForm_amostrar.Create(Application);
form_espere.progressbar1.StepIt;
       Form_amostrar.Show;
              form_espere.progressbar1.StepIt;
       Form_amostrar.Update;
      form_espere.progressbar1.StepIt;
  form_espere.close;

yo asi lo hice con un form, supongo que no habra muchos problemas en adaptarlo al qreport, intentalo pero con el prepare, para que asi muestre el form donde pongas el progressbar, y mientras se valla cargando el prepare, valla cargando el progressbar, cuando finalize ya le pones el Preview;

Bueno amigo es solo una idea, pero si la llevas a cabo y la pruebas, por lo menos asi sabremos si funciona o no,
Responder Con Cita
  #5  
Antiguo 12-01-2009
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 19
Kipow Va por buen camino
Código Delphi [-]
try    
   qryDatos.DisableControls;    
   imprimirbtn.enabled := false;    
   Application.CreateForm(Tf_Reporte, f_Reporte);    
   f_reporte.RepListas.Prepare;    
   f_reporte.RepListas.Preview;     
finally    
   qrydatos.EnableControls;    
   imprimirbtn.enabled := true; 
end;


Responder Con Cita
  #6  
Antiguo 12-01-2009
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 19
Kipow Va por buen camino
post repetido.
Responder Con Cita
  #7  
Antiguo 12-01-2009
ctrl_attack ctrl_attack is offline
Miembro
 
Registrado: feb 2007
Posts: 49
Poder: 0
ctrl_attack Va por buen camino
con eso se deshabilitan los controles del preview??

o los del form de donde se llama el preview?
Responder Con Cita
  #8  
Antiguo 12-01-2009
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 19
Kipow Va por buen camino
Cita:
Empezado por ctrl_attack Ver Mensaje
con eso se deshabilitan los controles del preview??

o los del form de donde se llama el preview?
Los del form que llama al preview, los del preview solo que tengas un preview a medida (custom preview). el unico boton que hay que deshabilitar es el que genera el preview (imprimebtn)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tardanza de un Quickreport.prepare afxe Impresión 1 26-05-2008 14:38:55
Append, Insert, Prepare citlalliDgp Varios 5 26-12-2007 17:29:00
pagina x/y sin prepare con previewmodal ?? amadis Impresión 4 05-10-2007 19:29:27
prepare pablo Conexión con bases de datos 4 10-05-2005 16:22:01
Prepare y Unprepared ¿como? Robert SQL 3 18-03-2004 20:33:03


La franja horaria es GMT +2. Ahora son las 17:06:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi