Direcionamento da LPT1 em Habrour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Direcionamento da LPT1 em Habrour

Mensagem por Cavalo Marinho »

Boa noite pessoal
Para qual arquivo e onde o harbour joga a impressão quando direcionamos para LPT1:
Explicando melhor, quando o soft é compilado em clipper e o sistema envia um arquivo para LPT1 é criado um arquivo de nome PRNSPL na pasta C:\USERS\NOMEDOSUSUARIO\PRNSPL (windows 7) é assim que o spool do windows enviar este arquivo para impressora ou o DOSPRN que imprime para uma impressora USB sabe capturar este arquivo e envia para impressora que está conectada na usb e configurada do DOSPRN, acontece que no harbour não funciona deste jeito, quando enviamos para LPT1 e não tem impressora nesta porta o sistema simplesmente trava e não cria o arquivo como em clipper, fiz um teste em clipper e em harbour, quando rodo compilado no clipper é criado o arquivo PRNSPL mas em harbour não.
Alguém tem uma luz? assim posso configurar o DOSPRN para capturar na pasta onde o arquivo é criado.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Direcionamento da LPT1 em Habrour

Mensagem por alxsts »

Olá!

Veja os posts do Itamar M. Lins Jr. no tópico Set device to printer.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Direcionamento da LPT1 em Habrour

Mensagem por Cavalo Marinho »

Obrigado por responder
Acontece que converti meus sistema para harbour em modo console, não estou querendo mexer neles, está em fase de desenvolvimento uma versão em minigui, mais ainda vai demorar para ficar pronto, então preciso anda trabalhar no modo antigo, utilizando o DOSPRN para impressoras USB.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Direcionamento da LPT1 em Habrour

Mensagem por Itamar M. Lins Jr. »

Acontece que converti meus sistema para harbour em modo console,
A explicação pode ser usada em qualquer situação. CUI ou GUI. (Console Interface) ou (Graphical User Interface)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Direcionamento da LPT1 em Habrour

Mensagem por Itamar M. Lins Jr. »

Não precisa saber como funciona, as coisas assim do modo que vc está querendo saber, quem souber e quiser explicar ai, beleza.
O que vc precisa saber é que não é necessário usar o DOSPRN, nem set device to lpt1, nem preocupar-se como a impressora está instalada LPT1, USB etc...

Apenas mude a direção do seu antigo sistema(lpt1/com1/etc) para um arquivo qualquer(disco->"prn") e use hb_PrintFileRaw() p/ imprimir em qualquer impressora em qualquer porta, em qualquer lugar da rede.


Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Direcionamento da LPT1 em Habrour

Mensagem por Cavalo Marinho »

Boa tarde a todos
Amigos estou tentando fazer uns testes com printfileraw() e getdefaultprinter() mas não consigo compilar pois não encontro estas duas funções referenciadas, já setei set lib para a pasta do harbour etc, qual arquivo de lib.a que encontra-se estas duas funções?, :%
Utilizo minigui extend com mingw, preciso da lib com extensao .a
Desde já fico agradecido
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Direcionamento da LPT1 em Habrour

Mensagem por alxsts »

Olá!

É necessário linkar a lib HbWin. Coloque no teu arquivo .Hbp uma linha contendo -lHbWin
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Direcionamento da LPT1 em Habrour

Mensagem por Cavalo Marinho »

Boa noite AlxSts
Já tem esta linha ono meu .hbp, mas mesmo assim dar um erro que não encontra as funções referidas no post anterior
Veja o conteúdo do meu arquivo teste.hbp,

-hbexe
-mt
-inc
-gtwvg
-lhbwin
-oTeste

TESTE.PRG
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Direcionamento da LPT1 em Habrour

Mensagem por alxsts »

Olá!

O Itamar utiliza a HwGui. Você não usa. Então, nos exemplos do outro tópico, troque todas as chamadas à função hwg_Msgstop() pela função Alert().

Ainda naquele tópico, no post que contém o código da função PrintWinPrn(cArq,cPrint), existe uma constante manifesta (FORM_A4) mas não temos o arquivo include (.ch) que a define. Por enquanto, troque por um valor inteiro e teste (isto é chute). Talvez o Itamar poste o conteúdo deste arquivo .ch.

Quanto ao resto, seria muito mais fácil e objetivo ajudar se você postasse as mensagens de erro que são geradas na compilação.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Direcionamento da LPT1 em Habrour

Mensagem por Itamar M. Lins Jr. »

Isso porque na época que foi criado esses exemplos, não tinha a devida organização.
O correto(melhor) é:

Código: Selecionar todos

#include "hbwin.ch"
//Trocar FORM_A4 por WIN_DMPAPER_A4
oPrn : FormType  := WIN_DMPAPER_A4 //FORM_A4
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder