** Este seria el contenido de informacion del QR
lcDato =[?re=XAXX010101000%26rr=XAXX010101000%26tt=1234567890.123456] + ;
[%26id=ad662d33-6934-459c-a128-BDf0393f0f44]
** Ancho x Alto
lcDimensiones = '300x300'
** Donde quieren guardar la imagen, ojo, es PNG
lcImagen = PUTFILE('QRCode','QRCode','png')
IF EMPTY(lcImagen)
RETURN
ENDIF
IF GoogleQR(lcDato,lcDimensiones,lcImagen) == 0
MESSAGEBOX('Descarga Exitosa',0+64,'GoogleQR')
ELSE
MESSAGEBOX('Error en la generacion del Codigo QR',0+16,'GoogleQR')
ENDIF
FUNCTION GoogleQR(pDato,pDimensiones,pImagen)
WAIT WINDOW "Generando y descargando Código QR, espere por favor..." NOWAIT
DECLARE LONG URLDownloadToFile IN "urlmon";
LONG pCaller,;
STRING szURL,;
STRING szFileName,;
LONG dwReserved,;
LONG lpfnCB
sURL ="https://chart.googleapis.com/chart?cht=qr&chs=" + ;
pDimensiones + "&chld=Q&chl=" + STRTRAN(pDato,'&','%26')
nRetVal = URLDownloadToFile (0, sURL, pImagen, 0, 0)
WAIT CLEAR
RETURN nRetVal
ENDFUNC
Más información: Google API
Gracias a Luis María Guayán por el tip de esta API de Google
Baltazar Moreno
Una consulta;
ResponderBorrarTengo que utilizar la API de Google, pero el en el contenido del dato que envío, hay diferentes campos concatenados y separado por algunos caracteres de control no imprimibles ASCII (RS=30, GS=29 y EOT=04). El caso es que me da error y no los acepta. Entiendo que por que la API funciona con un formato de caracteres UTF-8 y posiblemente este formato no acepte este tipo de caracteres. Por lo tanto necesitaría traspasar el dato que envío a desde ASCII a UTF-8. Como podría hacerlo..?
Gracias...
Como puedo reducir el margen que le da al qr. ?
ResponderBorrar