não está dando erro, mas nStatus, sempre retorna 0 (zero), mesmo a impressora estando desligada e desconectada,
que teste eu poderia fazer para ver se realmente essa rotina está funcionando, vou precisar testa-la em
impressoras locais e em rede também.
Harbour 3.2.0dev modo console
Windows 7
//vcPrintOn é o nome da impressora selecionada.
local nStatus := PrintStat(vcPrintOn)
*local nStatus := PrnStatus(vcPrintOn)
if nStatus > 0 // Sempre retornando 0
Alert("Condicao da impressora: " + IsImpressora(vcPrintOn))
endif
return .t.
function IsImpressora( QuePrinter )
*****************************************
* Funcao para retornar a mesnagem de
* status da impressora
*****************************************
LOCAL nStatus
nStatus := PrintStat( QuePrinter )
if nStatus < 1 ; return "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
return(nil)