Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir escogiendo nombre de impresora (https://www.clubdelphi.com/foros/showthread.php?t=32549)

el_barto 08-06-2006 23:21:43

Imprimir escogiendo nombre de impresora
 
Buenos dias, tengo un sistema creado en delphi version 5, base de datos oracle y simplemente estoy haciendo un select y se guarda en un archivo de texto pero cuando deseo mandarla a imprimir necesito solo escoger el nombre de la impresora:

por ejemplo si tengo una red y estan configuradas dos impresoras, si le doy el nombre de la primera:

imprHp apollo, pues deberia imprimir por la impresora que responda a ese nombre.

pero si escojo imprxeroxa1 pues debe imprimirse por la impresora que responda a ese nombre.

¿ Que componente o linea de codigo se puede emplear para usar esta funcion ?

Gracias por todo

Neftali [Germán.Estévez] 09-06-2006 09:42:36

Lo que yo he hecgo alguna vez, es cambiar la impresra por defecto antes de enviar la impresión y justo después volver a restaurar la que había.
No es una solución que me parezca muy "optima" y tengo claro que el algun caso puede dar problemas, pero es que no he encontrado otra.

Utilizando

Código Delphi [-]
  i := Printer.Printers.IndexOf('NombreDeTuImpresora');

Puede acceder dentro de la lista de impresoras al índice de la tuya.
Lugo guardar el valor de la actual y lo cambias:

Código Delphi [-]
      _Actual := Printer.PrinterIndex;
      // Asignarle la impresora 'NombreDeTuImpresora'
      Printer.PrinterIndex := i;

Una vez que hayas enciado la impresión restaura la que había.
Es bueno utilizar un try..Except para asegurarte de que restauras en cualquier caso la impresora por defecto.

el_barto 12-06-2006 16:44:23

Buenos dias, me surge un inconveniente con tu respuesta neftali, en mi delphi version 5 no esta instalado el componente Tprinter entonces pense hacerlo por DOS y usar algun metodo en delphi que permita ejecutar una sentencia que sea bien interpretada por DOS.

como PRINT archivo.txt

No veo otra forma por ahora. gracias Neftali

Neftali [Germán.Estévez] 12-06-2006 17:19:17

TPrinter no es un componente, es una clase; Basta con que añadas al uses la unit Printers.


La franja horaria es GMT +2. Ahora son las 08:43:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi