Ver Mensaje Individual
  #3  
Antiguo 18-02-2004
pijo pijo is offline
Miembro
 
Registrado: sep 2003
Ubicación: Barcelona, casi
Posts: 56
Reputación: 21
pijo Va por buen camino
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
__________________
Ánimos.
Responder Con Cita