Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-06-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
QRPrintSetup actualizar impresora seleccionada

Buenas noches desde aca, les cuento tengo un quickrep, con una preview personalizada esta agrege botones con una coolbar, al boton imprimir le puse el sgte codigo y si cambio la impresora le da igual siempre me tira la impresion a la misma impresora, aca en el foro hay temas sobre esto pero no encontre una solucion
Código Delphi [-]
procedure TPreview.ToolButton1Click(Sender: TObject);
begin
reporteform.quickrep1.QRPrinter.PrintSetup;
if reporteform.quickrep1.QRPrinter.Master.tag = 0 then
        reporteform.quickrep1.QRPrinter.Print;
end;
adjunto custompreview.pas

saludos
Archivos Adjuntos
Tipo de Archivo: rar QRpreview.rar (1,0 KB, 4 visitas)
Responder Con Cita
  #2  
Antiguo 11-06-2013
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo hago esto:
Código Delphi [-]
procedure TfrConclientes.SpeedButton4Click(Sender: TObject);
begin
Application.CreateForm(TfrlstClientes, frlstClientes);
frlstClientes.ListaClientes.PrinterSettings.PrinterIndex:=GetImpresora(Impresora4);
frlstClientes.ListaClientes.Print;
frlstClientes.Close;
end;

Un Saludo
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 11-06-2013
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Añado la función que selecciona la impresora, por ejemplo la que este configuradad para Facturas, Pedidos, Listados...
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
  //buscamos la impresora en la lista del sistema
  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;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 12-06-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
lo realizo asi y dice GetImpresora undeclared identifier
en el quickrep
Código Delphi [-]
procedure TReporteForm.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
QuickRep1.PrinterSettings.Printerindex:=GetImpresora(qrPrinter.PrinterIndex);
end;

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
  //buscamos la impresora en la lista del sistema
  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;
en boton del QRPreview
Código Delphi [-]
procedure TPreview.ToolButton1Click(Sender: TObject);
begin
reporteform.quickrep1.QRPrinter.PrintSetup;
if reporteform.quickrep1.QRPrinter.Master.tag = 0 then
        reporteform.quickrep1.QRPrinter.Print;

end;
que hago mal??

Última edición por jonydread fecha: 12-06-2013 a las 07:19:01.
Responder Con Cita
  #5  
Antiguo 12-06-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por jonydread Ver Mensaje
lo realizo asi y dice GetImpresora undeclared identifier
...
que hago mal??
Hola jonydread.
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
  //buscamos la impresora en la lista del sistema
  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;

procedure TReporteForm.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
QuickRep1.PrinterSettings.Printerindex:=GetImpresora(qrPrinter.PrinterIndex);
end;
GetImpresora es una función y a diferencia de un método, su declaración tiene que preceder en órden al código que la invoca.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-06-2013 a las 16:40:37.
Responder Con Cita
  #6  
Antiguo 13-06-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
creo que el problema esta en
Código Delphi [-]
GetImpresora(QRPrinter.PrinterIndex)

no se puede utilizar QRPrinter.PrinterIndex y dice Returnvalue of function GetImpresora migth be undefined si dejo vacio para probar el error y es lo mismo

como puedo obtener la impresora seleccionada en el printsetup qe esta en preview del quickrep
Código Delphi [-]
reporteform.quickrep1.QRPrinter.PrintSetup

Última edición por jonydread fecha: 13-06-2013 a las 05:33:25.
Responder Con Cita
  #7  
Antiguo 13-06-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
he quitado el error pero no obtener la impresora seleccionada
Código Delphi [-]
procedure TPreview.ToolButton1Click(Sender: TObject);
  var
simp:string;
begin
ReporteForm.quickrep1.QRPrinter.printsetup;
if ReporteForm.quickrep1.QRPrinter.Master.tag = 0 then
begin
simp := inttostr(ReporteForm.quickrep1.QRPrinter.PrinterIndex);
ReporteForm.quickrep1.PrinterSettings.PrinterIndex:=GetImpresora(simp);
showmessage(simp);
        ReporteForm.quickrep1.QRPrinter.Print;
end;
end;
Responder Con Cita
  #8  
Antiguo 13-06-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por jonydread Ver Mensaje
como puedo obtener la impresora seleccionada en el printsetup qe esta en preview del quickrep
Hola jonydread.

Para obtener la impresora actualmente seleccionada te tendría que alcanzar con:
Código Delphi [-]
...
implementation

uses Printers;

function GetCurrentPrinterName: string;
begin
  Result := '';
  if Printer.PrinterIndex <> -1 then
    Result := Printer.Printers[Printer.PrinterIndex];
end;
...
Pero en estos enlaces vas a encontrar mas opciones, tanto para obtenerla como para configurarla:
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 14-06-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
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
  //buscamos la impresora en la lista del sistema
  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;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Colorear una fila seleccionada... seb@ OOP 17 11-02-2011 16:35:01
Fila Seleccionada DBGrid lacovera OOP 1 26-09-2008 15:58:40
Resaltar la linea seleccionada analia1979 Varios 3 06-08-2007 22:22:35
No imprime en la Impresora Seleccionada...? BlueSteel Impresión 3 20-01-2005 07:12:59
Nombre de la Impresora Seleccionada Nuria Impresión 1 26-01-2004 11:55:30


La franja horaria es GMT +2. Ahora son las 13:26:53.


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