Page 1 of 3

Impresión de Códigos de Barra con TPrinter

Posted: Wed Jan 29, 2014 6:42 pm
by TOTOVIOTTI
Amigos,
estoy necesitando un pequeño ejemplo de impresión de códigos de barra con TPrinter
y no puedo encontrar nada.
Desde ya mil gracias!
Roberto

Re: Impresión de Códigos de Barra con TPrinter

Posted: Wed Jan 29, 2014 7:05 pm
by informaticaeloy
Hola. Pásame un mail y te mando algo. Un saludo.

Re: Impresión de Códigos de Barra con TPrinter

Posted: Wed Jan 29, 2014 7:13 pm
by TOTOVIOTTI
Eloy
r_viotti@hotmail.com
Muchas gracias!
Roberto

Re: Impresión de Códigos de Barra con TPrinter

Posted: Wed Feb 19, 2014 12:36 am
by jll-fwh
Hola Roberto:

Defines primero el codigo de barras:

Code: Select all

DEFINE FONT oFontB NAME "3 of 9 barcode" SIZE 0, -30 OF oPrn
Y luego para imprimir lo usas así:

Code: Select all

oPrn:CmSay( Fila, Columna, "número para el código de barras",oFontB )
RECUERDA: Tienes que tener instalado de antemano en fuente de código de barras en windows.

Sino tienes las funciones que instalan el FONT para el código de barras, aquí te dejo:

Code: Select all

#DEFINE HKEY_LOCAL_MACHINE  (0x80000002)
/*------------------------------------------------------------------------------*/
Function CheckBarCode( lInstall )
/*------------------------------------------------------------------------------*/
/* Funcion principal para instalar el FONT 3of9Barcode en el sistema            */
/*------------------------------------------------------------------------------*/

   local cWinFontsFolder, cFontFile, oFontBarCode

   local cKey, oReg

   if lInstall == nil
      lInstall := .t.
   endif

   cKey := "Software\Microsoft\Windows NT\CurrentVersion\Fonts"
   oReg := TReg32():New( HKEY_LOCAL_MACHINE, cKey )

   // need name of font to install here
   cFontFile  := oReg:Get( '3 of 9 Barcode (TrueType)' )

   oReg:Close()

   lIsBarcode := !empty( cFontFile )

   if .not. lIsBarCode .and. lInstall
      InstallBarCode()
      cFontFile  := oReg:Get( '3 of 9 Barcode (TrueType)' )
      oReg:Close()
      lIsBarcode := !empty( cFontFile )
   endif

return( lIsBarcode)
/*------------------------------------------------------------------------------*/
STATIC Function InstallBarCode()
/*------------------------------------------------------------------------------*/
/* Funcion para instalar el FONT 3of9Barcode en el sistema                      */
/*------------------------------------------------------------------------------*/

   local cWindowsDir
   local oShellApplication
   local oShell
   local oShellFSO
   local cFontFile
   local cFontDir
   local cWinFontsFolder

   cWindowsDir := gete( "systemroot" )

   oShell = CreateObject("Shell.Application")
   oShellApplication := CreateObject( "Shell.Application" )
   oShell            := TOleAuto():New( "WScript.Shell" )
   oShellFSO         := TOleAuto():New( "Scripting.FileSystemObject" )

   /* cFontDir          := 'c:\jll1109\psitaconta\fonts'              */
   /* La carpeta origen del FONT en donde se ejecuta el programa + la */
   /* carpeta "FONTS"                                                 */
   cFontDir   := cFilePath( GetModuleFileName( GetInstance() ) ) + "Fonts"
   cFontFile  := '3of9.ttf'
   oNameSpace := oShellApplication:Namespace( cFontDir )
   oFont      := oNameSpace:ParseName( cFontFile )

   oFont:InvokeVerb("Install")

Return NIL
 
Un saludo
JLL

Re: Impresión de Códigos de Barra con TPrinter

Posted: Wed Feb 19, 2014 2:27 pm
by karinha
JLL, son estas fuentes?

http://www.free-barcode-font.com/

Regards, saludos.

Re: Impresión de Códigos de Barra con TPrinter

Posted: Wed Feb 19, 2014 4:01 pm
by jll-fwh
Hola karinha:

Aquí tienes el fuente:

https://www.dropbox.com/s/878m0l2ey54vy7o/3OF9.rar

Un Saludo
JLL

Re: Impresión de Códigos de Barra con TPrinter

Posted: Wed Feb 19, 2014 4:15 pm
by karinha
Muchas Gracias.

Re: Impresión de Códigos de Barra con TPrinter

Posted: Sun Jul 30, 2017 11:20 pm
by cnavarro
Alguien dispone de un font que funcione para imprimir EAN13, y que sea FREE?
No la encuentro

Re: Impresión de Códigos de Barra con TPrinter

Posted: Mon Jul 31, 2017 12:16 pm
by karinha

Re: Impresión de Códigos de Barra con TPrinter

Posted: Mon Jul 31, 2017 12:44 pm
by cnavarro
Joao conozco muy bien el gran trabajo de Cayetano y la libreria hb_zebra es otra posibilidad
Pero necesito para hacer unas pruebas un Font de Ean13
Gracias

Re: Impresión de Códigos de Barra con TPrinter

Posted: Mon Jul 31, 2017 1:26 pm
by karinha
Master, mira se és esto?

https://www.4shared.com/rar/Mipq8u3_ei/FONTSWIN.html

Saludos.

Re: Impresión de Códigos de Barra con TPrinter

Posted: Mon Jul 31, 2017 2:06 pm
by cnavarro
Joao, gracias
Esto si puede servirme, mas tarde te lo confirmo

Re: Impresión de Códigos de Barra con TPrinter

Posted: Mon Jul 31, 2017 2:20 pm
by cnavarro
Joao, gracias
SOLUCIONADO

Re: Impresión de Códigos de Barra con TPrinter

Posted: Mon Jul 31, 2017 5:33 pm
by karinha
Maestro, va a poner un ejemplo?

Regards, saludos.

Re: Impresión de Códigos de Barra con TPrinter

Posted: Mon Jul 31, 2017 6:07 pm
by cnavarro
Por supuesto, aqui lo tienes
Con oPrn funciona igual que en un SAY, seleccionando ese font

Code: Select all


#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"

   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 "Test" 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
      @ 080, 100 SAY oSay1 PROMPT cCode PIXEL FONT oFontText1 SIZE 100, 40
      @ 160, 100 SAY oSay2 PROMPT cCode PIXEL FONT oFontBar   SIZE 200, 60
      @ 240, 100 SAY oSay2 PROMPT cCode PIXEL FONT oFontBar1  SIZE 200, 60
   ACTIVATE WINDOW oWnd

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

Return NIL

 
Image