Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Predeterminar Impresora Qreport (https://www.clubdelphi.com/foros/showthread.php?t=30836)

Coco_jac 20-04-2006 15:17:39

Predeterminar Impresora Qreport
 
Hola amigos del foros.
Necesito poder predeterminar la impresora con QReport, tengo una aplicacion de reporte de fallos, los cuales seran reportados por los usuarios al departamento de computo,de manera que dichos reporte generados seran mandado a impresion al Dpto. Computo, a una impresora especifica, es por eso que necesito saber como puedo tomar por defecto dicha impresora con Qreport.

Espero sus comentarios.

marcoszorrilla 20-04-2006 15:25:03

Una solución es guardar la impresora en una tabla y cada vez que vayas a lanzar el informe tomas dicha impresora la buscas en la lista del sistema y si está la utilizas y sino cargas la que tenga por defecto.

Un Saludo.

Coco_jac 20-04-2006 15:37:34

Hola Marcos gracias por responder, creo que me exprese mal de nuevo disculpa, mi pregunta es como puedo asignar por codigo a mi QReport una impresora, ya que la impresora la misma. Es decir que mi aplicacion busque siempre la misma impresora, asignada a mi QReport.

Gracias y espero nuevamente tus comentarios

marcoszorrilla 20-04-2006 15:42:07

Esta es la idea:
Código Delphi [-]
DmConta.QrCaja.DisableControls;
Application.CreateForm(TfrlstConta, frLstConta);
frLstConta.ListaConta.PrinterSettings.PrinterIndex:=GetImpresora(DmAni2.ConfLptListados.value);
frLstconta.ListaConta.Prepare;

Un Saludo.

marcoszorrilla 20-04-2006 15:43:37

Se me olvidó poner la función que me he construido para obtener la impresora:
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
  Result:=-1;
  ShowMessage('Impresora no encontrada:'+cNewLine+Impre+cNewLine+'Se utilizará la predefinida.');
  end;
          
end;

Un Saludo.

Coco_jac 20-04-2006 17:47:46

Hola Marcos, Gracias por tu ayuda. Como podria obtener el index de la impresora es decir pasarle el nombre de la impresora y me devuelva el index de esa impresora.
Gracias

Coco_jac 20-04-2006 17:48:53

Gracias por la ayuda, se me paso este post je je je. Gracias

marcoszorrilla 20-04-2006 17:49:10

Si te fijas es lo que hace la función GetImpresora, le pasas el nombre y te devuelve el índice.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 16:14:14.

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