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 22-08-2003
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
stasus impresora

Ayer muy amablemente delphi.com.ar, me dio una posile solución para saber el estado de la impresora antes de imprimir.

El codigo propuesto no funciona me da error interno de memoria.
code:--------------------------------------------------------------------------------
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;


Tambien Hizo referencia a crear una instancia de TPrinterStatus y utilizar sus propiedades.

¿ Me podias decir como concretamente como se crea esta instancia y como poder utilizar sus propiedades.?

Saludos y gracias anticipadas.

BOtones67

Última edición por botones67 fecha: 22-08-2003 a las 09:18:07.
Responder Con Cita
  #2  
Antiguo 22-08-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Verdaderamente, te recomiendo el otro método , porque utiliza las Apis del SPOOL de Windows... y no trabaja directamente con el puerto, creo haberte comentado que en algunas plataformas (NT) esto no esta permitido. Te he pasado los dos métodos, solo en carácter informativo, y lamento no tener tiempo como para darte una explicación resumida.
De todos modos, este código yo lo he probado anteriormente sin problemas, en un Win98... el único problema es que funciona bien solo con impresoras locales.

PD: Lee la guía de estilos, y evita crear nuevos hilos para un mismo tema.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 22-08-2003
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
Muchas gracias por perder tu tiempo conmigo.

Saludos.
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


La franja horaria es GMT +2. Ahora son las 18:15:40.


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