PDA

Ver la Versión Completa : Mandar dos impresiones y cambiar de impresora Quick Report


MRSAM
01-12-2003, 21:24:10
Amigos de Club Delphi:

Estoy haciendo una pequeña aplicacion, que me imprime a travez de QReport un reporte, je solo que este reporte tiene que ser en original y copia. Como movimiento de la empresa quieren que la copia salga en Blanco y Negro, mi pergunta es.. tengo dos opciones:

Como hacer que imprima una a color y una en blanco y negro con un solo click ?.. es decir que me mande una a color y una blanco y negro.


Tengo tambien la opcion de otra impresora que esta conectada a la red, esta es una impresora laser, como puedo pedir que una impresion me la haga en la impresora a color y otra en la Blanco y Negro que seria la laser.

Les agradecere muhco su ayuda.

pijo
17-02-2004, 20:16:27
Yo utilizaria la segunda opción que trae menos complicaciones. Asi haria el report dos veces sólo cambiando la impresora por la que sale.

Ánimos

pijo
18-02-2004, 11:18:51
Primero te voy a poner un procedimiento para que puedas averiguar las impresoras que hay instaladas en el panel de control:

procedure presenta_impresoras;
var
impresoras : TPrinter;
nombres : TStringlist;
i : longint;
begin
nombres := TStringList.Create; // TStringList para guardar todos los nombres de las impresoras que hay instaladas en el panel de control impresoras
impresoras := TPrinter.create(); // Objeto del tipo Tprinter que nos dará la información de todas las impresoras disponibles en el sistema
nombres.clear;



// Modo 1
for i := 0 to impresoras.printers.count - 1 do
begin
nombres.add(impresoras.printers[i]); // Rellenar el StringList con los nombres de las impresoras
end;
// Modo 2
nombres.Assign(impresoras.printers);



if impresoras.printers.count = 0 then
begin
// Si no hay impresoras definidas
end
else
begin
impresoras.PrinterIndex; // Esto nos devuelve el índice dentro del stringlist de la impresora que está configurada como predeterminada
end;


impresoras.free;
nombres.Free;
end;

Una vez que tienes el nombre de la impresora a la cual quieres enviar el report, aunque lo importante no es nombre de la impresora sinó el índice que esta tiene el el StringList de impresoras simplemente le tienes que informar al QuickReport de por donde tiene que salir:

nombre_del_quickReport.printersettings.PrinterIndex := índice_de_la_impresora;

Espero haberte sido de ayuda.

Ánimos