Clipper On Line • Ver Tópico - Imprimir direto na Zebra TLP 2844

Imprimir direto na Zebra TLP 2844

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

Moderador: Moderadores

 

Imprimir direto na Zebra TLP 2844

Mensagempor rosalvo rosa » 26 Jan 2011 10:46

Olá amigos !

Recorro aos colaboradores deste forum para tentar superar uma dificuldade que estou encontrando :

Preciso imprimir etiquetas, não nescessariamente codigo de barras, textos mesmo, em impressora Zebra TLP 2844.

Pergunto :

Posso fazer isso direto pelo Harbour , sem depender de "PRESILO" ou outros ?

Como seria o Layout para definir a posição dos caracteres ?

Alguém teria um exemplo de código ?

Fico agradecido pela ajuda desde já.

Rosalvo.
Avatar de usuário

rosalvo rosa
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 10 Jan 2006 18:21
Cidade/Estado: Curitiba - PR
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Imprimir direto na Zebra TLP 2844

Mensagempor jamazevedo » 27 Jan 2011 13:19

Não é bicho de 7 cabeças:
funcion main()
            local cEtiqueta := ""
            local cArquivo  := "etiqueta.prn"
            local nHandle
       cEtiqueta := cEtiqueta + "Q104,24" + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "q831"    + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "rN"      + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "S4"      + CHR( 13 ) + CHR( 10 )
            cEtiqueta := cEtiqueta + "D10"  + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "ZT"      + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "JB"      + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "OD"      + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "R56,0"   + CHR( 13 ) + CHR( 10 )
       cEtiqueta := cEtiqueta + "N"       + CHR( 13 ) + CHR( 10 )
            cEtiqueta := cEtiqueta + "P1" + CHR( 13 ) + CHR( 10 )
            nHandle   := FCREATE( ( cArquivo ) , 0 )
       FWRITE( nHandle , cEtiqueta )
       FCLOSE( nHandle )
            /// No Linux imprimo, assim diretamente, através do comando LPR
            run ( "lpr -pNOME_DA_IMPRESSORA etiqueta.prn" )
            /// Em Windows ou Harbour se não estou enganado será assim:
            /// run ( "type etiquta.prn >prn" )
return   nil


O arquivo "etiqueta.prn" depois de gerado fica assim:
Q104,24
q831
rN
S4
D7
ZT
JB
OD
R56,0
N
B120,0,0,2,2,5,50,B,"02048001"
B480,0,0,2,2,5,50,B,"02048002"
P1


É só enviá-lo para impressora diretamente.

Os comando: Q, q, S, D, etc você tem que ler o manual da impressora para entender o significado.
______________________________________________________
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
jamazevedo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 29 Dez 2005 15:50
Cidade/Estado: Manaus - AM
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Imprimir direto na Zebra TLP 2844

Mensagempor rosalvo rosa » 27 Jan 2011 21:35

Obrigado José Airton!

Seu exemplo foi muito bom.
Vou tentar conseguir um manual da impressora.

O comando para imprimir, como vou comandar via USB, eu verifiquei aqui no forum, eu devo usar o PRINTFILERAW().

Um abraço.

Rosalvo.
Avatar de usuário

rosalvo rosa
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 10 Jan 2006 18:21
Cidade/Estado: Curitiba - PR
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 23 Jul 2018 23:25

jamazevedo escreveu:B120,0,0,2,2,5,50,B,"02048001"
B480,0,0,2,2,5,50,B,"02048002"
boa noite!
sei q o tópico é muito antigo, mas, preciso da ajuda, e, preferi não abrir outro desnessariamente.
Vejo q no resultado tem as linhas acima, mas, nas linhas de programação elas não existem.

O meu código já funciona na conversão para o harbour.
mas, ao tentar fazer uma migração para HMG 3.4.4 usando o FORM_WIN as minhas linhas abaixo:
     @ prow()+1,0 say 'A0,10,0,2,1,1,N,"&mDS_PRODL1"'
     @ prow()+1,0 say 'A280,10,0,2,1,1,N,"&mDS_PRODL1"'
     @ prow()+1,0 say 'A562,10,0,2,1,1,N,"&mDS_PRODL1"'

     @ prow()+1,0 say 'A0,31,0,2,1,1,N,"&mDS_PRODL2"'
     @ prow()+1,0 say 'A280,31,0,2,1,1,N,"&mDS_PRODL2"'
     @ prow()+1,0 say 'A562,31,0,2,1,1,N,"&mDS_PRODL2"'

     @ prow()+1,0 say 'A0,51,0,2,1,1,N,"&mDS_PRODL3"'
     @ prow()+1,0 say 'A280,51,0,2,1,1,N,"&mDS_PRODL3"'
     @ prow()+1,0 say 'A562,51,0,2,1,1,N,"&mDS_PRODL3"'

     @ prow()+1,0 say 'B1,66,0,E30,2,2,50,B,"&mCD_PRODUT"'
     @ prow()+1,0 say 'B280,66,0,E30,2,2,50,B,"&mCD_PRODUT"'
     @ prow()+1,0 say 'B562,66,0,E30,2,2,50,B,"&mCD_PRODUT"'

     @ prow()+1,0 say 'A0,131,0,2,1,1,N,"&mVR_PREVEN"'
     @ prow()+1,0 say 'A280,131,0,2,1,1,N,"&mVR_PREVEN"'
     @ prow()+1,0 say 'A562,131,0,2,1,1,N,"&mVR_PREVEN"'
     @ prow()+1,0 say 'P' + mQT_LINHAS


apresentaram erro de macro substituição. Alguém sabe dizer o que houve?
Já a última linha de código acima (mqt_linhas) apresentou o erro:
Error BASE/1081 Argument Error: +
Tudo bem que entendo que está se somando erroneamente:
P (C) + mQT_LINHAS (N) - realmente há incompatibilidade de String + numérico. Mas, por que na conversão de CLIPPER para HARBOUR seco funciona e de HARBOUR para HMG (modo gráfico) apresentou esse erro?
E, apresentou o erro das MACRO também?

grato
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 23 Jul 2018 23:25

alguém ajuda, por favor!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor Heero » 24 Jul 2018 09:08

microvolution,

Sugestão besta, mas por favor, tente assim:
@ prow()+1,0 say 'P' + str(mQT_LINHAS)
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 24 Jul 2018 12:05

Olá Heero bom dia!
Heero escreveu:@ prow()+1,0 say 'P' + str(mQT_LINHAS)

obrigado pela dica. parou de gerar o erro.
agora vou experimentar na impressora pra ver o que realmente acontece.
mas, a questão da macrosubstituição ainda gera erro.
grato.
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor Heero » 24 Jul 2018 12:07

microvolution,

O erro é apresentado na tela? Se sim pode postar aqui?
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 24 Jul 2018 12:20

Heero escreveu:O erro é apresentado na tela?
sim.
veja(m):

c:\hmg\etiqueta.prg(471) Error E0042 Macro of declared symbol 'A0,10,0,2,1,1,N ,"&mDS_PRODL1"'
observação muito importante:
1 - no clipper já funcionava assim:
2 - na migração de clipper para harbour pura já funcionava assim:
3 - agora quando resolvi migrar de harbour (modo console) para HMG 3.4.4 (modo 100% gráfico) é que apareceu esse erro.
grato!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor Heero » 24 Jul 2018 12:25

Você está declarando essas variáveis que tá usando como macro? Se sim tente não declara-las.

Fonte: viewtopic.php?f=4&t=12310
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 24 Jul 2018 13:14

Heero escreveu:Se sim tente não declara-las.
muito esquisito, mas, sua dica q eu vi no post q vc reportou funcionou.
vai entender né?
talvez um dos nobres colaboradoes como o JQuintas possa trazer uma explicação sobre essa declaração que não é aceita pelo harbour.
E foi muito bem dito, conforme o meu passo a passo:
1 - quando em clipper eu não as declarava como LOCAL, PRIVATE ou PUBLIC em lugar algum;
2 - quando migrei de clipper para harbour (modo console) também não as declarei;
3 - quando agora estou migrando todos os módulos externos do meu sistema para modo 100% gráfico, usando a HMG, ou GTWVW ou GTWVG, mas, neste caso específico estou usando a HMG 3.4.4 (não usando as outras que citei), resolvi declarar essas variáveis como LOCAL dentro da função de impressão das etiquetas.
4 - só pra desencargo de consciência, vou testar como PRIVATE dentro da função e como PUBLIC no início da FUNCTION MAIN pra ver no que vai dar e aí posto aqui pra todos saberem.
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 24 Jul 2018 13:28

5 - aceitou o comando PRIVATE;
6 - aceitou o comando PUBLIC;
7 - aceitou sem declarar nada.

Conclusão a grosso modo. O harbour não aceita a utilização de macro com declaração de apenas LOCAL.

Se, o JQuintas - nosso amigo e demais tiverem mais alguma opinião, sejam bem vindos.
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor Heero » 24 Jul 2018 14:34

Problema resolvido né? rs
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 24 Jul 2018 14:46

Heero escreveu:Problema resolvido né? rs

aparentemente sim.
agora só estou esperando chegar a impressora pra fazer o teste real nela.
imprimindo em PDF não dá o resultado que a gente quer ou imagina que sairá na impressora.
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Imprimir direto na Zebra TLP 2844

Mensagempor microvolution » 24 Jul 2018 14:48

Agora, aproveitando, nunca precisei via programação (já funciona há 20 anos assim), diminuir a velocidade ou imprimir mais escuro.
A impressora TLP2844 do cliente estragou, mandou pro conserto e quando voltou as etiquetas estão saindo um pouco claras.
Existe uma forma da gente aumentar o NEGRITO (escurecer a impressão)?

grato.
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro