Muchas gracias Ecfisa y tambien a marcoszorrilla
finalmente lo logre!!
quedo asi
Código Delphi
[-]Function GetImpresora(Impre:String):Integer;
Var
nCont:Integer;
lSearch:Boolean;
cNewLIne:String;
begin
lSearch:=False;
cNewLine:=Chr(10)+Chr(13);
For nCont:=0 to Printer.Printers.Count - 1 do
begin
if Pos(impre, Printer.Printers[nCont]) <> 0 then
begin
lSearch:=True;
Result:=nCont;
Break;
end;
end;
if lSearch = False then
begin
ShowMessage('Impresora no encontrada.'+impre+cNewLine+'Se utilizará la predeterminda.');
Result:=-1
end;
end;
function GetCurrentPrinterName: string;
begin
Result := '';
if Printer.PrinterIndex <> -1 then
Result := Printer.Printers[Printer.PrinterIndex];
end;
procedure TPreview.ToolButton1Click(Sender: TObject);
var
simp:string;
begin
ReporteForm.quickrep1.QRPrinter.printsetup;
if ReporteForm.quickrep1.QRPrinter.Master.tag = 0 then
begin
simp := GetCurrentPrinterName;
ReporteForm.QuickRep1.QRPrinter.PrinterIndex := getimpresora(simp);
ReporteForm.quickrep1.QRPrinter.Print;
end;
end;