IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Distinguer entrée douchette et clavier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 741
    Par défaut Distinguer entrée douchette et clavier
    Bonjour,

    J'ai un petit problème à soumettre.
    Pour le moment nous utilisons 2 types de saisie inventaire.
    Une par clavier quand on doit saisir des références non étiquetées code barre.
    Une par douchette quand les produits ont un code barre. Ceci oblige à des manipulations et c'est fastidieux.

    Nous voudrions donc modifier notre programme pour qu'il n'y ait qu'une option de saisie, un seul champ, et qu'en fonction de l'entrée, clavier ou douchette, le programme oriente la recherche du produit par la référence (clavier), ou le code EAN (douchette).
    Le hic, c'est que la douchette simulant un clavier, je n'arrive pas à trouver comment savoir si l'entrée provient du clavier ou de la douchette.
    Quelqu'un aurait-il une idée sur comment identifier le périphérique clavier qui a effectué l'entrée ?

    Merci d'avance !

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 480
    Par défaut
    Bonjour,
    Je m'étais posé la même question, dans le même contexte (inventaire sur un terminal mobile), mais en Windev.
    J'ai opté pour "mesurer" le temps mis pour faire la saisie dans le champ, donc le délai entre la saisie du premier caractère et la sortie du champ.
    Il faut juste trouver le bon timing.
    Par contre je ne l'utilisais pas pour faire la différence entre une référence et un code barre, car ce dernier peut être illisible par le scan (mal imprimé, abimé...).

    Autre solution, avec certains terminaux il est possible d'ajouter un préfixe et/ou suffixe à la chaîne renvoyée.
    Tu peux donc ajouter un caractère spécial (@, #, $ ...) pour identifier un scan, et supprimer ce caractère pour faire l'identification de l'article.

    Tatayo.

  3. #3
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 741
    Par défaut
    Pour les caractères spéciaux, j'avais pensé à çà, jusqu'à ce qu'un fabricant chinois nous sorte des références commençant par 3 #
    Donc je ne voudrais pas prendre de risques.
    Sinon, tant pis, je créerai des configs de douchette avec 5 # en entête, en espérant qu'aucun fabricant ne fera une référence pareille !

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 480
    Par défaut
    La mesure de la "vitesse" de frappe fonctionne assez bien (en Windev Mobile tout du moins), je doute que quelqu'un soit capable de saisir 10 caractères en moins d'un quart de seconde .

    C'est la solution que j'avais adoptée.

    Tatayo.

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Citation Envoyé par m4k-Hurrican Voir le message
    .
    Quelqu'un aurait-il une idée sur comment identifier le périphérique clavier qui a effectué l'entrée ?
    pourquoi ne pas laisser l'opérateur activer un booléen en pressant par exemple entrée sur le clavier ?
    Si l'opérateur appuie sur la touche entrée du clavier alors les données proviennent du clavier.
    Dans le cas contraire alors les données viennent de la douchette.
    Sinon une solution sophistiquée consisterait à interroger le port série si la douchette l'utilise.
    Il faut éventuellement utiliser une API win32 comme CreateFile mais chercher s'il n'existe pas un équivalent dot NET

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 480
    Par défaut
    Mat.M => les douchettes que nous utilisons sont en USB, et sont vues par Windows comme de simples clavier.
    L'application ne peut donc pas faire la différence.
    Et par expérience, demander à l'utilisateur de le faire, pendant un inventaire, ça ne fonctionne pas.

    Tatayo.

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    bonjour oui j'y avais pensé à ça.
    C'est évident que si la douchette se connecte sur un port USB ça ne sera pas possible

  8. #8
    Membre Expert
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 95
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 725
    Par défaut
    Bonjour tout le monde,

    Citation Envoyé par m4k-Hurrican Voir le message
    Nous voudrions donc modifier notre programme pour qu'il n'y ait qu'une option de saisie, un seul champ, et qu'en fonction de l'entrée, clavier ou douchette, le programme oriente la recherche du produit par la référence (clavier), ou le code EAN (douchette).
    Sauf erreur d'interprétation, il me semble que la réponse est déjà dans la question.
    Si c'est un code EAN, c'est la douchette; si ce n'est pas un code EAN, ce n'est pas la douchette.
    Et même si le code EAN est tapé sur clavier, cela change quelque chose ?

    Après, je n'ai aucune expérience des douchettes, mais en magasin, au passage en caisse, lorsqu'un article n'a pas été enregistré, il n'y a pas de bip (ou un gros beuuup!). Donc comme beaucoup de protocoles de communication, il y a surement un système d'accusés de réception (conf. acknowledgement (ACK)).
    Tu n'as rien qui va en ce sens pour ton application et ta douchette ?

  9. #9
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 741
    Par défaut
    Bonjour,

    @ Mat.M, comme une majorité de douchettes, les nôtres se font passer pour un clavier USB. La question est donc, entrée sur le clavier physique ou virtuelle de la douchette ?

    @ Kaitlyn, malheureusement, certaines références produits peuvent correspondre à un code EAN (on en a quelques unes).
    Et qui plus est, je sais j'avais simplifié, certains codes barres ne sont pas des EAN, mais du CODE39 ou du CODE128, qui identifient les références elles-même (et j'ajoute une saisie complémentaire de n° de série pour certains produits).

    La seule vraie solution, dans notre cas, est donc de savoir si on lit depuis le clavier ou depuis la douchette.
    Ajouter une chaîne de caractères improbables en début de séquence est la meilleure solution que j'ai trouvée, même si dans notre cas, cela ajoute une contrainte, car les utilisateurs devront flasher la séquence de programmation à chaque début d''enregistrement (les douchettes stockent un lot de codes avant de devoir être "vidées").
    Alors que si j'avais pu dire, cette entrée vient du clavier physique, celle là de la douchette, ils n'auraient pas eu besoin de flasher la séquence de programmation, et çà éviterait donc les risques d'oubli.
    Je suis certain qu'il y a une solution, mais je n'ai pas encore trouvé laquelle. En attendant, on va faire des tests avec une séquence ##### en entête, histoire d'avoir une solution fonctionnelle au moins.

  10. #10
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 480
    Par défaut
    Tu ne peux pas configurer les douchettes pour ajouter cette "chaîne improbable" en préfixe ?
    Toutes celles que j'ai eu en main permettaient de le faire (pour certaines on pouvait même mettre une chaîne différente pour chaque type de code barre).

    Tatayo.

  11. #11
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 741
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Tu ne peux pas configurer les douchettes pour ajouter cette "chaîne improbable" en préfixe ?
    Toutes celles que j'ai eu en main permettaient de le faire (pour certaines on pouvait même mettre une chaîne différente pour chaque type de code barre).

    Tatayo.
    Si, mais dès qu'elles passent au repos, leur programmation "s'efface".
    Il faut re-scanner une suite de codes barre pour refaire leur programmation (mode stockage, sans-fil, français, type de codes barres acceptés, et préfixe).

  12. #12
    Membre Expert
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 95
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 725
    Par défaut
    Salut,

    Citation Envoyé par m4k-Hurrican Voir le message
    certaines références produits peuvent correspondre à un code EAN (on en a quelques unes).
    Du code EAN en référencement interne, je doute du bien-fondé de la chose. Si ça ne concerne que quelques références, peut-être qu'il est possible de rectifier le tir. Je rappelle toutefois qu'il ne faut pas confondre un code EAN avec un code de longueur EAN, la clé fait la différence. Il en va de même pour tes autres types de codes que je suppose, ou plutôt qui sont surement normalisés.

    Sinon, as-tu pensé à ajouter des caractères non imprimables, en suffixes ou en préfixes, un peu à l'image des caractères de contrôles ASCII, genre start of text, end of text, end of transmission (conf. table ASCII). Ces caractères ne seront pas visibles dans la zone de saisie, mais le code saura les reconnaitre au moment du traitement.

    [EDIT]

    Ce besoin me semble quand même assez légitime, donc il y a de forte chance que la solution se trouve dans la doc de tes douchettes ou sur le site du fabricant.
    Dans le cas contraire, un peu d'ingénierie inverse devrait le faire aussi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/11/2018, 20h48
  2. Distinguer entre les feuilles d'un classeur selon le choix de l'utilisateur
    Par sossso112333 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2015, 19h13
  3. Pouvoir distinguer entre deux sorties audio.
    Par asoka13 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 16/10/2010, 00h41
  4. distinguer entre l'image d'un visage humain et l'image d'autre objet
    Par naim2009 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 21/02/2009, 02h00
  5. Réponses: 15
    Dernier message: 12/07/2006, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo