Página 2 de 4
Re: func getprinters() em harbour
Enviado: 17 Out 2010 08:23
por renato miranda
amigos, bom dia
ate criei um topico para isso, mas como to lendo TUDO e vi que vcs falam sobre impressao, olha a minha situacao: uso hbprinter e ao mandar imprimir no windows vista ou 7, TRAVA meu aplicativo - enm qualquer micro, e´ bom explicar !
aparece aquela tela esbranquiçada e o aplicativo deixa de funcionar !
to fazendo alguma besteira ? parece que o programa tenta criar um arquivo (o documeto a imprimir) e nao consegue e ai´ da´ pau !
alguem passou por isso ?
grato !
Re: func getprinters() em harbour
Enviado: 17 Out 2010 10:07
por Itamar M. Lins Jr.
Ola!
Já tentou aplicar privilégio de admin ao arquivo ?
Outra coisa importante é perguntar no forum oficial da Minigui também, caso não tenha feito...
Saudações,
Itamar M. Lins Jr.
Re: func getprinters() em harbour
Enviado: 10 Jan 2011 14:07
por braz
Itamar
Eu tentei compilar meu sistema com a funcao que vc postou mas deu varios erros, voce poderia postar as outras funcoes tambem que vc nao postou, obrigado.
Re: func getprinters() em harbour
Enviado: 10 Jan 2011 21:11
por Itamar M. Lins Jr.
Ola!
Quais os erros?
Está usando Harbour... ?
Saudações,
Itamar M. Lins Jr.
Re: func getprinters() em harbour
Enviado: 11 Jan 2011 11:59
por braz
Itamar M. Lins Jr. escreveu:Ola!
Quais os erros?
Está usando Harbour... ?
Saudações,
Itamar M. Lins Jr.
Eu to usando Xharbour fio, ou estou na seção errada?

(
Os erros são provenientes das funcoes que tem sua rotina e vc não colocou a disposição.
grato
Abrçs
Re: func getprinters() em harbour
Enviado: 12 Jan 2011 09:36
por Itamar M. Lins Jr.
Se você poder colocar um pequeno pedaço do seu sistema onde ocorre o erro ou dúvida fica melhor para nós respondermos.
Os erros são provenientes das funcoes que tem sua rotina e vc não colocou a disposição.
grato
Novamente se você não informar como irei saber ?
Quais são as funções que não coloquei a disposição ?
Saudações,
Itamar M. Lins Jr.
Re: func getprinters() em harbour
Enviado: 12 Jan 2011 14:48
por braz
Itamar M. Lins Jr. escreveu:Tem várias formas.
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.
Dessa forma podemos trabalhar com Gregos e Troianos, se bem que na Grecia o bixo tá pegando...
Saudações,
Itamar M. Lins Jr.
.
Esta rotina serve pra xharb ?
Se sim, voce precisa disponibilizar as funcoes para compilar (HB_CDPSelect("PT850"),HB_CDPSelect( "PTISO") , oPrn:startDoc("Imprimindo Documento").
:%
Re: func getprinters() em harbour
Enviado: 12 Jan 2011 19:22
por Itamar M. Lins Jr.
São funções do Harbour.
Para o xHarbour elas possuem outro nome, por exemplo.
Código: Selecionar todos
HB_SETCODEPAGE() -> HB_CDPSELECT()
WIN32PRN() -> WIN_PRN()
Sugiro verificar a possibilidade de atualizar para o Harbour.
Caso queira ficar usando o xHarbour verifique aqui no forum as mesmas funções, com outros nomes, pois não lembro de todas.
Procure no forum a classe WIN32PRN que é nome que tem a classe WIN_PRN no Harbour.
Saudações,
Itamar M. Lins Jr.
func getprinters() em harbour
Enviado: 02 Jul 2012 14:18
por ronnywdson
Boa tarde
Desculpe-me por ressuscitar um post antigo, mas estou passando pelo mesmo problema relatado aqui.
Linkei as lib´s xHB.lib e a hbWin.lib, mas o erro abaixo é apresentado. Nele a função ANSITOOEM não é encontrada.
Unresolved external '_HB_FUN_ANSITOOEM' referenced from C:\TESTE\OBJ\TESTE.OBJ
Como proceder?
Obrigado pela atenção
Ronny Wdson
func getprinters() em harbour
Enviado: 02 Jul 2012 14:36
por Toledo
Ronny, troque ANSITOOEM() por HB_ANSITOOEM().
Abraços,
func getprinters() em harbour
Enviado: 02 Jul 2012 15:32
por ronnywdson
Olha
Muito obrigado heim... acertou na mosca
Valeu pela força.
func getprinters() em harbour
Enviado: 02 Jul 2012 15:43
por ronnywdson
Começo esse POST pedindo desculpas por não ter perguntado isso na mensagem anterior.
Quando eu uso #define FORM_A4 9 e #define FORM_LT 1 eu estou defindo meu papel como sendo A4, é isso?
Se for, no meu caso eu preciso que o relatório seja impresso usando um formulário pronto da empresa (formulário contínuo e usando somente a metade da folha, pois ele já vem em duas vias e picotado no meio).
Como configurar para que no final do relatório ele pare na posição certa para o início da próxima impressão, tem jeito?
Obrigado novamente pela atenção
Att
Ronny Wdson
func getprinters() em harbour
Enviado: 02 Jul 2012 17:25
por Toledo
ronnywdson escreveu:Quando eu uso #define FORM_A4 9 e #define FORM_LT 1 eu estou defindo meu papel como sendo A4, é isso?
Mais ou menos... o tamanho do papel é definido no comando
oPrn :FormType. Nos comandos acima você está apenas criando as variáveis com o valor do formulário A4 (FORM_A4) e do formulário continuo completo (FORM_LT).
ronnywdson escreveu:(formulário contínuo e usando somente a metade da folha, pois ele já vem em duas vias e picotado no meio)
O tamanho padrão do formulário contínuo é 11 polegadas, então neste caso no lugar de usar FORM_A4 você deveria trocar por:
Código: Selecionar todos
oPrn :FormType := WIN_DMPAPER_USER
oPrn :PaperLength := 5.5*25.4*10
oPrn :PaperWidth := 8.5*25.4*10
Abraços,
func getprinters() em harbour
Enviado: 03 Jul 2012 00:27
por ronnywdson
Boa noite
Segui suas recomendações e coloquei o trecho postado no meu código.
Mas apresenta a mensagem: Error BASE/1003 Vari vel nÆo existe: WIN_DMPAPER_USER
O que falta para funcionar?
Obrigado mais uma vez
Ronny Wdson
func getprinters() em harbour
Enviado: 03 Jul 2012 00:40
por Toledo
Ronny, coloque o comando abaixo na primeira linha deste seu PRG:
Abraços,