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 08-02-2005
Avatar de Osorio
Osorio Osorio is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 251
Poder: 21
Osorio Va por buen camino
Imprimir un DataSet

Hola todos,

He creado en mi aplicacion una ventana donde se pueda escribir una consulta SQL (solo consultas, nada de INSERT ni UPDATE) y ver el resultado en un DBGRID. Una vez los datos alli los envio a excel, unas negrillas, unos colorcitos y se imprime. (eso me sirve mientras genero el reporte en QReport)


Pero, no es mejor si los tiro de una vez a la impresora sin tener que estar enviando a excel?. Bueno ya se que es mejor , pero no se por donde empezar dicha tarea , por que luego quiero que me sirva para cualquier conjunto de datos sin importar la estructura (numero y tipo de campos del mismo).

saludos,
Responder Con Cita
  #2  
Antiguo 08-02-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
El problema es que si quieres poner colores y demás, siempre tendrás que generar el fichero (para poder darle formato), ya sea en Excel o cualquier otro tipo. No puedes hacer eso directamente sobre la impresora. Lo que sí puedes hacer es generar ese fichero e imprimirlo sin que se habra Excel o como mínimo que se abra minimizado o invisible.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 08-02-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
echale un vistazo a:GRIDLIST.ZIP de la página http://www.qusoft.com/stanlegacy.html

Eso sí, olvidate de hacer listados complejos agrupando por campos y demás, esto es un listado simple.

Saludos
Responder Con Cita
  #4  
Antiguo 08-02-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Ese ejemplo es dificil de digerir, así que te he preparado algo más simple. Necesitas un TTable.

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var q:TQuickRep;
    listaCampos:TStringList;
    i:Integer;
begin
   listaCampos:= TStringList.Create;
   try

      // lista de campos a incluir en el informe, por defecto, todos.
     for i:=0 to Table1.Fields.Count-1 do
      listaCampos.Add(Table1.Fields[i].FieldName);
    Table1.Open;
    q:=nil;
    QRCreateList(tcustomquickrep(q),nil,Table1,'Listado Principal',listaCampos);
    q.Previewmodal;

   finally
      listaCampos.Free;
      FreeAndNil(q);
   end;
end;
los uses que necesitarás, tarde o temprano, son : quickrpt, qrextra, qrprntr, qrctrls;
Responder Con Cita
  #5  
Antiguo 08-02-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Otra opción es mirar éste hilo

Los componentes tb te pueden servir a tí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 08-02-2005
Avatar de Osorio
Osorio Osorio is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 251
Poder: 21
Osorio Va por buen camino
Thumbs up

Buena alternativa la de Lepe, la estoy usando por ahora y me esta dando resultado.

Gracias a todos,

Saludos
Responder Con Cita
  #7  
Antiguo 08-02-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Es muy importante que veas con tranquilidad las necesidades que vas a tener, ya que esa función es muy poderosa.... ya ves, una simple llamada y tienes el listado. Por contra, si necesitas agregarle colores al listado, por ejemplo, la cosa se complica mucho para tí.

Para que tengas una idea, lo que hace esa función es contruir el informe mediante una banda detalle y componentes del tipo TQRExpr, en su propiedad Expression, pone el nombre del campo.

Añadiendo colores, o formatos de números:
Una vez construido el listado, pero justo antes de hacer el PreviewModal, es donde tendrías que recorrer la banda detalle (por código), mirando si el Componente es un TQRExpr, despues,miras la propiedad Expression para ver si es el campo que quieres Modificar, por último, modificas la propiedad en cuestión.

Un ejemplo práctico para cambiar el número de página: (sabiendo que QRCreateList solo añade un control en el pie de pagina)
Código Delphi [-]
    with TQRExpr(q.Bands.PageFooterBand.Controls[0]) do
      expression := QuotedStr('Pág. ') + ' +PAGENUMBER';
    // PAGENUMBER es una variable que entiende QUICKREPORTS
Saludos
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


La franja horaria es GMT +2. Ahora son las 20:15:00.


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