FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Impresora activa
Hola a todos.
tengo un Qrepor1 que quiero imprimir qrepor1.print ¿ hay alguna manera de saber si la impresora esta operativa antes de imprimir ? GRACIAS ANTICIPADAS. Botones67 |
#2
|
||||
|
||||
Estos dos links, muestran como averiguar el estado de la impresora:
http://www.experts-exchange.com/Prog..._20147343.html http://www.experts-exchange.com/Prog..._20118086.html (Ten en cuenta que el del TPrinterStatus, no creo que funcione en plataformas NT, porque trabajan en forma directa con el puerto) Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
hola de nuevo.
Y como se implementaria Tprinterstaus? Gracias por todo. |
#4
|
||||
|
||||
Solo tendrías que crear una instancia de esa clase y usar sus propiedades, asignándole previamente el puerto de la impresora, sinó por defecto toma la impresora que este conectada al LPT1.
¿Sabes como hacerlo? O puedes usar el otro código que hace lo mismo: Código:
function PrinterStatus : integer; asm mov ah, 2 // function 2 - returns status of port mov dx, 0 // lpt1 = 0, lpt2 = 1 etc int $17 // status in ah mov al, ah and eax, $FF // status now in eax with top 24 bits cleared end; const PrinterCodes : array [0..7] of string = ('printer timed-out', 'unused', 'unused', 'I/O error', 'printer selected', 'out of paper', 'printer acknowedgment', 'printer not busy'); procedure TForm1.Button1Click(Sender: TObject); var L,P : integer; begin P := PrinterStatus; //status of printer in P ListBox1.Clear; for L := 0 to 7 do if P and (1 shl L) <> 0 then ListBox1.Items.Add (PrinterCodes [L]); end;
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
|||
|
|||
Lo siento, no sé como hacerlo, indicame por favor.
|
#6
|
|||
|
|||
Delphi he probado tu codigo el que das para saber el estado de una impresora y me da una excepcion de memoria al hacer click sobre el boton, seguro que esta todo bien?. Lo he probado en windows xp sp2. Al estar basado sobre nt seguramente por eso no me va.
Última edición por serhasae fecha: 27-10-2005 a las 13:06:55. |
#7
|
||||
|
||||
Cita:
Vas a tener que hacerlo mediante GetPrinter. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
|