Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   No imprime en la Impresora Seleccionada...? (https://www.clubdelphi.com/foros/showthread.php?t=17736)

BlueSteel 19-01-2005 21:11:12

No imprime en la Impresora Seleccionada...?
 
Hola a todos...

tengo un problema más o menos...

Hice un programa que me permite emitir tickets.

El formulario de impresion lo habia realizado a traves de código, utilizando el canvas... pero como utilizan 2 impresoras diferentes... una Laser HP4100 y una Injet HP692C... no me funciono... por lo cual cree un formulario a través del QReport (se me olvidaba.. utilizo D7 e IB6..) y me funciona bien en ambas impresoras.... :D

ahora mi problema es... antes de imprimir obligo a seleccionar la impresora a través de un cuadro de dialodo... selecciona la HP692C (conexión directa al PC..) pero me imprime en la HP4100 (conexión en red..pero esta predeterminada...)

Por que selecciona otra impresora...?... como hago para que utilice la que elegi.. y no otra...?
:p gracias por cualquier ayuda que me puedan enviar... :D

marcoszorrilla 19-01-2005 22:03:59

Así hay que hacer la asignación:
Código Delphi [-]
 procedure TlstCli.listaclientesBeforePrint(Sender: TCustomQuickRep;
   var PrintReport: Boolean);
 begin
 prnDialog.Execute;
 listaClientes.PrinterSettings.Printerindex:=Printer.PrinterIndex;

Un Saludo.

BlueSteel 19-01-2005 23:43:59

Gracias... pero donde dejo eso ?

If PSD_Impresora.Execute Then
Begin
Informe.Cuponera.Print;
Actualizar; /// --> procedure que actualiza informaicón en la base..
End
Else
ShowMessage('No se pudo imprimir el informe....intente nuevamente');

Tambien tengo esta otra consulta.... el reporte tiene 10 tickets.... pero hice la opción de que podia comprar 10 o 20 tickets, para lo cual utilizo lo siguiente :

If PSD_Impresora.Execute Then
Begin
If CB_Tick.Text = '20' Then //-> si esta seleccionado 20 imprime y sigue el proceso.. por lo tanto vuelve a imprimir... si no esta seleccionado imprimira 1 vez...
Informe.Cuponera.Print;

Informe.Cuponera.Print
End
else
ShowMessage('No se pudo imprimir el informe....intente nuevamente');

por lo pronto me funciona... pero existe alguna otra forma de hacerlo...? :confused:

marcoszorrilla 20-01-2005 07:12:59

Código Delphi [-]
listaClientes.PrinterSettings.Printerindex:=Printer.PrinterIndex;
//ListaClientes en realidad es un objeto TQuickRep
QuickRep1.PrinterSettings.Printerindex:=Printer.PrinterIndex;

Lo puedes colocar en el evento beforePrint de QuickRep.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 16:40: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