Página 1 de 1

impressão do codigo de barras

Enviado: 16 Ago 2016 14:04
por senun
Boa tarde, pessoal

inclui uma rotina para imprimir o codigo de barras.

porem não imprime o codigo de barras, imprime apenas os numeros que deveriam ser transformado em barras.

se eu mando imprimir via WordPad com as fontes correspondentes, imprime a barra normalmente.

testei em win xp e win7.

alguém pode me dar uma idéia do que pode ser ?


tcNumero:=35160108880652000170550010000017161000017163

GfGfFfGfGfFfFfFfGfFfGfFfFfGfFfFfFfGfFfGfGfFfFfFfFfGfGfFfGfFfFfFfGfFfFfGfGfFfGfFfFfGfFfGfFfFfGfFfGfFfFfGfFfFfFfGfGfFfFfGfGfFfFfG
Acima seria o código de barras com o numero convertido

35160108880652000170550010000017161000017163
Acima também seria o código de barras com os numeros normais

Minha rotina:

* as fontes devem ser instaladas no Windows
afontes:=oprinter:getfonts()

if !(ascan(afontes, { |aa| upper(aa[1]) == "BARRAS BIRO" } ) > 0 ) .and. ;
!(ascan(afontes, { |bb| upper(bb[1]) == "FREE3OF9" } ) > 0 ) .and. ;
!(ascan(afontes, { |cc| upper(cc[1]) == "ARIAL ROUNDED MT BOLD" } ) > 0 )
msginfo( "nao existem fontes instaladas", "atenção" )
break
endif
* mensagem = fonte ausente

// Esta rotina apenas converte os numeros em posiçoes da barra
cNum:=Barra25(tcnumero)

oPrinter:SetFont('Courier New', 12, 0 )
col=0 //oPrinter:mm_to_posX(10)
lin=350 //oPrinter:mm_to_posY(10)
oPrinter:TextOutAt(col,lin,"*"+tcnumero+"*",.t.,.f.,0)

col=10 //oPrinter:mm_to_posX(10)
lin=1020 //oPrinter:mm_to_posY(30)

// Fonte enviada pelo ASimoes para imprimir a barra com numero convertido
oPrinter:SetFont('Free 3 of 9', 30, 0)
oPrinter:SetPrc( oPrinter:pRow()+2, 0 )
oPrinter:TextOut(cNum)

// Retornando a fonte normal para imprimir a mensagem
oPrinter:SetFont('Courier New', 12, 0 )
oPrinter:SetPrc( oPrinter:pRow()+2, 0 )
oPrinter:TextOut(ansitooem("Acima seria o código de barras"))

// Fonte enviada pelo ASimoes para imprimir a barra com numero normal
oPrinter:SetFont('Free 3 of 9', 30, 0)
oPrinter:SetPrc( oPrinter:pRow()+12, 0 )
oPrinter:TextOut(tcnumero)

// Retornando a fonte normal para imprimir a mensagem e fechar o documento
oPrinter:SetFont('Courier New', 12, 0 )
oPrinter:SetPrc( oPrinter:pRow()+2, 0 )
oPrinter:TextOut(ansitooem("Acima também seria o código de barras"))



utilizo Harbour com Fivewin

Grato,

impressão do codigo de barras

Enviado: 16 Ago 2016 15:39
por asimoes
Olá,

Senum,

Tem uma seção chamada Bibliotecas Visuais e Ides,

Tem o fórum para FiveWin

Qual é a versão do harbour que você tá usando?

impressão do codigo de barras

Enviado: 16 Ago 2016 17:04
por Kapiaba
Olá, o forum fivewin foi invadido por hackers novamente, veja se te ajuda estes exemplos em fivewin:

http://www.4shared.com/rar/JFQcrUGcba/CODEBAR.html

http://www.4shared.com/zip/S4Ix1OP4ba/BARLIB3.html

Abs.

impressão do codigo de barras

Enviado: 16 Ago 2016 18:55
por senun
Boa noite,

ASimoes,

obrigado pela atenção

uma versão do harbour é 0.9.9.3 e em outra 1.xx
os resultados são os mesmos..... no forum do fivewin já testei todos os exemplos postados..... e sempre o mesmo resultado..


Kapiaba,

obrigado pela atenção

o barlib3 já testei..... havia baixado deste mesmo local..... o resultado também foi o mesmo...

baixei o codbar...... ainda hoje farei um teste para ver o resultado.....


Grato a todos

impressão do codigo de barras

Enviado: 17 Ago 2016 08:13
por senun
bom dia a todos,

depois de passar a noite efetuando testes, consegui obter o resultado desejado.....

Quero agradecer a todos pela cooperação, principalmente a ASimoes e Kapiaba pelas dicas , sem as quais não teria logrado exito...

:)) :)) :)) :)) :))

impressão do codigo de barras

Enviado: 18 Ago 2016 10:07
por janio
E a solução foi...??????

outra coisa,

Poderia postar essa função oprinter:getfonts() ?

Janio

impressão do codigo de barras

Enviado: 19 Ago 2016 09:57
por asimoes
Janio,

Getfonts é um método:
ScreenShot001.png

impressão do codigo de barras

Enviado: 19 Ago 2016 10:11
por Kapiaba
Só um adendo:

Em Fivewin, não há necessidade disso. Principalmente, nas novas versões. abs.

impressão do codigo de barras

Enviado: 19 Ago 2016 12:30
por janio
Blz, ele pega as fontes que tem instaladas no windows!

Teria alguma função para INSTALAR FONTES NO WINDOWS?

Janio

impressão do codigo de barras

Enviado: 19 Ago 2016 12:59
por asimoes
Janio você pode usar uma fonte em tempo de execução:

Exe.:

Código: Selecionar todos


AddFont(hb_DirBase()+"FREE3OF9.TTF")

...

oPrn:SetFont('Free 3 of 9', 30, 0)  // fonte -> FREE3OF9.TTF

FUNCTION AddFont( cFonte )
LOCAL nRet := WAPI_AddFontResourceEx(cFonte)
RETURN Nil