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 03-01-2008
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Seleccionar bandeja de impresión

Hola,

Tengo una pantalla y una tabla de clientes dónde cada cliente puede tener una factura (report) dirente así cómo un número de copias e impresora por defecto. Hago la selección de la impresora y del número de copias con el PrinterSetupDialog.
El código es este:
Código:
 PrinterSetupDialog1.Execute;
 myPrinter := Printer;
 indeximp := myPrinter.PrinterIndex;
 DMArxius.TG_ClientsCLICOPIES.AsInteger := myPrinter.Copies; //Assigna el nombre de copies correctes
 DMArxius.TG_ClientsCLIIMPRESSORAF1.AsString := myPrinter.Printers[indeximp]; //Assigna el nom d'impressora correcte
Es decir graba a la base de datos la impresora y el número de copias seleccionado. Esto es OK.

Después a la hora de imprimir el report de la factura del cliente asigno al report (utilitzo las FastReport 4) la impresora y el número de copias que tiene seleccionado:
Código:
   frxR1.PrintOptions.Copies := copies;
        frxR1.PrintOptions.Printer := impressora;
Todo ok, es decir me sale al impresora seleccionada y también el número de copias.

El problema es que además de impresora y número de copias también tendría que seleccionar por defecto la bandeja de la impresora. Y es aquí dónde no sé cómo se hace, ni tan siquiera grabar la propiedad que ha seleccionado con el PrinterSetupDialog, ni tampoco como configurar el Report. He buscado propiedades de Tray o algo así y no he encontrado nada.

Muchas gracias por vuestro tiempo y agradezco de antemano cualquier posible ayuda.

Si me he explicado mal o hay algo que no se entiende me lo decís.
Responder Con Cita
  #2  
Antiguo 15-05-2008
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
Más vale tarde!!!

Bueno, acabo de ver este post y al no tener respuesta me he dicho... más vale tarde que nunca, por si alguien está buscando algo sobre esto, por lo menos que encuentre una solución.

En el quickreport, en printersettings tienes la propiedad outputbin, para indicar la bandeja de salida. Sin embargo, algunas veces no he conseguido que la impresora responda a estos cambios en el quickreport. Acabo de realizar una función para cambiar la bandeja de una impresora pasada por parametro. Aún no lo he probado, pues estoy chapuceando en casa y no tengo una impresora multibandeja a mano, así que no os puedo asegurar que funcione:

Código:
 
Procedure ActivaBandeja(FPrinter: TPrinter; NumBandeja: SmallInt);
var
  FDevice: PChar;
  FDriver: PChar;
  FPort: PChar;
  DeviceMode: THandle;
  DevMode: PDeviceMode;
begin
  FPrinter.GetPrinter(FDevice, FDriver, FPort, DeviceMode);
  DevMode := GlobalLock(DeviceMode);
  if  ((DevMode^.dmFields and DM_DEFAULTSOURCE) = DM_DEFAULTSOURCE) then begin
    DevMode^.dmFields := DevMode^.dmFields or DM_DEFAULTSOURCE;
    DevMode^.dmDefaultSource := NumBandeja;
  end;
  FPrinter.SetPrinter(FDevice, FDriver, FPort, DeviceMode);
  GlobalUnlock(DeviceMode);
end;
Si alguien lo mejora que lo postee... Saludos.
Responder Con Cita
  #3  
Antiguo 21-05-2008
atrus atrus is offline
Miembro
 
Registrado: oct 2006
Posts: 29
Poder: 0
atrus Va por buen camino
Una pregunta, e NumBandeja que pasas por parametros de donde sale?
gracias.
Responder Con Cita
  #4  
Antiguo 26-05-2008
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
Nº de bandeja.

Teóricamente es un nº entre 1 y 15. Tendrías que ir activando cada uno y viendo que resultado se produce en la impresora. Parece ser que debería ser estandar en todas las impresoras, pero la realidad es que no es así.
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
Elección de la bandeja de impresión sur-se Impresión 0 14-05-2007 14:11:24
QuickReport - Seleccionar bandeja alapaco Impresión 9 06-11-2006 11:24:54
Reportes - Seleccionar bandeja alapaco Impresión 0 01-09-2006 22:51:08
seleccionar bandeja de imprecion moy68 Impresión 0 11-06-2005 03:02:20
seleccionar bandeja de entrada del papel en FastReport jhges Impresión 0 12-11-2003 16:16:26


La franja horaria es GMT +2. Ahora son las 03:59:43.


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