Funçao ISPRINTER()
Enviado: 20 Fev 2016 17:04
pessoal... fuçando aqui na minhas velharias, encontrei um código de 2004 que já usei no passado...
então entre as chamas, coloquei, pra que se der certo (alguém desvendar), pode ser a solução definitiva:
#pragma begin
Infelizmente, antes de fazer a chamada para teste, apenas compilar pra ser o comportamento já gera uma série de erros. Vejam:
Ela deveria enviar/receber um byte da impressora... então se não houver comunicação haverá um erro...
então entre as chamas, coloquei, pra que se der certo (alguém desvendar), pode ser a solução definitiva:
#pragma begin
Código: Selecionar todos
// Funções: PrintValor() e StatusPrint()
// Objetivo: Acessar a impressora através do BIOS
// Copyright(c) 1999-2016, MVinfo (Microvolution Informática)
// Todos os Direitos Reservados by RCOM
// ---------------------------------------------------------------
// Envia um byte para a impressora
void PrintValor(unsigned char Valor);
{
union REGS regs;
regs.h.ah = 0; // Servico de impressão
regs.h.al = Valor;
regs.x.dx = 0; // 0 é a porta LPT1, 1, a LPT2
int86(0x17,& regs,& regs); // Interrupção da impressora
}
// Ler o status da impressora
unsigned char StatusPrint(void)
{
union REGS regs;
regs.h.ah = 2; // Serviço 2 ler o status
regs.x.dx = 0; // 0 é a porta LPT1
int86(0x17,& regs,& regs); // Interrupção da impressora
return( regs.h.ah ); // Retorna um byte de status
}
#pragma enddumpCódigo: Selecionar todos
rotinas5.prg: In function 'StatusPrint':
rotinas5.prg:11689:15: error: storage size of 'regs' isn't known
rotinas5.prg:11692:4: warning: implicit declaration of function 'int86' [-Wimplicit-function-declaration]
rotinas5.prg:11689:15: warning: unused variable 'regs' [-Wunused-variable]
rotinas5.prg:11694:1: warning: control reaches end of non-void function [-Wreturn-type]E como chamá-la de dentro do código harbour?Alguém sabe como melhorar nossa função?
Ela deveria enviar/receber um byte da impressora... então se não houver comunicação haverá um erro...