gx-l | | | |
baldomero.olvera | |
Buen día,
Tengo algo ya avanzado que hice con el nuevo objeto user control de Gx 16,
que funciona en Web no lo he probado en SD,
Que hay que hacer.
El archivo camara.gxlibrary lo importas en Genexus como ui file
Ya que has importado el archivo aparecera como camaera_gxlibrary en el
contendeor de archivos.
[image: image.png]
una vez que ya lo tienes ahi entonces creas un objeto tipo user control y
en la sección Screen Template pegas este código
que es el html correspondientre al control.
en las propiedades del control en Base Style seleccionas camara.
[image: image.png]
Y entonces ya puedes utilizar el objeto en un WebPanel y le pones un nombre
por ejemplo "Foto"
En el WebPanel debes crear una variable tipo VarChar(40) por ejemplo
&ImagenURL
El resultado en ejecución es un panel con dos recuadros uno muestra lo que
está viendo la cámara y el otro la imagen capturada al hacer click en el
botón del control,
Event Foto.OnClick //Este es un evento del user control al que le puse el
nombre Foto en el WebPanel
&ImageURL = Foto.ImageUrl //Variable tipo VarCahr(40) a la que se le
asigna lo que regresa el control al hacer click en el botón.
EndEvent
El control regresa un string con la cadena que corresponde a la imagen,
para recuperarla hago lo siguiente:
Event Enter
if &ImageURL.IsEmpty()
msg('No se ha tomado la foto')
else
// msg(substr(&ImageURL,1,50))
&ImageURL = Strreplace(&ImageURL,'data:image/png;base64,','')
&ImgBlob.FromBase64String(&ImageURL) //Variable tipo Blob en donde
pongo la imagen y ya la puedo grabar en la BD, en un archivo o hacer con
ella lo que quiera
endif
EndEvent
camara.gxlibrary
Sobre camara.gxlibrary
Este archivo es un archivo zip al que se le cambia el nombre para que
Genexus lo reconozca como la librería del control.
Dentro lleva 2 archivos (podrían ser más), un css y un js en donde se
definen la estética y las funcionalidades del control
Si quieres modificar la estética del botón solo debes editar el css a tu
gusto y si quieres agregar alguna funcionalidad entonces modificas el js
Si llegas a hacerlo te vas a la sección files de tu modelo seleccionas el
archivo gxlibrary y le das actualizar para que se incorporen los cambios,
rebuild y listo.
Espero haber sido claro y que te sirva de algo.
Si quieres más info revisa:
https://www.youtube.com/watch?v=6Jr630V_Koc
https://wiki.genexus.com/commwiki/servlet/wiki?39356,Category%3AUser+Control+object,
Saludos
El vie., 18 oct. 2019 a las 14:47, Sergio Leal () |
|
|
|
|
Back to gx-l |
|