Webinaire Delphi le 26 mars à 14 heures -
Utiliser des codes QR et des codes-barres avec Delphi

Le , par gvasseur58

41PARTAGES

11  0 
Maxime Capellot de la société Barnsten propose un nouveau webinaire gratuit qui s’inscrit dans la continuité des précédents. Cette fois-ci, il s’agit d’apprendre à travailler avec les codes QR et les codes-barres avec Delphi.

Nous vivons dans un monde connecté et de plus en plus de sociétés utilisent des codes-barres ou des codes QR pour identifier des objets ou transmettre des informations. Un code-barres se contente généralement d’une série de chiffres alors qu’un code QR peut embarquer du texte développé tels que des nombres, des URL et même des chaînes plus complexes.



Pour les ordinateurs de bureau, on utilise plutôt des douchettes ou des équipements spécialisés pour scanner et reconnaître les contenus cachés dans ces images. La suite de caractères est ensuite émise comme si elle avait été saisie sur le clavier ou transmise en bluetooth. Avec les appareils mobiles et les caméras de nos jours disponibles partout, il est possible de faire le travail nous-mêmes en prenant des images provenant d’un flux vidéo ou d’une photo et en les interprétant.

Lors du webinaire proposé, vous apprendrez à utiliser des bibliothèques open source afin de générer vos codes QR pour les inclure dans des programmes VCL, FireMonkey ou IntraWeb. Bien entendu, vous verrez l’autre aspect du problème, à savoir la lecture de ces codes QR.

En guise d’exemple, un système de configuration d’application mobile vous sera proposé à partir d’une chaîne d’authentification générée par un logiciel sous Windows.

Inscription : https://attendee.gotowebinar.com/reg...73454944945410

Que pensez-vous de ce sujet des codes-barres et des codes QR ?
Quelle expérience avez-vous de leur utilisation ?

Les meilleurs cours et tutoriels pour apprendre la programmation Delphi

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 02/03/2019 à 9:38
Bonjour,
Encore une super initiative
Citation Envoyé par gvasseur58 Voir le message
Que pensez-vous de ce sujet des codes-barres et des codes QR ?
Quelle expérience avez-vous de leur utilisation ?
Les codes-barres c'est un des fils de mon usine à gaz, des milliers de boites d'articles sont ainsi identifiées (même si ce n'est pas de l'EAN13 mais du 2/5i qui est utilisé)
production/réceptions/expéditions sont ainsi suivi.
Le QRCode par contre a été laissé de côté, moyens financiers oblige (une 20 de douchettes à changer pour avoir plus de caractères, on a préféré condenser). Resterai la partie purement commerciale de l'affaire (le QRCode renvoi au site ou même à un contenu JSON) envisageable mais il faudrait augmenter sérieusement la taille des étiquettes car les informations lisibles par l'humain seront toujours nécessaires.

Une petite anecdote pour illustrer :
Dernièrement j'ai pris une bouteille de champagne dans mon caddie arrivé à la caisse la vendeuse tente en vain de trouver un code-barre tel que connu (le fameux EAN13) et rien ! Ne voulant pas nous écouter, elle commence par téléphoner à la caisse centrale pour obtenir des informations, suit un long moment (quand on est à la caisse c'est toujours trop long) toujours pas de réponse, nous lui proposons d'aller nous-mêmes en rayon prendre une autre bouteille, après bien des tergiversations elle accepte enfin (sans penser à passer les autres articles cela dit en passant), le volontaire parti chercher nouvelle bouteille revient bredouille (les bouteilles de la marque et même d'autres n'ont pas plus de code EAN 13 qu'un chauve de cheveux). Excédé mon fils reprends la bouteille en main et lit, puis montre la série de chiffres non codée (oui, elle y était ! Et oui, il a travaillé pour un embouteilleur) . Bref, le monde des caisses n'est pas encore prêt

À moins d'avoir une application, la grande tendance de notre époque, le QRCode nécessite des moyens (autant que la RFID d'ailleurs) !

@organisateurs : Maxime et Patrick
Le sujet qui m'intéresse surtout serait le teethering qui permettrait de coupler le mobile et sa caméra à un PC et ainsi exploiter (à peu de frais ?) les QRCodes.
Un autre webinaire ou abordé au cours de celui-ci ?
Avatar de pprem
Membre confirmé https://www.developpez.com
Le 02/03/2019 à 11:33
Citation Envoyé par SergioMaster Voir le message
@organisateurs : Maxime et Patrick
Le sujet qui m'intéresse surtout serait le teethering qui permettrait de coupler le mobile et sa caméra à un PC et ainsi exploiter (à peu de frais ?) les QRCodes.
Un autre webinaire ou abordé au cours de celui-ci ?
J'ai quelques exemples en tête mais n'ai encore rien écrit, donc je peux en faire un avec AppTethering sans problème.
Avatar de sergio_is_back
Membre chevronné https://www.developpez.com
Le 05/03/2019 à 8:41
Travaillant dans le domaine de l'identification automatique et de la traçabilité j'aimerais faire quelques commentaires :

Citation Envoyé par SergioMaster Voir le message
Les codes-barres c'est un des fils de mon usine à gaz, des milliers de boites d'articles sont ainsi identifiées (même si ce n'est pas de l'EAN13 mais du 2/5i qui est utilisé)
production/réceptions/expéditions sont ainsi suivi.
L'utilisation d'un code 128 serait mieux appropriée que du 2/5i dans ton cas sans changer de douchettes. En effet le 2/5i ne possède aucune sécurité contrairement au code 128 qui possède un start, un stop, un checksum (les lecteurs peuvent ainsi faire de la reconstruction sur des codes dégradés) et possède l'avantage de pouvoir encoder tous les caractères ANSI + des caractères spéciaux pour la norme EAN128

Citation Envoyé par SergioMaster Voir le message
Le QRCode par contre a été laissé de côté, moyens financiers oblige (une 20 de douchettes à changer pour avoir plus de caractères, on a préféré condenser). Resterai la partie purement commerciale de l'affaire (le QRCode renvoi au site ou même à un contenu JSON) envisageable mais il faudrait augmenter sérieusement la taille des étiquettes car les informations lisibles par l'humain seront toujours nécessaires.
Dans un QRCode tu peux encoder ce que tu veux dans le format que tu veux, pas seulement une URL ou du JSON (une simple chaine 012346789ABCDEF peut suffire à générer un code valide). Les avantages du QRCode sont qu'il est particulièrement adapté au décodage via une prise d'image (avec un smartphone) et qu'il y a une redondance d'information qui permet de lire quand même un code dégradé avec une bonne sécurité (sans risque d'erreur).

Dans l'industrie le Datamatrix a la préférence car les algos de décodage des lecteurs fixes sont souvent plus agressifs et performants que le QRCode. Le Datamatrix possède également une densité plus importante, on peut faire des codes vraiment petits, 2mmx2mm avec une douzaine d'octets de données par exemple, c'est idéal pour marques des petites pièces dans l'optique par exemple. Ce que ne permet pas le QRCode.

Citation Envoyé par SergioMaster Voir le message
À moins d'avoir une application, la grande tendance de notre époque, le QRCode nécessite des moyens (autant que la RFID d'ailleurs) !
La RFID est beaucoup plus couteuse, mais cela dépend de l'application au bout du compte, sur des produits à haute valeur ajoutée l'écart de prix est un critère moins discriminant.

Citation Envoyé par SergioMaster Voir le message
@organisateurs : Maxime et Patrick
Le sujet qui m'intéresse surtout serait le teethering qui permettrait de coupler le mobile et sa caméra à un PC et ainsi exploiter (à peu de frais ?) les QRCodes.
Un autre webinaire ou abordé au cours de celui-ci ?
Comme je l'ai évoqué, le décodage du QRCode peut se faire à partir d'une prise d'image de ce dernier par une caméra numérique, quelque soit la source, WEBCAM, Capteur photo de smartphone, Image bitmap obtenue par une source quelconque, etc...
Il existe de nombreuse librairies opensource pour traiter les images et ressortir le code dans celle-ci même en particulier sous Android. (Et même sur PC)

Pour ce qui concerne la génération de QRCODE (et plein d'autres), quand j'ai besoin d'en générer avec Delphi j'utilise Zint BarCode Studio avec lequel on s'interface très facilement. Un DPK est même disponible...

Je vais m'inscrire pour voir quand même la présentation de Maxime et les idées que l'on peut y piocher...
Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 05/03/2019 à 9:01
Bonjour,
Citation Envoyé par sergio_is_back Voir le message
L'utilisation d'un code 128 serait mieux appropriée que du 2/5i dans ton cas sans changer de douchettes.
Il faut connaitre le cahier des charges avant d'avancer pareille chose. L'objectif était d'avoir un code plus compact que le Code128 (aussi utilisé pour des étiquettes plus larges)
Quant à la sécurité du code : à ma connaissance 2/5i possède bien un start et un stop et même si le checksum est optionnel dans notre cas ce n'est pas une option.
Je ne vais pas plus loin sous peine d'être hors sujet.

Merci à Patrick d'envisager un exemple avec teethering
Note : je viens de me rendre compte que j'écrivais teethering au lieu de tethering, mais comme c'est un truc qui me reste entre les dents je trouve cette orthographe fort appropriée
Avatar de sergio_is_back
Membre chevronné https://www.developpez.com
Le 05/03/2019 à 12:22
Citation Envoyé par SergioMaster Voir le message
Bonjour,

Il faut connaitre le cahier des charges avant d'avancer pareille chose. L'objectif était d'avoir un code plus compact que le Code128 (aussi utilisé pour des étiquettes plus larges)
Quant à la sécurité du code : à ma connaissance 2/5i possède bien un start et un stop et même si le checksum est optionnel dans notre cas ce n'est pas une option.
Je ne vais pas plus loin sous peine d'être hors sujet.
Juste une précision, quand même : le code 128 dispose de différentes tables et lorsque l'on veut obtenir un code court avec uniquement des numériques en travaillant en table C le code obtenu sera aussi court sinon plus que du 2/5i....
Avatar de pprem
Membre confirmé https://www.developpez.com
Le 19/03/2019 à 16:00
J-7, vous êtes-vous inscrits ?

J'ai mes démos en tête, plus qu'à coder tout ça et rédiger les slides.

Et si vous êtes sages (et que j'ai le temps de le mettre en place), je caserai peut-être de l'IW17, mais chut, ça reste entre nous.
Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 19/03/2019 à 16:12
Bonjour,

je ne sais pas si je vais te le dire tu nous fais mariner avec tes annonces de mai (en plus cachées dans la partie langage) alors un peu de suspense de ton côté (puisque a priori tu n'as pas la main sur les inscriptions) ne te fera pas de mal
Avatar de pprem
Membre confirmé https://www.developpez.com
Le 19/03/2019 à 16:34
Citation Envoyé par SergioMaster Voir le message
Bonjour,

je ne sais pas si je vais te le dire tu nous fais mariner avec tes annonces de mai (en plus cachées dans la partie langage) alors un peu de suspense de ton côté (puisque a priori tu n'as pas la main sur les inscriptions) ne te fera pas de mal
mais euh...
Avatar de skywaukers
Membre chevronné https://www.developpez.com
Le 20/03/2019 à 15:11
Inscrit

Sujet intéressant et qui tombe à pic, nous allons avoir un projet mobile avec lecture de QRCode, donc le sujet m'intéresse fortement J'espère que le webinaire traitera bien de la lecture et pas uniquement de la génération donc.

(intéressé également par IW17)

@++
Dany
Avatar de ShaiLeTroll
Expert éminent sénior https://www.developpez.com
Le 22/03/2019 à 13:32
Dommage je suis en formation pour l'outil WMS REFLEX
Je suis justement en plein sur ce sujet, je me suis inscrit (et ma collègue), moi je suivrais du coin de l'oeil

Nous aurons surement a effectuer le passage de Code128C (numéro de 10 digit) vers QRCode (numéro de 16 digit ou Ref de 14-18)
Si SergioMaster a abandonné pour 20 douchettes, nous c'est 2000 douchettes mais l'échelle est importante,
500000 références et ce qui est suivi au numéro de série c'est bien 8millions d'objet (+2millions suivi en Ref+Qte) par an,
on espère pour 2025 les chiffres de (20-25+6-12) par an

Je dois m'attaquer à l'EAN8 et EAN13 pour une autre gamme de produit
Et comparer justement le Datamatrix au QRCode (merci Sergio, tu confirmes ce que j'en pensais déjà)
Ensuite la RFID sera mis en place

C'est un choix, nos étiquettes étant minuscule et le marketing ne souhaitant pas les agrandir trop (sinon c'est très moche)
On utilisera selon le format du Code128 ( du C ou C switch B) et du QRCode/Datamatrix
le premier pour les étiquettes longues et peu hautes, le second pour les étiquettes un peu plus carré
Le calibrage des imprimantes était déjà pénible au 0.25mm, là on a un code tellement grand que ça vite devenir une galère pour que cela soit joliment centré (dès que l'on change un Ruban d'impression ou le Papier, faut souvent refaire le réglage car mécaniquement l'opérateur n'a pas mis le papier tout pareil


le Code 128 est généré par un Code Maison (avec AndNotOr on a comparé nos approches différentes pour la structure et algorithme)
Le QR Code est généré TDelphiZXingQRCode (Debenu)
Le EAN8 et EAN13 sera généré par un Code Maison
Le Datamatrix ... Sergio tes conseils sont bienvenus !
La Partie Canvas étant commune à tous à partir d'une property Matrix[Row: Integer; Col: Integer]: Boolean read GetMatrixCell; et d'une structure Polymorphique de la construction du Code Barre

La RFID, pas la moindre idée comment on lit l'EPC du Classe 1 ou qu'on écrit une Classe 2, surement du ZPL, IPL ...
Responsables bénévoles de la rubrique Delphi : Gilles Vasseur - Alcatîz -

Partenaire : Hébergement Web