network print status

Post Reply
MGA
Posts: 1218
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

network print status

Post by MGA »

Tem alguma maneira de saber o status: on-line/off-line de uma impressora na rede?

Obrigado
ubiratanmga@gmail.com

FWH17.04
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
User avatar
anserkk
Posts: 1280
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Post by anserkk »

Estimado SGS

También estoy buscando una solución para averiguar el estado de la impresora de red. Hasta hoy no he encontrado una solución
Por favor, revise mis entradas

http://www.fivetechsoft.com/forums/view ... hp?p=69057

http://www.fivetechsoft.com/forums/view ... hp?p=69396

Gracias

Anser
MGA
Posts: 1218
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Post by MGA »

Gracias Anser,

pelo que observei não será facil a solução deste problema.


:cry:
ubiratanmga@gmail.com

FWH17.04
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
Rochinha
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo
Contact:

Post by Rochinha »

Execute el test:

Codigo:

Code: Select all

#include "FiveWin.ch"

Function main()
   aArray := GetPrinters()
   for i = 1 to len(aArray)
       cPrinterName := substr( aArray[i], 1, at( ",", aArray[i])-1 )
       ? "A impressora " + cPrinterName, IsPrint( alltrim( cPrinterName ) )
   next
   Return nil

Function GetPrinters()
   Local aPrinter := {}
   Local cAllEntries
   Local cEntry
   Local nStart
   Local cName
   Local cPrn
   Local cPort
   Local nJ 
   cAllEntries := STRTRAN( GetProfString( "Devices" ), Chr( 0 ), CRLF )
   For nStart := 1 To MlCount( cAllEntries )
       cName := MemoLine( cAllEntries,,nStart)
       cEntry := GetProfString( "Devices",cName,"")
       nJ := 2
       Do While ! Empty(cPort := StrToken(cEntry,nJ++,","))
          Aadd(aPrinter,Trim(cName)+" , "+Trim(cPort))
       EndDo
   Next
   Return(aPrinter)

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
Link http://www.5volution.com/forum/kapiaba.zip
MGA
Posts: 1218
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Post by MGA »

Rochinha, muito obrigado por responder, mais o seu exemplo sempre retorna IMPRESSORA OK, mesmo que uma impressora na rede não esteja ligada ou não esteja sequer conectada.

O que eu e o anser precisamos, é identificar se uma impressora na rede esta on line/off line.

Mesmo assim, muito obrigado.
:(
ubiratanmga@gmail.com

FWH17.04
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
User avatar
anserkk
Posts: 1280
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Post by anserkk »

Estimado Rochinha,

Como dice SGS, el código proporcionado por usted siempre da el mensaje de impresora en Aceptar, incluso si la impresora está fuera de línea.

Gracias

Anser
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post by Armando Picon »

El código se utiliza para ver si hay una impresora registrada en Win.Ini, solamente... no sirve para averiguar si está activa !!!
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Post Reply