Migrar impressão lx300 80 colunas para impressora termica!

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

Moderador: Moderadores

Avatar do usuário
adilson
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 01 Fev 2008 07:02
Localização: americana - sao paulo

Migrar impressão lx300 80 colunas para impressora termica!

Mensagem por adilson »

Bom dia Amigos do forum !!
Gostaria de saber ser existe algum comando ( Chr por exemplo ) Para migrar uma impressão tabulada para a lx300 em uma impressora térmica ? garimpei na net e não consegui encontrar nada . obrigado !
Burroughs L3000 (4 kb ram) e B700,Labo 8034-8038 (Basic Nixdorf),Apple II plus,Clipper 5.2e e começando com xharbour 0.99.70
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Migrar impressão lx300 80 colunas para impressora termica!

Mensagem por asimoes »

Olá,

Eu uso Win_Prn() para impressoras térmicas bematech
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
adilson
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 01 Fev 2008 07:02
Localização: americana - sao paulo

Migrar impressão lx300 80 colunas para impressora termica!

Mensagem por adilson »

Olá Asimoes , no meu caso já tenho o arquivo para impressão pronto ex: vendas.txt , esse arquivo esta tabulado
para a lx300 ,com o win_prn() , consigo reduzir as colunas para a impressão na térmica ?
obrigado !!
Burroughs L3000 (4 kb ram) e B700,Labo 8034-8038 (Basic Nixdorf),Apple II plus,Clipper 5.2e e começando com xharbour 0.99.70
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Migrar impressão lx300 80 colunas para impressora termica!

Mensagem por Jairo Maia »

Olá Pessoal,

Impressoras térmicas são compatíveis com o modo RAW (ESC/POS), assim, qualquer impressão que era feita na LX 300 pode ser migrada para impressora térmica usando Win_PrintFileRAW().

O que não entendi é o que seria "impressão tabulada".
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)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Migrar impressão lx300 80 colunas para impressora termica!

Mensagem por asimoes »

adilson escreveu:consigo reduzir as colunas para a impressão na térmica ?
Consegue sim.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Migrar impressão lx300 80 colunas para impressora termica!

Mensagem por asimoes »

Um exemplo:

Código: Selecionar todos

METHOD ClImpBema:PrintWin( cPrinter, cArq ) 
LOCAL oPrn:=Nil, aPrn:=Win_PrinterList( .T., .F. ), __nColFixed, cLinha, oElemento, lImp:=.F.

   cPrinter := Hb_DefaultValue( cPrinter, Win_PrinterGetDefault() )
   cArq     := Hb_DefaultValue( cArq, "" )
   
   IF Empty( cArq )
      MsgStop( "Arquivo de impressão não informado", "Erro" )
      RETURN .F.
   ENDIF

   IF Empty( aPrn )
      MsgStop( "Não há impressoras instaladas", "Erro" )
      RETURN .F.
   ENDIF
   
   FOR EACH oElemento IN aPrn
      IF Upper( oElemento[1] ) = Upper( cPrinter )
         //oElemento[1] //Nome da impressora
         //oElemento[2] //Porta onde a impressora está ligada
         lImp:=.T.
      ENDIF
   NEXT
  
   IF ! lImp
      MsgStop( "Impressora " + cPrinter + " não está instalada." + Hb_Eol() + "Entre em contato com o helpdesk", "Erro" )
      RETURN Nil
   ENDIF
  
   oPrn := Win_Prn():New( cPrinter )

   oPrn:FormType   := WIN_DMPAPER_USER //WIN_DMPAPER_A4
   
   oPrn:LandScape  := .F.
   	
   nTL := MlCount( MemoRead( cArq ) ) / 5
   
   oPrn:PaperLength := 11.0 * 25.4 * nTL
   	
   oPrn:PaperWidth := 3 * 26.4 * 10
   
   oPrn:Copies := 1
 
   IF ! oPrn:Create()
      MsgStop( "Não foi criado documento.", "Erro de Impressão" )
      oPrn:Destroy()
      RETURN Nil
   ENDIF
  
   IF ! oPrn:StartDoc( "DocPrint" )
      MsgStop( "Erro na Impressora.", "Erro de Impressão" )
      oPrn:Destroy()
      RETURN Nil
   ENDIF
   
   oPrn:SetColor( HB_WIN_RGB_BLACK )
   
   oPrn:SetFont( "Lucida Console", 8, 0 )
   
   //oPrn:SetFont("Lucida Console", 5, { 3, -90 }, 700 ) //90 CPP

   __nColFixed := 0
  
   FT_FUSE( cArq )
   
   DO WHILE ! FT_FEOF()
      cLinha := FT_FREADLN()
      cLinha := IF( Empty( cLinha ), " ", cLinha )
      oPrn:SetPos( __nColFixed )
      oPrn:Textout( cLinha, .T. )
      FT_FSKIP()
   ENDDO
  
   FT_FUSE()
  
   oPrn:EndDoc()
   
   oPrn:Destroy()
   
   oPrn:=Nil

RETURN .T.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder