Consulta sobre uso de FW_BarCodeBmp ???

Consulta sobre uso de FW_BarCodeBmp ???

Postby remtec » Tue Jul 05, 2022 11:56 pm

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


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


 
Last edited by remtec on Mon Jul 11, 2022 5:55 pm, edited 1 time in total.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta sobre uso de FW_BarCodeBmp

Postby nageswaragunupudi » Wed Jul 06, 2022 8:57 am

Option 2 is better
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Consulta sobre uso de FW_BarCodeBmp

Postby leandro » Wed Jul 06, 2022 12:54 pm

Amigo como vas, yo le agregaría una ofuscación

Code: Select all  Expand view  RUN

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


 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Consulta sobre uso de FW_BarCodeBmp

Postby remtec » Wed Jul 06, 2022 7:45 pm

nageswaragunupudi wrote:Option 2 is better


Mr. Rao

Muy buenas tardes.

Muchas gracias.

Saludos

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta sobre uso de FW_BarCodeBmp

Postby remtec » Wed Jul 06, 2022 7:57 pm

leandro wrote:Amigo como vas, yo le agregaría una ofuscación

Code: Select all  Expand view  RUN

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
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta sobre uso de FW_BarCodeBmp

Postby leandro » Thu Jul 07, 2022 2:57 am

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

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


//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 view  RUN


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


 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Consulta sobre uso de FW_BarCodeBmp

Postby remtec » Fri Jul 08, 2022 5:29 pm

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
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 37 guests