Introducción:
Siguiendo el ejemplo que se publicó en el canal de YouTube de Dora Sistemas, hoy traigo un nuevo ejemplo de lector de Código de Barras.
Empezamos:
He creado con Visual Studio una librería NetCore que es fácilmente importable en PowerBuilder desde la versión 2019 con la nueva opción .NET DLL Importer.
La diferencia de este ejemplo respecto a lo que se publicó en YouTube es que incorporo la capacidad de leer los código de barras generados.
Básicamente la librería que he creado en CSharp contiene 2 métodos, uno para lectura (of_readbarcode ) y otro para la generación (of_barcodegenerate).
Hay que decir que ambos métodos no sólo sirven para generar código Qr, si no que admiten una amplia variedad de formatos, pero para este ejemplo me he centrado en los códigos Qr.
Para usar la librería en PowerBuilder, después de importarla, he pensado en crear otra Clase No visual, por si hago modificaciones en mi proyecto de CSharp poder importar la dll sin miedo a perder algún cambio o adaptación.
En fin no me enrollo mas, que para ser mi primera entrada y el último día del año no esta mal....
He creado un video demo en Youtube:
06-12-2022: Proyecto descrito en articulo archivado. Nueva versión en repositorio con librería en .Net6 y PowerBuilder 2022 build 1892.
Os dejo el enlace de proyecto actual en GitHub:
Y proyecto en Visual Studio 2022:
github.com/rasanfe/ZxingBarcode
Para los que necesiten versiones anteriores como la descrita en este artículo:
Proyecto PowerBuilder 11.5 Build 2506
Proyecto PowerBuilder 12.6 build 3506
Proyecto Visual Studio 2022 NetCore 3.1 COM/ActiveX
Proyecto PowerBuilder 2019 build 2779
Proyecto PowerBuilder 2021 build 1509
Proyecto Visual Studio 2022 NetCore 3.1
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola Félix, yo quiero ir un paso más allá y buscar dentro de nuget una dll para generar códigos de qr en este ejemplo, pero se abriría un mundo a cualquier dll. Hasta ahora yo había utilizado snapdevelop para importar el paquete correspondiente, modificar el código c# y después generar la dll e importarla en mi proyecto. Estoy investigando como evitar ese paso y simplemente descargarme la dll de nuget, realizar .NET DLL Importer y a partir de ahí escribir el código PB correspondiente para generar el QR. ¿crees que esto es posible?. Este es el código que estoy utilizando, pero me retorna null.
ResponderEliminarPUBLIC:
String is_assemblypath = "C:\pruebas\Desktop\QRCoder.dll"
String is_classname = "QRCoder.QRCodeGenerator"
nvo_qrcodegenerator qrgenerator
qrgenerator = create nvo_qrcodegenerator
long ll_status
any qr
DotNetAssembly lnv_assembly
lnv_assembly = Create DotNetAssembly
ll_status = lnv_assembly.LoadWithDotNetFramework(qrgenerator.is_assemblypath )
ll_status = lnv_assembly.CreateInstance(qrgenerator.is_classname, qrgenerator)
qr = qrgenerator.CreateQrCode("Texto a incluir en el QR", 1)
// la función devuelve null
destroy qrgenerator
destroy lnv_assembly
Gracias
Hola Javier, mi nombre es Ramón, disculpa no haber contestado antes, pero lo he visto hoy tu comentario....
EliminarEn mi opinión lo que quieres hacer no se puede, tienes que crear la biblioteca de clases con Snapdevelop o Visual Studio y luego importar.
Siento no ser de mas ayuda, un saludo.