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 | |