Creación de códigos QR para incluirlos en nuestras páginas web en formato SVG o PNG.
WITH OBJECT WQrCode():New(:WO) :cText := "https://nefele.dev" :cClrPane := "#CCCCCC" :cClrText := "#006F94" :nModuleSize := 5 :lPNG := .T. :Create() END WITH
Si queremos utilizarlo desde JS podemos crear una función JS que luego podemos llamar desde cualquier evento.
cScript := 'function myqr(e){' cScript += WQrCode():InsertSVG("qr2","!e","M","html","#CCCCCC","#006F94",1,10) cScript += WQrCode():InsertPNG("qr1","!e","M","html","#CCCCCC","#006F94",1,10) cScript += '};' AAdd( :aScript, cScript )
Por ejemplo en el OnClick de un wButton
WITH OBJECT WButton():New(:WO) :cId := "creaqr" :cText := "Generar QR" :cOnClick := "@myqr('https://nefele.dev')" :cIcon := "center_focus_weak" :lLarge := .T. :lCenter := .T. :Create() END WITH
Nombre | Init | Descripción | Versión |
---|---|---|---|
cClassId | qrc | Solo lectura | 0.4 |
cText | Cadena que se leerá en el QR | 0.4 | |
Si comienza por @ se considera que es una llamada a una función JS que retornara la cadena. | |||
Si comienza por # es una propiedad de un control, por defecto 'value', para indicar otro se pondrá #control:propiedad | |||
Si comienza por % se considera que es un parámetro de la función que lo llama que hace referencia a un control. Podemos también indicar la propiedad del control a leer, por defecto 'value', %e:propiedad | |||
Si comienza por ! se considera que es una parámetro de la función que corresponde a una cadena | |||
cEccLevel | “M” | Capacidad de corrección de errores L (7%), M (15%), Q (25%), H (30%) | 0.4 |
cFormat | “html” | Formato de salida. Solo es útil cuando se genera PNG | 0.4 |
cClrText | clBlack | Color de Texto | 0.4 |
cClrPane | clWhite | Color del Fondo | 0.4 |
nMargin | 1 | Módulos de margen ( el tamaño del modulo se define con nModuleSize ) | 0.4 |
nModuleSize | 2 | Tamaño en de cada uno de los recuadros que forman en QR | 0.4 |
lPNG | .F. | Se genera el QR como una imagen PNG | 0.4 |
cContent | Si se crea el QR desde una Función JS o desde una llamada por AJAX podemos indicar el wBevel donde se creara | 0.4 |