Page 1 of 1
Consulta sobre uso de FW_BarCodeBmp ???
Posted: Tue Jul 05, 2022 11:56 pm
by remtec
Hola Amigos
Necesito me puedan ayudar con la generación de un código QR.
Lo que necesito es generar el código QR, con 3 datos, para su lectura y verificación por WEB.
Datos Ejemplo que debe llevar:
- URL:
http://www.empresa.com (Sitio donde estará la tabla que contiene datos a verificar).
- Folio = Es el numero de certificado.
- Rut = Identificación personal de suscrito en el certificado.
Necesito saber la forma correcta de definir estos datos en el QR, hoy puedo imprimir en el certificado el código QR, de las 2 formas que muestro y funciona bien, pues al leerlo, deriva al sitio que lleva en el código.
Muchos Saludos.
Antonio
Code: Select all | Expand
Opción 1:
// Genero e Imprimo Codigo QR
hBmp := FW_BarCodeBmp( "www.prueba.com","QRCODE", 200, 200 )
@ 220, 20 PRINT TO oPrn IMAGE hBmp SIZE 39.5, 24 MM
Opción 2:
@ 220,20 PRINT TO oPrn TEXT "www.prueba.com" + CRLF + Str(nCerti,10) + CRLF + cRut ;
AS BARCODE TYPE "QR-CODE" SIZE 39.5,24 MM
Re: Consulta sobre uso de FW_BarCodeBmp
Posted: Wed Jul 06, 2022 8:57 am
by nageswaragunupudi
Option 2 is better
Re: Consulta sobre uso de FW_BarCodeBmp
Posted: Wed Jul 06, 2022 12:54 pm
by leandro
Amigo como vas, yo le agregaría una ofuscación
Code: Select all | Expand
cCertBas64 := hb_base64encode(Str(nCerti,10),len(Str(nCerti,10)))
cRutBas64 := hb_base64encode(cRut,len(cRut))
@ 220,20 PRINT TO oPrn TEXT "www.prueba.com?certi="+ cCertBas64 + "&rut="+cRutBas64 ;
AS BARCODE TYPE "QR-CODE" SIZE 39.5,24 MM
Re: Consulta sobre uso de FW_BarCodeBmp
Posted: Wed Jul 06, 2022 7:45 pm
by remtec
nageswaragunupudi wrote:Option 2 is better
Mr. Rao
Muy buenas tardes.
Muchas gracias.
Saludos
Antonio
Re: Consulta sobre uso de FW_BarCodeBmp
Posted: Wed Jul 06, 2022 7:57 pm
by remtec
leandro wrote:Amigo como vas, yo le agregaría una ofuscación
Code: Select all | Expand
cCertBas64 := hb_base64encode(Str(nCerti,10),len(Str(nCerti,10)))
cRutBas64 := hb_base64encode(cRut,len(cRut))
@ 220,20 PRINT TO oPrn TEXT "www.prueba.com?certi="+ cCertBas64 + "&rut="+cRutBas64 ;
AS BARCODE TYPE "QR-CODE" SIZE 39.5,24 MM
Hola Leandro.
Muchas gracias por tu preocupación y ayuda. Ya lo aplique.
En estos momentos, imprimo los documentos con el código QR, con la modificación que me indicas y además imprimo la firma del profesional, que guardo en un archivo, para mayor seguridad y no tenerla como jpg en una carpeta, que puede ser tomada y mal usada, los profesionales afectos a esta firma y QR, no son mas de 50 diferentes.
El paso siguiente es poder grabar en paralelo en un tabla que se almacenara en un hosting, la cual solo será usada para recibir las verificaciones de validez que se realicen desde el código QR y serán localizadas por Certi y Rut y los datos serán mostrados en un formulario.
A pesar de la urgencia, me a costado avanzar.
Muchas gracias por por tu tiempo y ayuda.
Saludos.
Antonio
Re: Consulta sobre uso de FW_BarCodeBmp
Posted: Thu Jul 07, 2022 2:57 am
by leandro
Correcto ese es el paso siguiente, se puede hacer de varias formas, nosotros hacemos el llamado a un web service desde la aplicación de escritorio, y hacemos el registro en el servidor apoyándonos en mysql y php.
Code: Select all | Expand
hDatos := {=>} //el json con los datos a subir
enviar := hb_jsonEncode( hDatos )
ohttp := CreateObject( "MSXML2.XMLHTTP" )
ohttp:Open( "POST" ,"https://prueba/ws_regrut",.F.)
oHttp:SetRequestHeader("cache-control", "no-cache")
ohttp:SetRequestHeader("content-type", "application/json" )
ohttp:SetRequestHeader("authorization", "Basic "+cBas64 )
TRY
ohttp:Send( enviar )
CATCH
msginfo("No Se Pudo Enviar Documento JSON","Intente Nuevamente")
return .t.
END
response:=ohttp:responseText
aHasRes := hash()
hb_jsondecode(response ,@aHasRes)
del lado del servidor
Code: Select all | Expand
//DATOS DE AUTORIZACION BASICA DE CABECERA
$auto_usuario = $_SERVER["PHP_AUTH_USER"];
$auto_clave = $_SERVER["PHP_AUTH_PW"];
date_default_timezone_set('America/Bogota');
//recogemos los datos que vienen en el json
$datos = json_decode(file_get_contents("php://input"),true);
...
...
...
$retorno["error"] = "";
$retorno["registrado"]=true;
...
...
...
echo json_encode($retorno);
?>
y la consulta del usuario con qr
Code: Select all | Expand
$articu = $_GET["arti"];
$serial = $_GET["seri"];
include("conecta.php");
$query = "SELECT * FROM regustri WHERE codigo_articulo='".$articu."' AND serial_articulo='".$serial."'";
$sqls = $conexion->prepare($query);
$sqls->execute();
$nro_reg = count($sqls->fetchall());
if($nro_reg==0){
echo "<h2>Artículo No Reportado</h2>";
}else{
echo "<h2>Datos Artículo Seguimiento </h2>";
$sqls = $conexion->prepare($query);
$sqls->execute();
while($row = $sqls->fetch()){
$consecu_traza = $row['consecutivo'];
echo "<table>";
echo "<tr>";
echo "<td>Código Artículo : </td>";
echo "<td>".$row['codigo_articulo']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Nombre Artículo : </td>";
echo "<td>".$row['nombre_articulo']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Serial Artículo : </td>";
echo "<td>".$row['serial_articulo']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Modelo : </td>";
echo "<td>".$row['modelo']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Lote : </td>";
echo "<td>".$row['lote']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Certificado No. : </td>";
echo "<td>".$row['certificado']."</td>";
echo "</tr>";
echo "</table>";
}
$sqls=null;
}
$conexion = null;
Re: Consulta sobre uso de FW_BarCodeBmp
Posted: Fri Jul 08, 2022 5:29 pm
by remtec
Hola Leandro.
Deseo que estes muy bien.
Muchas gracias por tu tiempo y dispocion a ayudarme.
Hoy revisare lo que me has enviado, a ver hasta donde logro entender y tratar de aplicar a lo que necesito.
Muchos Saludos y que estes muy bien.
Antonio