Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresion en dos impresoras (https://www.clubdelphi.com/foros/showthread.php?t=9376)

Carlex 22-04-2004 06:23:23

Impresion en dos impresoras
 
Buenas mi duda es la siguiente tengo una aplicacion en la cual un reporte debe ir a la cocina(impresora normal)y otra ira a la caja (impresora especial de facturas tipo supermercado), la cuestion es como mandar estos reportes a diferentes impresoras sin que el usuario tenga que configurar la salida cada vez? Esto con el fin de que la factura no vaya a la cocina o el reporte vaya a la caja, Muchas gracias de antemano

roman 22-04-2004 06:38:39

Quizá te sirva el método SetPrinter del objeto global Printer para seleccionar la impresora.

// Saludos

solovaer 20-07-2007 04:07:50

Estamos en las mismas
 
Si tengo el mismo problema, gracias por la sugerencia que nos haces pero podrias ser un poco mas claro con algun ejemplo de codigo para entender mejor. Gracias de antemano

afxe 20-07-2007 11:54:54

Hay que darlo todo masticadito....
 
Un ejemplo simple, y poco fiable si jugueteamos a menudo con la instalación de impresoras en el panel de control... pero no suele ser lo normal:

Cargamos las impresoras en un combobox para poder guardar en variables qué impresora usar en cada caso (no olvideis hacer un Use de la unidad PRINTERS):

Código Delphi [-]
procedure CargaImpresoras(cb: TComboBox);
var
  i : integer;
  Device, Driver, Port : array[0..255] of Char;
  hDMode : THandle;
begin
  cb.Items.Clear;
  for i := 0 to Prev(Printer.Printers.Count) do begin
     Printer.PrinterIndex := i;
     Printer.GetPrinter(Device, Driver, Port, hDMode);
     cb.Items.Add(Device);
  end;
  cb.ItemIndex := 0;
end;

Usad este combobox para que el usuario seleccione las impresoras a usar para cada caso, y almacenais la propiedad cb.ItemIndex en variables globales (nImpCocina, nImpBarra ....). Para que no tener que configurar las impresoras cada vez que se inicie el programa, guardad esa información en un .INI o en el registro del windows. Cuando querais activar una impresora concreta poneis :

Código Delphi [-]
  Printer.PrinterIndex := nImpCocina;

Si usais el QuickReport:

Código Delphi [-]
  QuickRep1.PrinterSettins.PrinterIndex := nImpCocina;

Espero haberlo escrito bien... no tenía a mano fuentes para hacer un copiar y pegar.

solovaer 21-07-2007 04:52:44

Gracias pero no es masticadito
 
Hola gracias por tu interes, el porque de un ejemplo es porque vi en muchos hilos de aca algunos ejemplos a amedias y siempre queda hacerlo (cosa que es muy buena) pero lamentablmente ninguno me funciona adecuadamente es por eso que pedi tu ayuda, si hice parecer como que se queria todo facilisimo no era la intencion

Gracias por todo


La franja horaria es GMT +2. Ahora son las 07:47:08.

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