PDA

Ver la Versión Completa : Forzar por codigo a una impresora


cgomez
28-06-2006, 18:04:52
Amigos del foro: necesito su ayuda en algo. Debo imprimir unas estiquetas a una impresora en un puerto USB (USB001), sin embargo tengo una impresora laser hp como predeterminada. Como puedo forzar por codigo a una impresora u otra??? an definitiva, como puedo decirle "por codigo" a mi reporte (hecho en quick report en delphi 5) que se imprima en la USB?????? sin dejar de tener la HP como predeterminada???

espero sus respuestas..

salud2...

Neftali [Germán.Estévez]
28-06-2006, 18:16:05
Hace un par de semanas hablamos del tema aquí (http://www.clubdelphi.com/foros/showthread.php?t=32549&highlight=defecto).

cgomez
28-06-2006, 18:27:31
Hace un par de semanas hablamos del tema aquí (http://www.clubdelphi.com/foros/showthread.php?t=32549&highlight=defecto).

Gracias por tu ayuda pero tengo una duda. Lo que planteas es que guarde en una variable la impresora que tengo predeterminada, luego la cambie a la que necesito imprimir, y al terminar el proceso de impresion restauro la predeterminada anterior??? me surgio otra consulta, esto debo hacerlo en el evento imprimir?? o cuando??? al levantar el reporte?? o al hacer reporte.print??

Neftali [Germán.Estévez]
28-06-2006, 18:35:06
Desde tu código Delphi, antes de imprimir haces el cambio y justo después restauras el anterior.

cgomez
28-06-2006, 18:44:28
Desde tu código Delphi, antes de imprimir haces el cambio y justo después restauras el anterior.

gracias, voy a probar u te cuento.
salu2

cgomez
28-06-2006, 19:36:43
gracias, voy a probar u te cuento.
salu2

Gracias por tu ayuda, de hecho mejoramos tu propuesta y ecnontramos en la ayuda de delphi lo siguiente:
Tomamos el codigo que nos entregaste para asignar la impresora que vamos a usar.
P := Printer.Printers.IndexOf('impresora destino);
luego usamos esta linea para dar al reporte la salida a la impresora que queremos:
QuickRep2.PrinterSettings.PrinterIndex := p;
y ya esta!!!!, se imprime sin problemas sin tener que cambiar la predeterminada, ademas descubrimos que la impresora por defecto es la -1, osea, si quieres imprimir a la impresora predeterminada debes hacer:
QuickRep2.PrinterSettings.PrinterIndex := -1;

saludos y muchas gracias.