argox-os-214plus

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

Moderador: Moderadores

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

argox-os-214plus

Mensagem por jcsprog »

ola poderiam ajudar necessito muda a etiqueta de impressão colocando mais informações e mudou ou tamanho da mesma
para 7cm de comprimento e 8,5 cm largura 1 por fileira
funcionava corretamente mas faz muito tempo que estava assim
abaixo codigo atual na nOption == 2 estão os novos dados

Código: Selecionar todos

**************************************************************************************
PROCEDURE IMPETIQargox(p_peca,pn_peca,p_cores,p_validade,p_lote,p_data) 
**************************************************************************************
#Include "minigui.ch"
#include "winprint.ch"
local cArquivo := "Etiqueta.TXT" 
Local cCtr := chr(2), cEol := Hb_Eol(), N_ETIQ:=1
Local cPrinter,BUSCAR
local nOption:=0

BUSCAR:=Upper ( AllTrim ( InputBox( 'N.Etiquetas :' , 'Informe' ) ) )

N_ETIQ:=VAL(BUSCAR)    

nOption:=MsgOptions("Opções?","Etiquetas","Users.Bmp" , {"&Comum","&CRQ"},2,20,60) 

cPrinter := GetPrinter()

 SET DEVI TO PRIN
 SET PRIN TO ( cArquivo )

 @ Prow()+0, PCol() Say cCtr + "e" + cEol  // habilita o sensor gap
 @ Prow()+0, PCol() Say cCtr + "m" + cEol  // unidade em milimitro
 @ Prow()+0, PCol() Say cCtr + "M0300" + cEol // fixa o comprimento em 30mm
 @ Prow()+0, PCol() Say cCtr + "L" + cEol  // entra em modo formato etiqueta
 @ Prow()+0, PCol() Say "H20"   + cEol  // fixa temperatura vai de: H10 a H20 recomendavel H16
 @ Prow()+0, PCol() Say "D11"   + cEol  // Padrao para pixels

///         Y=linha   X=coluna
///1900 004 0190      0010
if nOption == 2
   @ Prow()+0, PCol() Say "190000402500020" + "MaxiPaint - Revestimentos Especiais" + cEol
   @ Prow()+0, PCol() Say "190000402200020" + "_____________________________________________" + cEol 
endif

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

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

 @ Prow()+0, PCol() Say "190000401700020" + p_cores + cEol 
 @ Prow()+0, PCol() Say "190000401700400" + "|Validade : "+ p_validade + 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" + p_lote + cEol 
 @ Prow()+0, PCol() Say "190000400300400" + "|"+dtoc(p_data) + cEol 

 if nOption == 2
   @ Prow()+0, PCol() Say "190000402200020" + "_____________________________________________" + cEol 
   @ Prow()+0, PCol() Say "190000402500020" + "C N P J :" + emp->cgc + cEol
   @ Prow()+0, PCol() Say "190000402200020" + "_____________________________________________" + cEol 
   @ Prow()+0, PCol() Say "190000402500020" + "C R Q   :" + emp->diretor + cEol
   @ Prow()+0, PCol() Say "190000402200020" + "_____________________________________________" + cEol 
 endif 

 @ 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 N_ETIQ
     PrintFileRaw( cPrinter, cArquivo, "Etiqueta Lote ->"+str(i,3) )
 next

 if etiqbranca
    ETIQ_B.RELEASE 
 endif
    
Return
Editado pela última vez por Itamar M. Lins Jr. em 12 Mar 2025 13:57, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
jcsprog
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

argox-os-214plus

Mensagem por Mario Mesquita »

Bom dia.

Ainda usa @ SAY? Não seria melhor usar algo mais "moderno" como a MiniPrint? Com ele dá pra definir tamanho de formulário, quando migrei do Clipper, achei melhor de usar...

Saudações,
Mario.
Avatar do usuário
developer
Usuário Nível 3
Usuário Nível 3
Mensagens: 149
Registrado em: 09 Nov 2024 23:45
Localização: Londrina/PR

argox-os-214plus

Mensagem por developer »

Bom dia Mario,

Onde consigo informação a respeito deste Miniprint?
Tem exemplo em algum lugar?

Obrigado
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

argox-os-214plus

Mensagem por Softwhouse »

Na MiniGUI.

C:\MiniGUI\SAMPLES|BASIC\MiniPrint
....\MiniPrint_2
.....\MiniPrint_3
Fernando
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

argox-os-214plus

Mensagem por Mario Mesquita »

Bom dia a todos.

Developer, deve ter na documentação da MiniGui, é ferramenta da IDE. Usa @ PRINT no lugar de @ SAY, tem comandos para criar linhas, formas geométricas, etc.

Deve ter exemplos no pacote do HMG, na pasta Samples. No caso do colega com etiqueta, uma coisa assim:

Código: Selecionar todos

cPrinter := GetPrinter()
   
SELECT PRINTER cPrinter PAPERSIZE PRINTER_PAPER_USER PAPERLENGTH 36 PAPERWIDTH 105 PREVIEW

START PRINTDOC
 
      xDt   := Frm_Etiq_Canc.DtP_Canc.Value
      xPos  := 1
      xLn   := 1 //5 //vLin[xPos] //nLinIni
      xCol  := 10 //5
      cCart := ALLTRIM(SETCART->NOM_CART) + "-" + ALLTRIM(SETCART->CIDADE) + "/RJ"
      cEnd  := ALLTRIM(SETCART->ENDERECO) + "-" + ALLTRIM(SETCART->COMPL)
    
      WHILE ! EOF() .AND. DTPAGTO == Frm_Etiq_Canc.Dtp_Canc.Value
        
         IF "CANCELADO" $ TITULOS->SITUACAO
             START PRINTPAGE

                 @ 7,xCol PRINT PADC(cCart,100) FONT "Times New Roman" SIZE 8 BOLD
                 xLn += 2 

                 @ 10,xCol PRINT PADC(cEnd,100) FONT "Times New Roman" SIZE 8 BOLD
                 xLn += 2.5
		
                 @ 13,xCol PRINT "Certifico e dou fé, atendendo a requerimento do interessado, e tendo em vista a quitação" FONT "Times New Roman" SIZE 7.5
                 @ 16,xCol PRINT "do título, os quais ficam arquivadas em pasta própria, que fica CANCELADO o protesto" FONT "Times New Roman" SIZE 7.5
              
   	         @ 19,xCol PRINT "lavrado no Livro " + ALLTRIM(TITULOS->LIVRO) + ", Fls " + ALLTRIM(STR(TITULOS->FOLHAS,5,0)) + ;
		                          " em " + DTOC(TITULOS->DTPAGTO) + ", nos termos do Artigo 26 da Lei" FONT "Times New Roman" SIZE 7.5
              
	        @ 22,xCol PRINT "nº 9492/97. Barra Mansa, "  + STRZERO(DAY(xDt),2,0) + " de " + CMES2(MONTH(xDt)) + " de " + ;
		                         STR(YEAR(xDt),4,0) + "."FONT "Times New Roman" SIZE 8
				
               @ 25,xCol PRINT "Selo Eletrônico: " + TITULOS->SELOCAN + " " + TITULOS->ALE_CAN FONT "Times New Roman" SIZE 8 BOLD
		
               xLn += 3
               xPos++
            END PRINTPAGE
         ENDIF
  
         DBSKIP()  
      END  
END PRINTDOC
Saudações,
Mario.
Responder