lunes, julio 30, 2012

Códigos de Barra QR sin usar la API de Google


Que tal Compañeros.

Navegando por la web, encontré una dll para la generación de códigos de barra de dos dimensiones QR.

Esta dll tiene una funcion llamada GenerateFile con la que de una manera simple, podemos generar el QR sin tantas complicaciones.

Código para generar un archivo

SET DEFAULT TO C:\DllQR\
DECLARE INTEGER GenerateFile ;
IN BarCodeLibrary.dll;
STRING cData, ;
STRING cFileName

GenerateFile("http://www.portalfox.com",'C:\DllQR\potalfoxQR.png')

            Texto a codificar       Archivo a generar

El archivo dll lo pueden descargar desde el sitio del creador.

O bien, la dll y ejemplo de código desde acá.

Solo basta recordarles que existen otros dos artículos del tema de QR:
Hasta la próxima!!


Baltazar Moreno
http://disxii.com
VFP9SP2 - Win7
Guadalajara, Jalisco, México

10 comentarios:

Unknown dijo...

Hay alguna libreria que genere este codigo de barras en memoria y no en un archivo?
Tengo un sistema que genera varias etiquetas en una sola orden de impresion y con informacion variable,se puede?

Baltazar Moreno dijo...

Lo que puedes hacer es crear una función que le mande llamar a la libreria que crea el QR y que dicha función te regrese el nombre del archivo creado El cual puedes estar guardando en archivos temporales de windows con un nombre aleatorio.

Saludos!

Carlos Tantachuco dijo...

probe este dll funciona pero necesito que los datos almacenados sean un resultado de una consulta :nit, nombre empresa, nro de factura,etc se puedeee..? intente pero no lo logro

Baltazar Moreno dijo...

Sí, claro que se puede, crea una funcion que reciba los datos a codificar y que te regrese el nombre del archivo generado.

Saludos!

Anónimo dijo...

Perdon no entiendo, tesgo estos datos, NIT=3102229014, Empresa=Carlos Tantachuco, Nro Factura=1, estos datos no se como lolocar a GenerateFile("Nit:NIT,Nom Empresa:EMPRESA,Fac:Factura",'\SIGEA\QR\MyQR.png')
cuando proceso no me sale error pero cuando quiero leer me sale Nit:NIT,Empresa:empresa,fac:Factura y no NIT:3102229014,Nom empresa:Carlos Tantachuco,Fac:1 por favor si me pudieras aclarar como hacerlo te agradeceria mucho

Baltazar Moreno dijo...

Podrias poner el código que usas?
Saludos!

Anónimo dijo...

SELECT Nit,Empresa,Nrofac FROM reporte ORDER BY Pag INTO CURSOR MyFactura
Coloco a unas variables

NitEmpresa=INT(VAL(Nit))RazonSocial=ALLTRIM(Empresa)
Nrofactura=NroFac

luego viene codigo para generar QR

DECLARE INTEGER GenerateFile;
IN \sigea\QR\BarCodeLibrary.dll;
STRING cData, ;
STRING cFileName
GenerateFil ("Nit:&NitEmpresa,Nom_Empresa:&RazonSocial,NroFac:NroFactura",'\SIGEA\QR\MyQR.png')
hay mas datos que debe tener este codigo pero te envio algunos nada mas

Baltazar Moreno dijo...

Intenta cambiando por:



lcCadena = "Nit:"+allt(transform(NitEmpresa))+",Nom_Empresa:"+allt(RazonSocial)+",NroFac:"+allt(transform(NroFactura))

GenerateFile (lcCadena,'\SIGEA\QR\MyQR.png')



Saludos!

Unknown dijo...

Excelente, muchas gracias

Unknown dijo...

Excelente, muchas gracias.