Power Builder - Generar Código QR

 
Vista:
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 17/09/2021 01:12:27
Por si necesitan generar código QR en PB es mas sencillo de lo que parece.

Primero declaramos 2 Funciones globales externas(la segunda FullQRCode es opcional, yo no la utilizo pero se las dejo):

1
2
Function Boolean FastQRCode(String Texto,String FileName) Library "QRCodeLib.dll" ALIAS FOR "FastQRCode;Ansi"
Function Boolean FullQRCode(Integer AutoConfigurate,Integer AutoFit,Long Back, Long BarColor,String Texto,Integer CorrectionLevel,Integer Encoding,Integer MarginPixels,Integer ModuleWidth,Integer Heig,Integer Widt,String FileName) Library "QRCodeLib.dll" ALIAS FOR "FullQRCode;Ansi"

Para el botón Generar QR:
1
2
3
FileDelete("CodigoQR.bmp")
FastQrCode(sle_dato.text,"CodigoQR.bmp")
p_code.picturename = "CodigoQR.bmp"

Para el botón FULL QR:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Long ll_backcolor
Integer li_corrlevel, li_encoding, li_margin, li_modwith
 
FileDelete("CodigoFull.bmp")
 
if rb_blanco.checked   then ll_backcolor = 16777215
if rb_amarillo.checked then ll_backcolor = 65535
if rb_azul.checked     then ll_backcolor = 16728833
 
li_corrlevel = 1
li_encoding  = 1
li_margin    = 1
li_modwith   = 10
FullQRCode(1,1,ll_backcolor,0,sle_dato.text,li_corrlevel,li_encoding,li_margin,li_modwith,400,400,"CodigoFull.bmp")
 
p_code2.picturename = "CodigoFull.bmp
CodigoQR
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

Generar Código QR

Publicado por ANTONIO (1271 intervenciones) el 19/09/2021 05:00:49
Hola Adolfo:

Excelente aportación y mil gracias por compartirlo...

Tengo una pregunta, en esta librería se puede agregar una imagen al QR?...

He visto muchos lugares que sus QR llevan su logo en medio de la imagen del QR.


Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 20/09/2021 15:18:40
Lo que yo intentaría en tu lugar es mandar imprimir el codigo con PrintJob un Group Box (gb_gr) dentro de este group box colocas el Picture del Qr y dentro de este picture (encimado) otro picture que es la imagen que quieres, intenta leerlo porque no se si esto afecte la lectura del QR, eso es lo que yo intentaría


1
2
3
4
5
6
ULong Job
Boolean lb_setup
 
Job = PrintOpen("Codigo QR Pedido",True)
gb_qr.Print(Job,10,1)
PrintClose(Job)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por bunker (149 intervenciones) el 23/09/2021 05:23:15
Hola
Además de lo que Adolfo nos dice

Si usas PB2019 Puedes Usar la Api de Google
Tambien en Codexchanged en Appeon hay una app QRCodeGenerator con una dll incluida


saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por Clark (7 intervenciones) el 30/09/2021 05:03:17
Buenas Tardes
Por favor me podrías ayudar sobre generar QR
He seguido tus indicaciones como hacerlo en Power builder
Al ejecutar el programa cuando presiono el boton de generar QR sale un error en la linea 2 que es justo donde llamo la función FastQrCode(sle_dato.text,"CodigoQR.bmp")

Yo trabajo con Power builder 9
Con un windows 7 64bits

nota.-Tambien quise registrar el
regsvr32.exe c:\windows\SysWOW64\qrcodelib.dll pero no me deja
No es necesario registralo ?


Gracias
Clark






error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 30/09/2021 15:25:52
No es necesario registrar la .dll PERO si debe estar en la misma carpeta donde esta corriendo de programa.

Ya lo hice en PB 12.6, lo compilé a 32 bits y lo corri en una maquina con W7 a 64 bits y funcionó bien.

Te recomiendo que instales PB 12.6,

https://drive.google.com/file/d/1aGmqQCHkq3YUDjzOekO4SkFo9YDM3wbn/view
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por pbman (2 intervenciones) el 30/09/2021 19:29:59
Por favor, ¿pueden ayudarme? Necesito darme un archivo listo para usar en la versión 12.6 porque intenté hacer el ejemplo, pero al ejecutar, aparece un mensaje de error como está en los archivos adjuntos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 30/09/2021 19:40:19
Lo que significa ete mensaje de error es 1 de 2 cosas:

No has definido la función el área de Global external funcions
ó
El archivo qrcodelib.dll no este en la misma carpeta donde esta ejecutandose tu aplicación

o talvez las 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 30/09/2021 21:11:56
No te entiendo lo que quieres hacer.

Si tu caso codificar un qr con caracteres que no sean los UTF-8 entonces no se
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por Carolina (26 intervenciones) el 17/08/2022 20:59:50
.Hola Adolfo, siguiendo con este error (yo estoy probando ahora con los codigos QR), hice una ventana que tenia el ejemplo tal cual lo .pasaste.
Descargué de internet la libreria qrcodelib.dll y la instalé en 3 lugares: en el directorio C:\Marsalud que es donde tengo el exe y las librerías PBD, luego como no funcionaba y me da el mismo error arriba mencionado, la grabé en el directorio C:\archivos de programa (x86)\appeon\common\powerbuilder\Runtime 19.2.0.2728 (que es donde estan las librerias de entorno) y como seguia sin funcionar la grabe en C:\windows\system32 sigue sin funcionar
Luego revise la declaracion de la funcion acá te la envio la copie tal cual, abajo de otra que ya tenia declarada para el whatsapp:


Public Function unsignedlong FindWindow (long classname, string windowname) LIBRARY "user32.dll" ALIAS FOR FindWindowW
//Time Miliseconds (WSH)
SUBROUTINE Sleep(Long lMilliSec) LIBRARY "Kernel32.dll"
Function Boolean FastQRCode(String Texto,String FileName) Library "QRCodeLib.dll" ALIAS FOR "FastQRCode;Ansi"

Esto lo declare en Global External Functions

Acá esta el codigo del archivo w_generar_qr.srw que es la ventana del ejemplo:
$PBExportHeader$w_generar_qr.srw
forward
global type w_generar_qr from window
end type
type cb_salir from commandbutton within w_generar_qr
end type
type cb_qr from commandbutton within w_generar_qr
end type
type st_3 from statictext within w_generar_qr
end type
type p_code from picture within w_generar_qr
end type
type st_dni from statictext within w_generar_qr
end type
type st_1 from statictext within w_generar_qr
end type
type ddlb_pacientes from dropdownlistbox within w_generar_qr
end type
end forward

global type w_generar_qr from window
integer x = 667
integer y = 756
integer width = 2848
integer height = 1420
boolean titlebar = true
boolean controlmenu = true
windowtype windowtype = response!
long backcolor = 12632256
cb_salir cb_salir
cb_qr cb_qr
st_3 st_3
p_code p_code
st_dni st_dni
st_1 st_1
ddlb_pacientes ddlb_pacientes
end type
global w_generar_qr w_generar_qr

type variables
Datetime vfecha_anterior
end variables

event open;String vn_paciente
Long v_dni

This.Title = vtitulo_Ventanas

Declare prox cursor for Select n_paciente, nro_documento From Gtv_pacientes Where nro_documento is not null Order by n_paciente;

Open prox;
Do while Sqlca.sqlcode = 0
Fetch prox Into :vn_paciente, :v_dni;
If Sqlca.sqlcode = 100 then exit;
ddlb_pacientes.AddItem(vn_paciente + space(100) + String(v_dni))
Loop;
Close prox;
end event

on w_generar_qr.create
this.cb_salir=create cb_salir
this.cb_qr=create cb_qr
this.st_3=create st_3
this.p_code=create p_code
this.st_dni=create st_dni
this.st_1=create st_1
this.ddlb_pacientes=create ddlb_pacientes
this.Control[]={this.cb_salir,&
this.cb_qr,&
this.st_3,&
this.p_code,&
this.st_dni,&
this.st_1,&
this.ddlb_pacientes}
end on

on w_generar_qr.destroy
destroy(this.cb_salir)
destroy(this.cb_qr)
destroy(this.st_3)
destroy(this.p_code)
destroy(this.st_dni)
destroy(this.st_1)
destroy(this.ddlb_pacientes)
end on

event key;If KeyDown(KeyEscape!) then Close(this)
end event

type cb_salir from commandbutton within w_generar_qr
integer x = 1989
integer y = 204
integer width = 457
integer height = 116
integer taborder = 30
integer textsize = -12
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Tahoma"
string text = "Salir"
end type

event clicked;Close(parent)
end event

type cb_qr from commandbutton within w_generar_qr
integer x = 1440
integer y = 196
integer width = 457
integer height = 116
integer taborder = 20
integer textsize = -12
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Tahoma"
string text = "Generar QR"
end type

event clicked;FileDelete("CodigoQR.bmp")
FastQrCode(Trim(st_dni.text),"CodigoQR.bmp")
p_code.picturename = "CodigoQR.bmp"
end event

type st_3 from statictext within w_generar_qr
integer x = 37
integer y = 204
integer width = 667
integer height = 108
integer textsize = -12
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Tahoma"
long textcolor = 33554432
long backcolor = 12632256
string text = "Nro. Documento: "
boolean focusrectangle = false
end type

type p_code from picture within w_generar_qr
integer x = 78
integer y = 440
integer width = 2633
integer height = 832
boolean originalsize = true
string picturename = "C:\marsalud\CodigoQR.bmp"
boolean border = true
borderstyle borderstyle = StyleBox!
boolean focusrectangle = false
end type

type st_dni from statictext within w_generar_qr
integer x = 709
integer y = 196
integer width = 562
integer height = 116
integer textsize = -12
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Tahoma"
long textcolor = 33554432
long backcolor = 12632256
boolean focusrectangle = false
end type

type st_1 from statictext within w_generar_qr
integer x = 46
integer y = 36
integer width = 425
integer height = 108
integer textsize = -12
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Tahoma"
long textcolor = 33554432
long backcolor = 12632256
string text = "Paciente : "
boolean focusrectangle = false
end type

type ddlb_pacientes from dropdownlistbox within w_generar_qr
integer x = 485
integer y = 40
integer width = 1285
integer height = 756
integer taborder = 10
integer textsize = -10
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Tahoma"
borderstyle borderstyle = stylelowered!
end type

event selectionchanged;st_dni.text = Right(text, 8)

end event

No se si defini algo mal en la ventana o que puede estar pasandome y porque no me encuentra la funcion externa.
No se ya que es lo que pasa? No entiendo que mas mirar
Bueno muchas gracias, saludos!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por Clark (7 intervenciones) el 30/09/2021 21:59:13
Muchas Gracias por tu ayuda
Hice lo que me comentaste es decir instale el power builder 12 y ahora si funciona

Pero a generar el código QR sale es q una Demo ,sabes donde puedo adquirir esta dll sin este aviso

Atte.
Clark
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 30/09/2021 22:48:33
El QR o PB, porque he estado utilizando el QR y nunca me ha aparecido que que es un demo.

Si es el PB y descargaste de la liga que te pase, ahi viene el crack
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por Clark (7 intervenciones) el 01/10/2021 00:32:53
Tenías razón , fue error mío

ya sale correctamente el QR

Gracias



qrver
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por Jose (2 intervenciones) el 10/04/2024 20:19:03
Hola amigo, crees que podrias compartirme ese programita para la generacion de QR? He estado intentando con otros y no lo he logrado, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 10/04/2024 20:31:57
Que versión de PB tienes ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por Dario (13 intervenciones) el 12/04/2024 00:14:14
Hola con power 12.6 anda aca te lo paso saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por Jose (2 intervenciones) el 13/04/2024 23:03:59
Excelente le agradezco mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por Guillermo (72 intervenciones) el 22/12/2021 16:28:01
Hola Adolfo, tengo Power Builder 12.5 y también me sale el error en la línea 2, será que tengo que instalar si o si el Power Builder 12.6? Muchas gracias por la ayuda,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por yeshika minardi (5 intervenciones) el 23/04/2022 00:46:23
me sale mensaje que no existe https://drive.google.com/file/d/1aGmqQCHkq3YUDjzOekO4SkFo9YDM3wbn/view
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 23/04/2022 00:04:05
De la descarga que subi lineas arriba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por Dario (13 intervenciones) el 04/03/2023 00:23:17
Hola tendrás la descarga de la librería ya que no funciona el link que esta arriba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Generar Código QR

Publicado por Adolfo (260 intervenciones) el 04/03/2023 00:31:28
Descarga el archivo qrcodelib.rar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por Dario (13 intervenciones) el 06/03/2023 12:01:07
GRACIAS! voy a probar a ver si lo puedo hacer andar saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por JOSE MANUEL (17 intervenciones) el 05/04/2023 13:25:05
Hola el proyecto completo me lo podrian pasar por correo.
Mi correo es [email protected]
Gracias
Un Saludo
Jose Manuel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por ROMINA (2 intervenciones) el 05/05/2023 16:32:46
hola podran pasarme el link de la descarga no funciona el rar mi correo es [email protected]
Mil gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Generar Código QR

Publicado por romina (2 intervenciones) el 05/05/2023 16:35:10
Adolfo por favor me podrias compartir el link de la descarga no me funciona..

Gracia!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Generar Código QR

Publicado por Dario (13 intervenciones) el 05/05/2023 23:13:40
Alguien lo pudo hacer andar en power builder 9, en 12.6 si funciona pero no en 9

gracias !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar