func getprinters() em harbour
Moderador: Moderadores
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
func getprinters() em harbour
Para usar a função GetPrinters() em Harbour preciso de alguma lib?
Ou existe outra função já pronta em Harbour para listar as impressoras ?
Estou compilando Harbour em MinGW.
Reformulando:
Estou iniciando em Harbour, e preciso imprimir usando impressoras, tanto matriciais como laser, mas em ambos
os casos, imprimo sempre textos.
Após uma vasculhada no forum, encontrei bons exemplos, mas as funções que são usadas, não são
compatíveis com a versão de Harbour que uso, a qual foi atualizada em jan/2010. Já constatei que
GetPrinters() foi substituída por win_printerlist(), mas quando compilo, o Harbour me diz que não
foi encontrado nenhuma referencia sobre elas.
Como preciso imprimir somente textos, nada gráfico, qual minha melhor opção?
Agradeço a colaboraçao dos amigos.
Rosalvo
Ou existe outra função já pronta em Harbour para listar as impressoras ?
Estou compilando Harbour em MinGW.
Reformulando:
Estou iniciando em Harbour, e preciso imprimir usando impressoras, tanto matriciais como laser, mas em ambos
os casos, imprimo sempre textos.
Após uma vasculhada no forum, encontrei bons exemplos, mas as funções que são usadas, não são
compatíveis com a versão de Harbour que uso, a qual foi atualizada em jan/2010. Já constatei que
GetPrinters() foi substituída por win_printerlist(), mas quando compilo, o Harbour me diz que não
foi encontrado nenhuma referencia sobre elas.
Como preciso imprimir somente textos, nada gráfico, qual minha melhor opção?
Agradeço a colaboraçao dos amigos.
Rosalvo
-
toninhofwi
- Usuário Nível 1

- Mensagens: 31
- Registrado em: 23 Set 2009 22:35
- Localização: Catanduva-SP
Re: func getprinters() em harbour
Olá.
Você precisa da HBWin.LIB.
A função é esta: WIN_PrinterList()
o melhor é consultar os exemplos que tem na HBWIN porque há parâmetros que esta função aceita.
Se deseja usar a mesma sintaxe que usava no xharbour, use a XHB.LIB.
Toninho.
Você precisa da HBWin.LIB.
A função é esta: WIN_PrinterList()
o melhor é consultar os exemplos que tem na HBWIN porque há parâmetros que esta função aceita.
Se deseja usar a mesma sintaxe que usava no xharbour, use a XHB.LIB.
Toninho.
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: func getprinters() em harbour
Tentei localizar a Hbwin.lib mas não encontrei.
Enquanto isso, preciso então imprimir na Printer Default mesmo.
Como eu faço para imprimir o "arquivo.txt" na impressora default ?
Como postei lá na primeira, eu estou usando o Harbour de jan//2010 com MinGW.
Quem pode me ajudar ??
Enquanto isso, preciso então imprimir na Printer Default mesmo.
Como eu faço para imprimir o "arquivo.txt" na impressora default ?
Como postei lá na primeira, eu estou usando o Harbour de jan//2010 com MinGW.
Quem pode me ajudar ??
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: func getprinters() em harbour
Como está usando Mingw procure por libhbwin.arosalvo rosa escreveu:Tentei localizar a Hbwin.lib mas não encontrei.
Pode usar assim:Enquanto isso, preciso então imprimir na Printer Default mesmo.
Como eu faço para imprimir o "arquivo.txt" na impressora default ?
WIN_PRINTFILERAW( WIN_PRINTERGETDEFAULT() , "arquivo.txt", "Impressao de Conhecimento de Transporte" )
Todas as funções WIN_ depende que seja linkado a libhbwin.a
Código: Selecionar todos
WIN_PRINTEREXISTS() (antigo nome: PRINTEREXISTS())
WIN_PRINTERSTATUS() (antigo nome: XISPRINTER())
WIN_PRINTERPORTTONAME() (antigo nome: PRINTERPORTTONAME())
WIN_PRINTERLIST() (antigo nome: GETPRINTERS())
WIN_PRINTERGETDEFAULT() (antigo nome: GETDEFAULTPRINTER())
WIN_PRINTERSETDEFAULT() (antigo nome: SETDEFAULTPRINTER())
WIN_PRINTFILERAW() (antigo nome: PRINTFILERAW())
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: func getprinters() em harbour
Agora sim, esta lib vem junto com o Harbour. Beleza....
Vou linkar agora mesmo...
Valeu Leonardo, muito obrigado mais uma vez.
Rosalvo
Vou linkar agora mesmo...
Valeu Leonardo, muito obrigado mais uma vez.
Rosalvo
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: func getprinters() em harbour
Pessoal, eu já estou usando e compilando todas as funções que o Leonardo postou, todas funcionando ...
O que acontece é que o "arquivo.txt" vai para o spooler da impressora e a mesma trava.
Testei em mais de uma impressora e deu a mesma coisa. Será que tem algum comando antes da função para que possa imprimir ??
A Quem ajudar agradeço ...
Att,
Rosalvo
O que acontece é que o "arquivo.txt" vai para o spooler da impressora e a mesma trava.
Testei em mais de uma impressora e deu a mesma coisa. Será que tem algum comando antes da função para que possa imprimir ??
A Quem ajudar agradeço ...
Att,
Rosalvo
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: func getprinters() em harbour
Não pode usar "raw" em impressoras "for windows" tem que usar a classe win_prn().
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: func getprinters() em harbour
Ok, Itamar!
Então como ficaria a edição da Win_prn para Harbour + MinGw ?
Então como ficaria a edição da Win_prn para Harbour + MinGw ?
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: func getprinters() em harbour
Tem várias formas.
Mas vou colocar uma que uso:
Dessa forma podemos trabalhar com Gregos e Troianos, se bem que na Grecia o bixo tá pegando...
Saudações,
Itamar M. Lins Jr.
Mas vou colocar uma que uso:
Código: Selecionar todos
*********************************
Function PrintWinPrn(cArq,cPrint)
*********************************
*
*
Local oPrn, aPrn:=GetPrinters(), n := 0
if empty(aPrn)
MsgInfo('Não há impressoras instaladas')
return .f.
endif
If cPrint == Nil
cPrint := GetDefaultPrinter()
EndIf
oPrn := win_prn():New(cPrint)
oPrn :LandScape := .f.
oPrn :FormType := FORM_A4
oPrn :Copies := 1
oPrn:CharSet(255)
oPrn:setfont('Courier New',,12,,,,255)
if !oPrn:Create()
MsgInfo("Não foi criado documento")
return nil
EndIf
if !oPrn:startDoc("Imprimindo Documento")
MsgInfo("Erro na Impressora")
return nil
EndIf
HB_CDPSelect("PT850")
setprc(5,0)
cText := memoread(cArq)
nLinh := mlcount(cText)
For n := 1 to nLinh
oPrn:TextOut(ansitooem(memoline(cText,,n)),.t.)
Next
oPrn:EndDoc()
HB_CDPSelect( "PTISO")
Return .t.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: func getprinters() em harbour
Ok. Tem algum include para FORM_A4 ?
E quanto a ANSITOOEM ?
Tem lib ?
E quanto a ANSITOOEM ?
Tem lib ?
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: func getprinters() em harbour
Ops!
Eu uso o Harbour do SVN.
Mas essa função tem no xHarbour.
Saudações,
Itamar M. Lins Jr.
Código: Selecionar todos
#include 'hbcompat.ch'
#define FORM_A4 9
#define FORM_LT 1
Mas essa função tem no xHarbour.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: func getprinters() em harbour
O ansitooem é para imprimir os acentos corretamente. Inclusive na LX300.
Pode tirar se desejar.
Saudações,
Itamar M. Lins Jr.
Pode tirar se desejar.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: func getprinters() em harbour
Eu estou trabalhando com Harbour também, só que ele não encontrou referencia sobre esta função.
Será que não tem ela para linkar como um .prg ?
Será que não tem ela para linkar como um .prg ?
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: func getprinters() em harbour
Oi, linkou as xHB, hbWin ?
Obs! não necessáriamente nessa mesma ordem.
Saudações,
Itamar M. Lins Jr.
Obs! não necessáriamente nessa mesma ordem.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: func getprinters() em harbour
Beleza, só alegria. Muito obrigado Itamar.
Valeu mesmo.
Um abraço.
Rosalvo
Valeu mesmo.
Um abraço.
Rosalvo