Queridos amigos,
¿Hay alguna forma de que yo pueda comprobar si una impresora está fuera de línea o en línea
Recuerdos
Anser
comprobar si una impresora está fuera de línea o en línea
Freinds,
Tengo información de la http://www.fivetechsoft.com/forums/view ... hp?t=11418 hilo
Pero sin éxito para obtener la OffLine / estado de conexión de red de una impresora matriz de puntos
Recuerdos
Anser
Tengo información de la http://www.fivetechsoft.com/forums/view ... hp?t=11418 hilo
Pero sin éxito para obtener la OffLine / estado de conexión de red de una impresora matriz de puntos
Recuerdos
Anser
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Asi lo hago en una matriz d pto.anserkk wrote:Freinds,
Tengo información de la http://www.fivetechsoft.com/forums/view ... hp?t=11418 hilo
Pero sin éxito para obtener la OffLine / estado de conexión de red de una impresora matriz de puntos
Recuerdos
Anser
IF Empty( oPrint:hDC )
MsgStop( "La Impresora no esta Lista, enciendala"+CHR(13)+CHR(13)+;
"y/o verifique que este en ON LINE..."," ATENCION" )
RETURN NIL
ENDIF
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
Estimado José,
Gracias por la respuesta, pero el código no funcionó
Recuerdos
Anser
Gracias por la respuesta, pero el código no funcionó
Code: Select all
if Empty( oPrn:hDC )
Recuerdos
Anser
Esto lo he sacado de un ost de este foro:
function IsPrint( QuePrinter )
LOCAL nStatus
DEFAULT QuePrinter := "LPT1:"
nStatus := PrnStatus( QuePrinter )
if nStatus < 1 ; return "Impressora OK"
elseif nStatus = 1 ; return "Impressora Pausada"
elseif nStatus = 2 ; return "Impressora com Erro"
elseif nStatus = 4 ; return "Impressora Deletando"
elseif nStatus = 8 ; return "Impressora em Modo Bandeja"
elseif nStatus = 16 ; return "Impressora Sem Papel"
elseif nStatus = 32 ; return "Impressora em Modo Manual"
elseif nStatus = 64 ; return "Impressora com Problema no Papel"
elseif nStatus = 128 ; return "Impressora OffLine"
elseif nStatus = 256 ; return "Impressora com IO Ativo"
elseif nStatus = 512 ; return "Impressora Ocupada"
elseif nStatus = 1024 ; return "Impressora Imprimindo"
elseif nStatus = 2048 ; return "Impressora Memoria Lotada"
elseif nStatus = 4096 ; return "Impressora Nao Instalada"
elseif nStatus = 8192 ; return "Impressora Aguardando"
elseif nStatus = 16384 ; return "Impressora Processando"
elseif nStatus = 32768 ; return "Impressora Inicializando"
elseif nStatus = 65536 ; return "Impressora em Atencao"
elseif nStatus = 131072 ; return "Impressora Toner Baixo"
elseif nStatus = 262144 ; return "Impressora Sem Toner"
elseif nStatus = 524288 ; return "Impressora PAGE_PUNT"
elseif nStatus = 1048576 ; return "Impressora Intervencao do Usuario"
elseif nStatus = 2097152 ; return "Impressora Sem Memoria"
elseif nStatus = 4194304 ; return "Impressora Tampa Aberta"
elseif nStatus = 8388608 ; return "Impressora Servidor Desconhecido"
elseif nStatus = 16777217 ; return "Impressora POWER_SAVE"
endif
Sino intenta con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
si da 0 debería ser porque no hay ninguna impresora activa
Sino a lo mejor con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
LOCAL nvert := GetDeviceCaps(hDCP,6) <------------- largo de pagina en mm
LOCAL nHorz := GetDeviceCaps(hDcp,4) <------------- ancho de pagiina en mm
Algún valor desproporcionado a lo mejor es porque la impresora no esta activa
Yo nunca lo he intentado. Si funciona, por favor, reseñalo aqui para que lo sepamos todos.
Espero que te sirva
Un saludo
function IsPrint( QuePrinter )
LOCAL nStatus
DEFAULT QuePrinter := "LPT1:"
nStatus := PrnStatus( QuePrinter )
if nStatus < 1 ; return "Impressora OK"
elseif nStatus = 1 ; return "Impressora Pausada"
elseif nStatus = 2 ; return "Impressora com Erro"
elseif nStatus = 4 ; return "Impressora Deletando"
elseif nStatus = 8 ; return "Impressora em Modo Bandeja"
elseif nStatus = 16 ; return "Impressora Sem Papel"
elseif nStatus = 32 ; return "Impressora em Modo Manual"
elseif nStatus = 64 ; return "Impressora com Problema no Papel"
elseif nStatus = 128 ; return "Impressora OffLine"
elseif nStatus = 256 ; return "Impressora com IO Ativo"
elseif nStatus = 512 ; return "Impressora Ocupada"
elseif nStatus = 1024 ; return "Impressora Imprimindo"
elseif nStatus = 2048 ; return "Impressora Memoria Lotada"
elseif nStatus = 4096 ; return "Impressora Nao Instalada"
elseif nStatus = 8192 ; return "Impressora Aguardando"
elseif nStatus = 16384 ; return "Impressora Processando"
elseif nStatus = 32768 ; return "Impressora Inicializando"
elseif nStatus = 65536 ; return "Impressora em Atencao"
elseif nStatus = 131072 ; return "Impressora Toner Baixo"
elseif nStatus = 262144 ; return "Impressora Sem Toner"
elseif nStatus = 524288 ; return "Impressora PAGE_PUNT"
elseif nStatus = 1048576 ; return "Impressora Intervencao do Usuario"
elseif nStatus = 2097152 ; return "Impressora Sem Memoria"
elseif nStatus = 4194304 ; return "Impressora Tampa Aberta"
elseif nStatus = 8388608 ; return "Impressora Servidor Desconhecido"
elseif nStatus = 16777217 ; return "Impressora POWER_SAVE"
endif
Sino intenta con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
si da 0 debería ser porque no hay ninguna impresora activa
Sino a lo mejor con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
LOCAL nvert := GetDeviceCaps(hDCP,6) <------------- largo de pagina en mm
LOCAL nHorz := GetDeviceCaps(hDcp,4) <------------- ancho de pagiina en mm
Algún valor desproporcionado a lo mejor es porque la impresora no esta activa
Yo nunca lo he intentado. Si funciona, por favor, reseñalo aqui para que lo sepamos todos.
Espero que te sirva
Un saludo
Peaaaaaso de foro...
Estimado Antolin,
Gracias por la respuesta. He intentado su solución, pero no alcanza a comprender el estado de la impresora, si la impresora está con o sin conexión
He intentado
Estoy recibiendo números aleatorios / valores (cada vez que intento me da valor diferente). Nunca he tengo el valor 0.
He intentado el comando mientras que la impresora está encendida y también mientras la impresora está apagada. Pero cada vez que la función está volviendo diferentes valores
También he intentado
nVert y nHorz es siempre dar el mismo resultado. No cambia como HDCP.
Estoy a la espera de encontrar una solución a este problema
Saludos
Anser
Gracias por la respuesta. He intentado su solución, pero no alcanza a comprender el estado de la impresora, si la impresora está con o sin conexión
He intentado
Code: Select all
HDCP:=GetPrintDefault( GetActiveWindow() )
He intentado el comando mientras que la impresora está encendida y también mientras la impresora está apagada. Pero cada vez que la función está volviendo diferentes valores
También he intentado
Code: Select all
nVert: = GetDeviceCaps(HDCP, 6)
nHorz: = GetDeviceCaps(HDCP, 4)
Estoy a la espera de encontrar una solución a este problema
Saludos
Anser
Antolin, esto te funciona??antolin wrote:Esto lo he sacado de un ost de este foro:
function IsPrint( QuePrinter )
LOCAL nStatus
DEFAULT QuePrinter := "LPT1:"
nStatus := PrnStatus( QuePrinter )
if nStatus < 1 ; return "Impressora OK"
elseif nStatus = 1 ; return "Impressora Pausada"
elseif nStatus = 2 ; return "Impressora com Erro"
elseif nStatus = 4 ; return "Impressora Deletando"
elseif nStatus = 8 ; return "Impressora em Modo Bandeja"
elseif nStatus = 16 ; return "Impressora Sem Papel"
elseif nStatus = 32 ; return "Impressora em Modo Manual"
elseif nStatus = 64 ; return "Impressora com Problema no Papel"
elseif nStatus = 128 ; return "Impressora OffLine"
elseif nStatus = 256 ; return "Impressora com IO Ativo"
elseif nStatus = 512 ; return "Impressora Ocupada"
elseif nStatus = 1024 ; return "Impressora Imprimindo"
elseif nStatus = 2048 ; return "Impressora Memoria Lotada"
elseif nStatus = 4096 ; return "Impressora Nao Instalada"
elseif nStatus = 8192 ; return "Impressora Aguardando"
elseif nStatus = 16384 ; return "Impressora Processando"
elseif nStatus = 32768 ; return "Impressora Inicializando"
elseif nStatus = 65536 ; return "Impressora em Atencao"
elseif nStatus = 131072 ; return "Impressora Toner Baixo"
elseif nStatus = 262144 ; return "Impressora Sem Toner"
elseif nStatus = 524288 ; return "Impressora PAGE_PUNT"
elseif nStatus = 1048576 ; return "Impressora Intervencao do Usuario"
elseif nStatus = 2097152 ; return "Impressora Sem Memoria"
elseif nStatus = 4194304 ; return "Impressora Tampa Aberta"
elseif nStatus = 8388608 ; return "Impressora Servidor Desconhecido"
elseif nStatus = 16777217 ; return "Impressora POWER_SAVE"
endif
Sino intenta con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
si da 0 debería ser porque no hay ninguna impresora activa
Sino a lo mejor con:
LOCAL hDCP := GetPrintDefault(GetActiveWindow())
LOCAL nvert := GetDeviceCaps(hDCP,6) <------------- largo de pagina en mm
LOCAL nHorz := GetDeviceCaps(hDcp,4) <------------- ancho de pagiina en mm
Algún valor desproporcionado a lo mejor es porque la impresora no esta activa
Yo nunca lo he intentado. Si funciona, por favor, reseñalo aqui para que lo sepamos todos.
Espero que te sirva
Un saludo
Saludos.
João Santos - São Paulo - Brasil