Etiqueta de Barras - HELP

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

Etiqueta de Barras - HELP

Mensagem por Cavalo Marinho »

Boa tarde pessoal, apos muito quebra de cabeça e sem solução vim pedir ajuda aos mestres. :%
Estou desenvolvendo etiquetas de barras com win32prn estava tudo indo ok com a função oPrinter:TextOut() mas não tinha como fazer linhas com espaçamento menores, então pesquisando vi que tem oPrinter:TextOutAt() que confere maior precisão onde imprimir o texto, só que está acontecendo o seguinte se eu imprimir um código de barras e apos imprimir um texto eu não consigo imprimir outro código de barras em seguida, ou seja mesmo eu setando a fonte EAN-13 a impressão fica um texto comum, segue um pequeno programinha que fiz para comprovar e testar.
ETQ.PRG
(1.74 KiB) Baixado 75 vezes
Segue tambem meu etq.hbp
-hbexe
-mt
-inc
-gtwvg
-lhbwin
-oEtq

Etq.PRG

Não sei porque o forum nao permite extensão .HBP
Estou compilando assim hbmk2 etq.hbp xhb.hbc
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Etiqueta de Barras - HELP

Mensagem por Eolo »

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

Etiqueta de Barras - HELP

Mensagem por Cavalo Marinho »

Eolo obrigado por responder
Dei uma boa olhada no post recomendado, fiz alterações no meu programinha exemplo, alterando posições (colocando fixas somente para teste) mas não funcionou, observe que no arquivo de exemplo em anexo eu coloquei comentários informando quando e como faz a barra e também onde não faz, estou ficando maluco :)´ já que no inicio com fonte EAN-13 imprime, com BARRAS BIRO não, e apos imprimir qualquer coisa com outra fonte não imprime mais, será um bug do WIN32PRN?, Estou usando harbour 3.2.
Anexos
ETQ.PRG
(2.5 KiB) Baixado 52 vezes
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Etiqueta de Barras - HELP

Mensagem por Eolo »

Printer:SetFont('Barras Biro',20,{3,7}, 400 )
setpos(50,800)
oPrinter:TextOutAt(50, 800, "7896445490086", .F., .F.)
* oPrinter:TextOutat(lar,alt,xxxxx,.f.,.f.,alinha(0))
Vc colocou o número do código de barras como argumento em TexOutAt(), direto, sem usar a função BARRAEAN13().

No meu exemplo do post citado, veja a variável "xxxxx":
priv xxxxx:=alltrim(str(nprod->nbarr))
if len(xxxxx)=13
xxxxx:=barraean13(xxxxx)
elseif len(xxxxx)=8
xxxxx:=barraean8(xxxxx)
else
xxxxx=padl(xxxxx,13,"0")
xxxxx:=barraean13(xxxxx)
endi
...
oPrinter:SetFont('Barras Biro',20,{3,7}, 400 )
...
oPrinter:TextOutat(lar,alt,xxxxx,.f.,.f.,alinha(0))
Dê uma conferida geral nos argumentos da SetFont().
Anexo o HELP do xHarbour, pra ajudar.

Vc usa cada hora de um jeito:
oPrinter:SetFont('Arial Black', 18, 0 , , , ,255)
oPrinter:SetFont('EAN-13',20,{3,7}, 400 )
oPrinter:SetFont('EAN-13',18,{1,12}, 0, .F., .F.)
Sobre o argumento “255”, eu faço o seguinte: deixo a tabela de caracteres default (que é a ANSI) e, quando vou imprimir qualquer texto não ANSI, aplico a OEMTOANSI(). Mesmo que o texto já seja ANSI, não tem problema. Só vai chover no molhado.
oPrinter:TextOutat(lar,alt,hb_oemtoansi(nome01),.f.,.f.,alinha(1))
A propósito: vc instalou a fonte Barras Biro no Windows?
Anexos
xHarbour Language Reference Guide.zip
(2.2 MiB) Baixado 71 vezes
Responder