Ajuda para impressão em Argox

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

Moderador: Moderadores

Marcio_Carneiro
Usuário Nível 2
Usuário Nível 2
Mensagens: 70
Registrado em: 07 Abr 2008 15:37
Localização: Santo Antônio de Pádua - RJ

Ajuda para impressão em Argox

Mensagem por Marcio_Carneiro »

Olá, meus amigos.

Estou sofrendo para configurar uma impressão em Argox.

Já desenvolvi outras impressão nesta impressoras e deu certo.

Agora estou levando uma coça para definir o salto da impressão.

Já posicionei os dados na etiquetas, tá tudo certo.

O problema, é que entre uma etiqueta e outra, fica sempre uma branca.

Por exemplo, mando imprimir 4 etiquetas de um produto: ele imprime 2 etiquetas, salta 2 etiquetas em branco, e finaliza na outra carreira de etiqueta.

Já configurei na impressora, mas nada

Tamanho da etiqueta: 50mm x30 mm - 2 colunas.

O meu código é este:

Código: Selecionar todos

    @PROW(),pCOL() SAY "O0220"        
          @PROW()+1,00 SAY "V0"
          @PROW()+1,00 SAY "SE"
          @PROW()+1,00 SAY "D"
          @PROW()+1,00 SAY "L"
          @PROW()+1,00 SAY "D11"
          @PROW()+1,00 SAY "PE"
          @PROW()+1,00 SAY "A2" 
          @PROW()+1,00 SAY "F220" 
         
          
                                      
          
         @PROW()+1,00 SAY "1i5203801500023A"+CODIGO+"A"
         @PROW()+1,00 SAY "1911A1101300048"+CODIGO
                          *1911A1001500125
         @PROW()+1,00 SAY "1i5203801500226A"+CODIGO+"A"
         @PROW()+1,00 SAY "1911A1101300250"+CODIGO
         
         @ PROW()+1,00 SAY "1911A1001600115"+"R$"+Transform(preco,"@E 9,999.99")
         @ PROW()+1,00 SAY "1911A1001600314"+"R$"+Transform(preco,"@E 9,999.99")
         @ PROW()+1,00 SAY "131100001300125"+"PICOLELO"
         @ PROW()+1,00 SAY "131100001300325"+"PICOLELO"         
                
         @PROW()+1,00 SAY "1911A1002130015"+substr(descricao,1,22) 
         @PROW()+1,00 SAY "1911A1002130220"+substr(descricao,1,22)
         @prow()+1,00 SAY "1911A1001950015"+substr(descricao,23,17)
         @prow()+1,00 SAY "1911A1001950220"+substr(descricao,23,17)
                
          
                 
          @PROW()+1,00 SAY "Q"+strzero(etiquetas/2,4)
          @PROW()+1,00 SAY "E"
Já resetei a impressora, já calibrei. E nada.

Como agora estou ficando com a cabeça quente, apelo para os amigos.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Ajuda para impressão em Argox

Mensagem por Jairo Maia »

Olá Marcio,

Faça o teste removendo esse comando e veja o que acontece:

Código: Selecionar todos

@PROW()+1,00 SAY "F220"  // avanço da etiqueta
E o que é esse comando?:

Código: Selecionar todos

@PROW()+1,00 SAY "D"
Também na configuração, poderia definir o tamanho da etiqueta:

Código: Selecionar todos

@PROW()+1,00 SAY Chr(2)+"M0300"  // 30mm
Esse caractere "" é Chr( 2 )?
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Marcio_Carneiro
Usuário Nível 2
Usuário Nível 2
Mensagens: 70
Registrado em: 07 Abr 2008 15:37
Localização: Santo Antônio de Pádua - RJ

Ajuda para impressão em Argox

Mensagem por Marcio_Carneiro »

Obrigado pela atenção, Jairo

Esses comandos que você viu, eu há muito tempo atrás, quando fiz a primeira etiqueta para argox, criei a etiqueta no bartender, e imprimi para arquivo

Simplesmente copiei os comandos, e sim este sinal, é chr(2).

Não sei o que dizer deste comando "D"

Fiz o recomendado por você, mas se informo tamanho de etiqueta:

chr(2)+''m" //define milimetro
chr(2)+"M0300" //tamanho da etiqueta

Ela imprimi nas duas carreiras certas, mas os dados ficam todos embaralhados, como se imprimisse em cima do outro.

Se retiro, funciona, mas salta uma carreira entre etiquetas.

Minha diretiva são estas:

Código: Selecionar todos

  @ prow()+0, Pcol() say "e"
        @ PROW()+0, Pcol() say "L"
        @ PROW()+0, Pcol() say "H16"
        @ PROW()+0, Pcol() say "D11"
        @ PROW()+0, Pcol() say "O0220" 
Mas não consigo achar o erro, já configurei na definição da impressora os dados e nada.

O que mais o amigo pode me ajudar? Quais os comandos que utiliza para configurar suas impressões em ppla?

Marcio
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Ajuda para impressão em Argox

Mensagem por Jairo Maia »

Olá Marcio,

Compile e teste com esse exemplo (em PPLA), veja se vai sair em sequência:

Para compilar use: Hbmk2 exemplo -lhbwin

Código: Selecionar todos

Function Main()

 Local codigo := "7896098900253"
 Local preco := 1.80
 Local naosei := "PICOLELO"
 Local descricao := "Detergente Ypê Clear"
 Local etiquetas := 4

 PrintEtqArgox( codigo, preco, naosei, descricao, etiquetas )

Return Nil

Function PrintEtqArgox( codigo, preco, naosei, descricao, etiquetas )

 Local eol := Hb_EOL()  // Chr( 13 ) + Chr( 10 )
 Local cEtq, cArquivo := "TesteArgox.Txt"

 cEtq := Chr( 2 ) + "e" + eol      // se a etiqueta não tem "gap" (lacuna), não use esse comando para habilitar o sensor "gap"
 cEtq += Chr( 2 ) + "m" + eol      // unidade em milímitro
 cEtq += Chr( 2 ) + "M0300" + eol  // comprimento da etiqueta (aqui em 30mm)
 cEtq += Chr( 2 ) + "L" + eol      // modo etiqueta
 cEtq += "H16" + eol               // temperatura (intensidade de impressão)
 cEtq += "D11" + eol               // padrão em pixels

 cEtq += "1i5203801500023A"+CODIGO+"A" + eol
 cEtq += "1911A1101300048"+CODIGO + eol
 //                        *1911A1001500125
 cEtq += "1i5203801500226A"+CODIGO+"A" + eol
 cEtq += "1911A1101300250"+CODIGO + eol
         
 cEtq += "1911A1001600115"+"R$"+Transform(preco,"@E 9,999.99") + eol
 cEtq += "1911A1001600314"+"R$"+Transform(preco,"@E 9,999.99") + eol
 cEtq += "131100001300125" + naosei + eol
 cEtq += "131100001300325" + naosei + eol
                
 cEtq += "1911A1002130015"+substr(descricao,1,22) + eol
 cEtq += "1911A1002130220"+substr(descricao,1,22) + eol
 cEtq += "1911A1001950015"+substr(descricao,23,17) + eol
 cEtq += "1911A1001950220"+substr(descricao,23,17) + eol

 cEtq += "Q"+strzero(etiquetas/2,4) + eol  // quantidade
 cEtq += "E" + eol                         // imprime
 cEtq += "Q" + eol                         // esvazia a memória da impressora
 
 Hb_MemoWrit( cArquivo, cEtq )             // grava a etiqueta no arquivo TesteArgox.Txt
 
 cPrinter := MyPrinters()
 Clear Screen
 Win_PrintFileRaw( cPrinter, cArquivo, "Impressao de Etiqueta" )  // imprime a etiqueta
 
Func MyPrinters()  // escolhe a impressora
 Local i, nPrn, oPrn, nMaxLen := 0, aPNomes := {}
 Local aPrn := Win_PrinterList( .t., .f. )

 If Empty( aPrn )
  Hb_Alert( "Nenhuma impressora Instalada" )
  Return Nil
 Endif

 For i=1 To Len( aPrn )
  AaDd( aPNomes , aPrn[i,1] )
  nMaxLen := If( Len( aPrn[i,1] ) > nMaxLen, Len( aPrn[i,1] ), nMaxLen )
 Next

 Clear Screen

 nPrn := AChoice( 3, 1, Len( aPrn )+1, nMaxLen+1, aPNomes, .T., Nil , aPNomes )
 If nPrn = 0
  Return Nil
 Endi

 cPrinter := AllTrim( aPNomes[nPrn] )

Return cPrinter
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Marcio_Carneiro
Usuário Nível 2
Usuário Nível 2
Mensagens: 70
Registrado em: 07 Abr 2008 15:37
Localização: Santo Antônio de Pádua - RJ

Ajuda para impressão em Argox

Mensagem por Marcio_Carneiro »

Obrigado pela atenção.

Tentei compilar via linha de comando, deu um erro: error E0030 - LOCAL

Não entendo muito de compilação no harbour, somente utilizo o HMG 3.0.35, e mando ver.

Inclusive no meu não tem a função HB_EOL

Mas copiei sua função para meu prg, e imprimi a etiqueta toda embolada, impressão em cima de impressão.

Estou quebrando a cabeça e incomodando o amigo.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Ajuda para impressão em Argox

Mensagem por Jairo Maia »

Olá Márcio,

Faça um outro teste alterando o exemplo que passei. Na parte de configuração da impressora que está desta forma:

Código: Selecionar todos

cEtq := Chr( 2 ) + "e" + eol      // se a etiqueta não tem "gap" (lacuna), não use esse comando para habilitar o sensor "gap"
cEtq += Chr( 2 ) + "m" + eol      // unidade em milímitro
cEtq += Chr( 2 ) + "M0300" + eol  // comprimento da etiqueta (aqui em 30mm)
cEtq += Chr( 2 ) + "L" + eol      // modo etiqueta
cEtq += "H16" + eol               // temperatura (intensidade de impressão)
cEtq += "D11" + eol               // padrão em pixels
E comente a 2a e 3a linha como está abaixo:

Código: Selecionar todos

cEtq := Chr( 2 ) + "e" + eol      // se a etiqueta não tem "gap" (lacuna), não use esse comando para habilitar o sensor "gap"
//cEtq += Chr( 2 ) + "m" + eol      // unidade em milímitro
//cEtq += Chr( 2 ) + "M0300" + eol  // comprimento da etiqueta (aqui em 30mm)
cEtq += Chr( 2 ) + "L" + eol      // modo etiqueta
cEtq += "H16" + eol               // temperatura (intensidade de impressão)
cEtq += "D11" + eol               // padrão em pixels
Você tem o manual de programação dela em PPLA? Se não tiver e não conseguir encontrar informe, sei que tenho ele em algum pendrive e então posto.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
jcsprog
Usuário Nível 2
Usuário Nível 2
Mensagens: 63
Registrado em: 27 Abr 2005 12:04
Localização: sao paulo - jd.brasil

Ajuda para impressão em Argox

Mensagem por jcsprog »

Ola amigos utilizo a impressão assim : e necessito criar mais linhas na impressão e tambem vou utilizar uma etiqueta maior , na impressão abaixo esta sobrepondo as linhas quando acrescento outra linha teriam alguma solução, agradeço

utilizo argox os-214plus

Código: Selecionar todos

 SET DEVI TO PRIN
 SET PRIN TO ( cFileImp )
 
 @ Prow()+0, PCol() Say chr(2) + "O0220"
 @ Prow()+0, PCol() Say chr(2) + "m"
 @ Prow()+0, PCol() Say  chr(2) + "M0300"
 @ Prow()+0, PCol() Say  chr(2) + "c0000"
 @ Prow()+0, PCol() Say  chr(2) + "f500"
 @ Prow()+0, PCol() Say  chr(2) + "e"
 @ Prow()+0, PCol() Say  chr(2) + "LC0000"
 @ Prow()+0, PCol() Say  "H14"
 @ Prow()+0, PCol() Say  "D11"
 @ Prow()+0, PCol() Say  "SC"
 @ Prow()+0, PCol() Say  "PC"
 @ Prow()+0, PCol() Say  "R0000"
 @ Prow()+0, PCol() Say  "z"
 @ Prow()+0, PCol() Say  "W"
 
///         Y=linha   X=coluna
///1900 004 0190      0010

@ Prow()+0, PCol() Say "190000402500400" + "TETETETETETETETETETETETET" + cEol // titulo em fonte pequena

 @ Prow()+0, PCol() Say "190000402500020" + c_PECA + cEol // titulo em fonte pequena
 @ Prow()+0, PCol() Say "190000402500400" + "|"+c_nome + cEol 

 @ Prow()+0, PCol() Say "190000402200020" + "_____________________________________________" + cEol 

 @ Prow()+0, PCol() Say "190000401700020" + c_cores + cEol 
 @ Prow()+0, PCol() Say "190000401700400" + "|Validade : "+ c_valid + cEol 

 @ Prow()+0, PCol() Say "190000401400020" + "_____________________________________________" + cEol 

 @ Prow()+0, PCol() Say "190000400900020" + "N.Lote" + cEol 
 @ Prow()+0, PCol() Say "190000400900400" + "|Data Fabricacao" + cEol 

 @ Prow()+0, PCol() Say "190000400300020" + c_lote + cEol 
 @ Prow()+0, PCol() Say "190000400300400" + "|"+ c_data + cEol 

 @ Prow()+0, PCol() Say "E" + cEol // envia para a impressora
 @ Prow()+0, PCol() Say "Q" + cEol   // esvazia a memoria da impressora

 SET PRIN TO
 SET DEVI TO SCREEN

 cPrinter := GetDefaultPrinter() // pega impressora padrao
 for i:=1 to 2
     PrintFileRaw( cPrinter, cFileImp, "Etiqueta:"+str(i,3) )
 next

Return
Anexos
etiqueta.png
Editado pela última vez por Jairo Maia em 04 Abr 2025 06:25, em um total de 2 vezes.
jcsprog
jcsprog
Usuário Nível 2
Usuário Nível 2
Mensagens: 63
Registrado em: 27 Abr 2005 12:04
Localização: sao paulo - jd.brasil

Ajuda para impressão em Argox

Mensagem por jcsprog »

problema resolvido esqueci que o controle de linhas é diferente
agradeço mesmo assim
jcsprog
Responder