FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Impresi贸n de C贸digos de Barra con TPrinter
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Mon Jul 31, 2017 07:22 PM
En mi caso:



Code (fw): Select all Collapse
#include "Fivewin.ch"

Function Main()

   local oWnd
   local oBar
   local oBtt1
   local oBtt2
   local oSay1
   local oSay2
   local oSay3
   local oFontText1
   local oFontBar
   local oFontBar1
   // local cCode      := "12345678"
   // Codigo de Barras每:
   local cCode      := "7896714231143"  // Produto Farmaceutico.

   // C:\FWH1701\SAMPLES\EAN-13.TTF funciona perfecto
   AddFontResource( ".\Ean-13.ttf" )

   DEFINE FONT oFontText1 NAME "Arial"   SIZE  00, -36
   DEFINE FONT oFontBar   NAME "EAN-13"  SIZE  00, -36
   DEFINE FONT oFontBar1  NAME "EAN-13"  SIZE  20, -36

   DEFINE WINDOW oWnd FROM 0, 0 TO 660, 660 TITLE "Teste con EAN13.TTF" PIXEL

   oWnd:SetFont( oFontText1 )

   DEFINE BUTTONBAR oBar SIZE 48, 48 OF oWnd //2007

   DEFINE BUTTON oBtt1 PROMPT "Salir" OF oBar ACTION oWnd:End() TOOLTIP "Salir" CENTER

   oBtt1:nWidth := 96

   //oBar:aControls[ 1 ]:nWidth := 96

   @ 060, 100 SAY oSay1 PROMPT "Produto: " PIXEL FONT oFontText1 SIZE 150, 40

   @ 100, 100 SAY oSay1 PROMPT cCode PIXEL FONT oFontText1 SIZE 260, 40

   @ 160, 100 SAY oSay2 PROMPT cCode PIXEL FONT oFontBar   SIZE 210, 60

   @ 240, 100 SAY oSay2 PROMPT cCode PIXEL FONT oFontBar1  SIZE 210, 60

   ACTIVATE WINDOW oWnd

   oFontText1:End()
   oFontBar:End()
   oFontBar1:End()

Return NIL


Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Tue Aug 01, 2017 12:10 PM

Hablando de impresion de codigo de barras,

Hace unos meses me top茅 con una [u:xvcvbfg2]impresora t茅rmica[/u:xvcvbfg2]. Utilic茅 la librer铆a BarLib de Cayetano, pero no imprim铆a nada. En cambio desde Word si imprim铆a sin ningun tipo de problema o configuraci贸n especial.

Probando, probando y probando resultaba que hab铆a que configurar, en mi fwh programa, el alto y ancho del papel (ojo que es continuo) a valores extra帽铆simos, que no se acercaban ni a la realidad. Tambi茅n tuve que imprimir rotando los SAYs, y unas cuantas peripecias m谩s.

Total que tuve que hacer una configuraci贸n de la impresi贸n muy rara para que al final si imprimiera.

Me dio la sensaci贸n que Word no utilizaba el mismo procesador de impresi贸n que mi fwh programa.

Por supuesto, delante del cliente qued茅 como Rufete en Lorca: Word imprimi贸 a la primera y yo tuve que dar m谩s de mil cabezazos para conseguirlo.

驴 Alguna idea o experiencia sobre el asunto ?

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Tue Aug 01, 2017 12:32 PM
Joao, en tu caso, que no instalas el font, al final de tu c贸digo, no deber铆as utilizar?

Code (fw): Select all Collapse
RemoveFontResource( ".\Ean-13.ttf" )


Saludos
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Tue Aug 01, 2017 01:10 PM
Pronto master. Many thanks.

Code (fw): Select all Collapse
#include "Fivewin.ch"

Function Main()

   local oWnd
   local oBar
   local oBtt1
   local oBtt2
   local oSay1
   local oSay2
   local oSay3
   local oFontText1
   local oFontBar
   local oFontBar1
   // local cCode      := "12345678"
   // Codigo de Barras每:
   local cCode      := "7896714231143"  // Produto Farmaceutico.

   SetBalloon( .T. ) // Balloon shape required for tooltips
   SkinButtons()     

   // C:\FWH1701\SAMPLES\EAN-13.TTF funciona perfecto
   AddFontResource( ".\Ean-13.ttf" )

   DEFINE FONT oFontText1 NAME "Arial"   SIZE  00, -36
   DEFINE FONT oFontBar   NAME "EAN-13"  SIZE  00, -36
   DEFINE FONT oFontBar1  NAME "EAN-13"  SIZE  20, -36

   DEFINE WINDOW oWnd FROM 0, 0 TO 660, 660 TITLE "Teste con EAN13.TTF" PIXEL

   oWnd:SetFont( oFontText1 )

   DEFINE BUTTONBAR oBar SIZE 48, 48 OF oWnd //2007

   DEFINE BUTTON oBtt1 PROMPT "Salir" OF oBar ACTION oWnd:End() TOOLTIP "Salir" CENTER

   oBtt1:nWidth := 96

   //oBar:aControls[ 1 ]:nWidth := 96

   @ 060, 100 SAY oSay1 PROMPT "Produto: " PIXEL FONT oFontText1 SIZE 150, 40

   @ 100, 100 SAY oSay1 PROMPT cCode PIXEL FONT oFontText1 SIZE 260, 40

   @ 160, 100 SAY oSay2 PROMPT cCode PIXEL FONT oFontBar   SIZE 210, 60

   @ 240, 100 SAY oSay2 PROMPT cCode PIXEL FONT oFontBar1  SIZE 210, 60

   ACTIVATE WINDOW oWnd

   oFontText1:End()
   oFontBar:End()
   oFontBar1:End()

   RemoveFontResource( ".\Ean-13.ttf" )

   FreeResources()
   SysRefresh()

   RELEASE All
   Hb_GCAll( .T. )

   CLEAR MEMORY
   PostQuitMessage( 0 )

   __QUIT()

Return NIL


Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Tue Aug 01, 2017 01:11 PM
hmpaquito wrote:Hablando de impresion de codigo de barras,

Hace unos meses me top茅 con una impresora t茅rmica. Utilic茅 la librer铆a BarLib de Cayetano, pero no imprim铆a nada. En cambio desde Word si imprim铆a sin ningun tipo de problema o configuraci贸n especial.

Probando, probando y probando resultaba que hab铆a que configurar, en mi fwh programa, el alto y ancho del papel (ojo que es continuo) a valores extra帽铆simos, que no se acercaban ni a la realidad. Tambi茅n tuve que imprimir rotando los SAYs, y unas cuantas peripecias m谩s.

Total que tuve que hacer una configuraci贸n de la impresi贸n muy rara para que al final si imprimiera.

Me dio la sensaci贸n que Word no utilizaba el mismo procesador de impresi贸n que mi fwh programa.

Por supuesto, delante del cliente qued茅 como Rufete en Lorca: Word imprimi贸 a la primera y yo tuve que dar m谩s de mil cabezazos para conseguirlo.

驴 Alguna idea o experiencia sobre el asunto ?


Cual 茅s la impresora t茅rmica?

Saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Tue Aug 01, 2017 02:09 PM


Habia olvidado el codigo

Code (fw): Select all Collapse
#include "Fivewin.ch"

REQUEST DBFCDX

Function Main()

   Test()

Return nil


//---------------------
function Test()

   local oDlg
   local oBrw
   local oCust
   local oFontBar
   local oFontBar1
   local oFontBar2

   // If you not install font
   //AddFontResource( ".\Ean-13.ttf" )


   //USE CUSTOMER NEW ALIAS CUST SHARED VIA "DBFCDX"

   DEFINE FONT oFontBar   NAME "EAN-13"  SIZE  00, -36
   DEFINE FONT oFontBar1  NAME "EAN-13"  SIZE  08, -24
   DEFINE FONT oFontBar2  NAME "EAN-13"  SIZE  20, -36

   oCust := TDataBase():Open( nil, "customer.dbf", "DBFCDX" )
   DEFINE DIALOG oDlg SIZE 800,500 TITLE "Test EAN13 Font - " + FWVERSION PIXEL TRUEPIXEL

   @ 60,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
      DATASOURCE oCust AUTOCOLS AUTOSORT ;  //"CUST"
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      //:lIncrFilter      := .t.
      //:lGetBar          := .t.
      :lSeekBar         := .t.
      :aCols[ 6 ]:oDataFont  := oFontBar1
      AEVal( :aCols, { | o | o:nHeadStrAlign  := AL_CENTER } )
      :CreateFromCode()
   END

   @ 20,20 SAY oBrw:oSeek PROMPT oBrw:cSeek SIZE 300,20 PIXEL OF oDlg COLOR CLR_BLACK,CLR_YELLOW

   ACTIVATE DIALOG oDlg CENTERED

   oFontBar:End()
   oFontBar1:End()
   oFontBar2:End()

   // If you not install font
   //RemoveFontResource( ".\Ean-13.ttf" )

return nil
//-------------
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Tue Aug 01, 2017 02:50 PM
Con preview:

http://imgur.com/8KPunIp



Saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Wed Aug 02, 2017 07:54 AM
Al hilo de este post tengo un codigo que puede interesar a alguien ....
Es una funci贸n que crea una imagen BMP,JPG,PNG con un codigo Qr , luego esa imagen puede usarse "como guste"

Code (fw): Select all Collapse
Function QrCodetoBMP( nLineWidth, nLineHeight, cVar, cfileName )   // cVar es el texto que queremos poner en el codigo qr.  
   local oBmp := GDIBmp():new()

   //local hZebra := hb_zebra_create_ean13( "477012345678" )
   LOCAL hZebra := hb_zebra_create_qrcode( cVar )
   LOCAL nFlags
   local nWidth, nHeight
   local hBmp, hGraf
   local hBrush  := GdiPlusNewSolidBrush( 255, 255, 255, 255 )
   local hBrush2 := GdiPlusNewSolidBrush( 255, 0, 0, 255 )

   nLineHeight := nLineWidth

   nWidht  := hb_Zebra_GetWidth ( hZebra, nLineWidth, nLineHeight, nFlags )
   nHeight := hb_Zebra_GetHeight( hZebra, nLineWidth, nLineHeight, nFlags )


   hBmp  := GDIPLUSBMPFROMBRUSH( nWidht + 2, nHeight+2, hBrush )
   hGraf := GDIPLUSHGRAFFROMHBMP( hBmp )

   hb_zebra_draw_gdip( hZebra, hGraf, hBrush2, 1, 1, nLineWidth, nLineHeight )

   oBmp:hBmp := hBmp

   GdiPlusDeleteGraphics( hGraf )
   GdiPlusDeleteBrush( hBrush )
   GdiPlusDeleteBrush( hBrush2 )

   HB_ZEBRA_DESTROY( hZebra )

   oBmp:Save( cFileName )
   oBmp:END()


Return nil
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Wed Aug 02, 2017 09:04 AM

Gracias Manuel
Como siempre, poni茅ndonos al dia

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Wed Aug 02, 2017 01:31 PM
Masters,

Que me falta?

Code (fw): Select all Collapse
脷脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛驴
鲁 FiveWin for xHarbour 17.01 - Jan. 2017          xHarbour development power 鲁脺
鲁 (c) FiveTech 1993-2017 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10 鲁脹
脌脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脛脵脹
每 脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽脽
Compiling...
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170215)
Copyright 1999-2017, http://www.xharbour.org <!-- m --><a class="postlink" href="http://www.harbour-project.org/">http://www.harbour-project.org/</a><!-- m -->
Compiling 'QRCODE3.prg' and generating preprocessed output to 'QRCODE3.ppo'...


QRCODE3.c:

Error: Unresolved external '_HB_FUN_HB_ZEBRA_GETWIDTH' referenced from C:\FWH1701\SAMPLES\QRCODE3.OBJ
Error: Unresolved external '_HB_FUN_HB_ZEBRA_GETHEIGHT' referenced from C:\FWH1701\SAMPLES\QRCODE3.OBJ
Error: Unresolved external '_HB_FUN_GDIPLUSBMPFROMBRUSH' referenced from C:\FWH1701\SAMPLES\QRCODE3.OBJ
Error: Unresolved external '_HB_FUN_GDIPLUSHGRAFFROMHBMP' referenced from C:\FWH1701\SAMPLES\QRCODE3.OBJ
Error: Unresolved external '_HB_FUN_HB_ZEBRA_DRAW_GDIP' referenced from C:\FWH1701\SAMPLES\QRCODE3.OBJ
Error: Unable to perform link
* Linking errors *


Code (fw): Select all Collapse
#Include "Fivewin.ch"
#Include "hbzebra.ch"

Function Main()

   LOCAL nLineWidth  := 500
   LOCAL nLineHeight := 500
   LOCAL cVar        := "TESTE DE QRCODE COM GDIPLUS"
   LOCAL cfileName   := "QRCODE.BMP"

   QrCodetoBMP( nLineWidth, nLineHeight, cVar, cfileName )

Return Nil

// cVar es el texto que queremos poner en el codigo qr.
Function QrCodetoBMP( nLineWidth, nLineHeight, cVar, cfileName )
  
   local oBmp := GDIBmp():new()
   //local hZebra := hb_zebra_create_ean13( "477012345678" )
   LOCAL hZebra := hb_zebra_create_qrcode( cVar )
   LOCAL nFlags
   local nWidht, nHeight
   local hBmp, hGraf
   local hBrush  := GdiPlusNewSolidBrush( 255, 255, 255, 255 )
   local hBrush2 := GdiPlusNewSolidBrush( 255, 0, 0, 255 )

   nLineHeight := nLineWidth

   nWidht  := hb_Zebra_GetWidth ( hZebra, nLineWidth, nLineHeight, nFlags )
   nHeight := hb_Zebra_GetHeight( hZebra, nLineWidth, nLineHeight, nFlags )


   hBmp  := GDIPLUSBMPFROMBRUSH( nWidht + 2, nHeight+2, hBrush )
   hGraf := GDIPLUSHGRAFFROMHBMP( hBmp )

   hb_zebra_draw_gdip( hZebra, hGraf, hBrush2, 1, 1, nLineWidth, nLineHeight )

   oBmp:hBmp := hBmp

   GdiPlusDeleteGraphics( hGraf )
   GdiPlusDeleteBrush( hBrush )
   GdiPlusDeleteBrush( hBrush2 )

   HB_ZEBRA_DESTROY( hZebra )

   oBmp:Save( cFileName )
   oBmp:END()

Return nil


Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Wed Aug 02, 2017 07:11 PM
Faltan funciones .... :-)

Code (fw): Select all Collapse
FUNCTION hb_zebra_draw_gdip( hZebra, hGraf, hBrush, ... )

   hb_zebra_draw( hZebra, {| x, y, w, h |  GDIPLUSDRAWRECT( hGraf,,hbrush,x, y, w, h ) }, ... )

RETURN 0

//------------------------------------------------------------------------------

FUNCTION hb_Zebra_GetWidth ( hZebra, nLineWidth, nLineHeight, iFlags)
*-----------------------------------------------------------------------------------------------*
LOCAL x1:= 0, y1 := 0, nBarWidth := 0, nBarHeight := 0
   // always --> nBarHeight = nLineHeight
   IF hb_zebra_GetError( hZebra ) != 0
      RETURN HB_ZEBRA_ERROR_INVALIDZEBRA
   ENDIF
   hb_zebra_draw ( hZebra, {| x, y, w, h | nBarWidth:=x+w-x1, nBarHeight:=y+h-y1 }, x1, y1, nLineWidth, nLineHeight, iFlags )
RETURN nBarWidth

*-----------------------------------------------------------------------------------------------*
FUNCTION hb_Zebra_GetHeight ( hZebra, nLineWidth, nLineHeight, iFlags)
*-----------------------------------------------------------------------------------------------*
LOCAL x1:= 0, y1 := 0, nBarWidth := 0, nBarHeight := 0
   // always --> nBarHeight = nLineHeight
   IF hb_zebra_GetError( hZebra ) != 0
      RETURN HB_ZEBRA_ERROR_INVALIDZEBRA
   ENDIF
   hb_zebra_draw ( hZebra, {| x, y, w, h | nBarWidth:=x+w-x1, nBarHeight:=y+h-y1 }, x1, y1, nLineWidth, nLineHeight, iFlags )
RETURN nBarHeight


Para gdiplus.cpp


Code (fw): Select all Collapse
HB_FUNC( GDIPLUSDRAWRECT )
{
   Graphics * graphics = ( Graphics * ) hb_parptr( 1 );
   float nLeft   = hb_parnd( 4 );
   float nTop    = hb_parnd( 5 );
   float nWidth  = hb_parnd( 6 );
   float nHeight = hb_parnd( 7 );

    if HB_ISPOINTER( 3 )    // if brush-object
    {
       Brush * brush = ( Brush * ) hb_parptr( 3 );
       graphics->FillRectangle( brush, nLeft, nTop, nWidth, nHeight );
    }

    if HB_ISPOINTER( 2 )    //if pen-object
    {
       Pen * pen = ( Pen * ) hb_parptr( 2 );

       graphics->DrawRectangle( pen, nLeft, nTop, nWidth, nHeight );
    }
}

HB_FUNC( GDIPLUSBMPFROMBRUSH )
{

  int nWidth =  hb_parni( 1 );
  int nHeight = hb_parni( 2 );

  Brush * brush = ( Brush * ) hb_parptr( 3 );
  Bitmap * newImage = new Bitmap(nWidth, nHeight );

  Graphics * g =  new Graphics( newImage );
  g->FillRectangle( brush, 0, 0, nWidth, nHeight );

  delete g ;
  //delete brush ;
  hb_retptr( newImage );

}

HB_FUNC( GDIPLUSHGRAFFROMHBMP)
{
   Bitmap * newImage = ( Bitmap * ) hb_parptr( 1 );
   Graphics * graphics = new Graphics( newImage );
   hb_retptr( graphics );
}
Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Wed Aug 02, 2017 09:17 PM

Hola Mastintin

Es posible emitir del BMP del codigo QR en memoria ?

Es decir, no escribirla en disco. El motivo es que casi siempre se adiciona a un documento, y se tiene que hacer tres operaciones una e escritura del QR, otra de lectura del mismo y una mas de escritura con el docuemento que al final se adiciona. (creo que es mucho tiempo de proceso para un codigo QR).

Saludos

Visite Chiapas, el paraiso de M茅xico.
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Thu Aug 03, 2017 08:20 AM
devtuxtla wrote:Hola Mastintin

Es posible emitir del BMP del codigo QR en memoria ?

Es decir, no escribirla en disco. El motivo es que casi siempre se adiciona a un documento, y se tiene que hacer tres operaciones una e escritura del QR, otra de lectura del mismo y una mas de escritura con el docuemento que al final se adiciona. (creo que es mucho tiempo de proceso para un codigo QR).

Saludos


Si es posible :-)
pongo una variante de la misma funcion .... si le pasas el nombre del archivo de salida se graba y devuelve un hbitmap .... ojo luego destruir el hbitmap corre de tu cuenta .

Code (fw): Select all Collapse
Function QrCodetoBMP( nLineWidth, nLineHeight, cVar, cfileName )   // cVar es el texto que queremos poner en el codigo qr.  
   local oBmp := GDIBmp():new()

   //local hZebra := hb_zebra_create_ean13( "477012345678" )
   LOCAL hZebra := hb_zebra_create_qrcode( cVar )
   LOCAL nFlags
   local nWidth, nHeight
   local hBmp, hGraf
   local hBrush  := GdiPlusNewSolidBrush( 255, 255, 255, 255 )
   local hBrush2 := GdiPlusNewSolidBrush( 255, 0, 0, 255 )

   local  hBitmap    

   nLineHeight := nLineWidth

   nWidht  := hb_Zebra_GetWidth ( hZebra, nLineWidth, nLineHeight, nFlags )
   nHeight := hb_Zebra_GetHeight( hZebra, nLineWidth, nLineHeight, nFlags )


   hBmp  := GDIPLUSBMPFROMBRUSH( nWidht + 2, nHeight+2, hBrush )
   hGraf := GDIPLUSHGRAFFROMHBMP( hBmp )

   hb_zebra_draw_gdip( hZebra, hGraf, hBrush2, 1, 1, nLineWidth, nLineHeight )

   oBmp:hBmp := hBmp

   GdiPlusDeleteGraphics( hGraf )
   GdiPlusDeleteBrush( hBrush )
   GdiPlusDeleteBrush( hBrush2 )

   HB_ZEBRA_DESTROY( hZebra )

   if !Empty( cfileName )
       obmp:Save( cFileName )  
   endif
   hBitmap := oBmp:GetGDIhBitmap()
   oBmp:END()

Return hbitmap
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Thu Aug 03, 2017 02:31 PM
karinha wrote:
hmpaquito wrote:Hablando de impresion de codigo de barras,

Hace unos meses me top茅 con una impresora t茅rmica. Utilic茅 la librer铆a BarLib de Cayetano, pero no imprim铆a nada. En cambio desde Word si imprim铆a sin ningun tipo de problema o configuraci贸n especial...


Cual 茅s la impresora t茅rmica?

Saludos.



Godex G500
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impresi贸n de C贸digos de Barra con TPrinter
Posted: Thu Aug 03, 2017 08:14 PM
gracias Masters, no logro hacer funcionar.

Code (fw): Select all Collapse
C:\QRCODE3>Set hdir=C:\XHBBCC72 

C:\QRCODE3>Set bcdir=C:\bcc72 

C:\QRCODE3>Set fwhdir=C:\FwH1701 

C:\QRCODE3>rem @If Exist *.Obj      Del *.Obj 

C:\QRCODE3>If Exist GASFW.Exe Del GASFW.Exe 

C:\QRCODE3>REM -> Area dos Arquivos com Extens脝o *.PRG Gerados em FiveWin 

C:\QRCODE3>C:\XHBBCC72\bin\harbour QRCODE3       /m/n /iC:\FwH1701\include;C:\XHBBCC72\include;C:\bcc72\include /w0 /p   1>Erro.log 

C:\QRCODE3>C:\bcc72\bin\bcc32 -M -c -v -O2 -eQRCODE3.exe -IC:\XHBBCC72\include -IC:\bcc72\include QRCODE3.C       1>>Erro.log 

C:\QRCODE3>rem hdir=C:\XHBBCC72 

C:\QRCODE3>C:\bcc72\bin\bcc32 -M -c -v -O2 -IC:\XHBBCC72\include gdipfwh.cpp                                     1>>Erro.log 

C:\QRCODE3>If ErrorLevel 1 Type Erro.log   | More
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170215)
Copyright 1999-2017, http://www.xharbour.org <!-- m --><a class="postlink" href="http://www.harbour-project.org/">http://www.harbour-project.org/</a><!-- m -->
Compiling 'QRCODE3.prg' and generating preprocessed output to 'QRCODE3.ppo'...
Done.

Lines 172, Functions/Procedures 6, pCodes 525
Embarcadero C++ 7.20 for Win32 Copyright (c) 1993-2016 Embarcadero Technologies, Inc.
QRCODE3.c:
Embarcadero C++ 7.20 for Win32 Copyright (c) 1993-2016 Embarcadero Technologies, Inc.
GDIPFWH.CPP:
Warning W8022 c:\bcc72\include\windows\sdk\GdiplusHeaders.h 650: 'Bitmap::Clone(const Rect &,int)' hides virtual function 'Image::Clone()'
Error E2268 GDIPFWH.CPP 955: Call to undefined function 'hb_parvni' in function HB_FUN_GDIP_FILLRECT()
Error E2268 GDIPFWH.CPP 1004: Call to undefined function 'hb_parvnd' in function HB_FUN_GDIP_DRAWTEXT()
*** 2 errors in Compile ***


C:\QRCODE3>If ErrorLevel 1 Goto Exit 

C:\QRCODE3>REM C:\bcc72\bin\bcc32 -M -c -O2 -eQRCODE3.exe -IC:\XHBBCC72\include QRCODE3.c 

C:\QRCODE3>C:\bcc72\bin\ilink32 -Gn -aa -Tpe -s @Cx.Lnk 
Turbo Incremental Link 6.75 Copyright (c) 1997-2016 Embarcadero Technologies, Inc.
Fatal: Unable to open file 'GDIPFWX.OBJ'


Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341