1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD lecteur code a barre USB

Discussion dans 'Windev' créé par epitagl1990, Juil 31, 2018.

  1. epitagl1990

    epitagl1990 New Member

    Inscrit:
    Jan 10, 2018
    Messages:
    23
    J'aime reçus:
    11
    Bonjour ,

    COMMENT :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    COMMENT : redirigez un évènement port USB vers un port com virtuel

    merci
     
    Tags:
  2. Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Et du coup la question est ? Parce-que la réponse a déjà été donné dans le thread que tu mentionne.

    Ça n'a rien de sorcier en fait la lecture code barre. Le scanner n'est qu'un clavier !
    Il suffit de mettre le focus sur un champ de saisie en particulier et s'assurer que la douchette envoi bien le VK_RETURN apres chaque saisie et traiter le contenu via le declencheur "sortie de champ" ou "a chaque touche enfoncée" et ne traiter que quand la touche est VK_Return (le deux fonctionne pareil)

    Le plus pénible c'est de s'assurer que le focus reste sur ce champ de saisie en fait !
     
    Fakirato et joker aiment ça.
  3. epitagl1990

    epitagl1990 New Member

    Inscrit:
    Jan 10, 2018
    Messages:
    23
    J'aime reçus:
    11
    je cherche une solution pour initialiser le champs dans le cas ou l'interception de l'évènement
    s'effectue a partir d'un autre champs

    Code (Windev):

    PROCEDURE ProcedureCB(

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , wParam, lParam)
    nPosPoint est une chaîne
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    () = causeClavier ALORS
    c est un entier=_EVE.wParam
    SI c>=47 ET c<58 ALORS //  caractere numerique
      gsSCAN+=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (wParam)
    FIN
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (gsSCAN)=13 ALORS
     
         nPosPoint=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (gsSCAN,".")
            // Partie du code a modifier
            // si le champ en cours ne correspond pas au champ de saisie de code a barre  il faut remettre le champ a null après l' interception de l'évènement
            SI  {

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()}..Type=typSaisieNum OR {

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()}..Type=typSaisieTexte OR {

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()}..Type=typSaisieMonétaire OR {

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()}..Type=typSaisieNumériquePrécis OR{

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()}..Type=typSaisieDate ALORS
              {

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()}..Valeur=""
            FIN
            //
      ChCodeBarre = gsSCAN
      gsSCAN=""
      SI gbTicketfermer=Faux AND nPosPoint=0 ALORS
       SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Article,CodeBarre,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (ChCodeBarre),hIdentique) ALORS
        gnIDarticleSelect=Article.idarticle
        gnIdboutontselect=0
        gcModeAjout="A"
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (BTN_validligne,trtClic)
     
        gsSCAN=""
       SINON
        RepriseSaisie(ChCodeBarre)
        ChCodeBarre = gsSCAN
       FIN
      FIN
    FIN
    FIN
     
  4. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    509
    J'aime reçus:
    739
    Bonsoir,

    Dans le code [Déclarations Globales] de la fenêtre
    Code (Windev):

    //----------- Monitoring des touches -----------//

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("Monitor_Touche",MoiMême..Nom+".*",WM_KEYDOWN)        // Pression d'une touche du clavier
     
    Monitor_Touche : Nom de la procédure WLangage à lancer lors de l'interception de l'événement.
    MoiMême..Nom
    : Ici C'est tout la fenêtre qui est concernée par l'interception de l'événement du clique

    Voici un exemple de code pour la procédure [Monitor_Touche]
    Code (Windev):
    SELON _EVE.wParam
        CAS VK_RETURN :   // Clique sur le bouton ENTRER

            sChamp_Encours est une chaîne =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    () // Identification du champ en cours de saisie
            SI sChamp_Encours<>"" ET

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sChamp_Encours)=13 ET

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ({sChamp_Encours,indChamp}..Valeur)=Vrai ALORS
                // Si sChamp_Encours remplit ces conditions
                // alors on peut exécuter ici la procédure de recherche par code à barres
            FIN

        CAS VK_ESCAPE :
            RepriseSaisie(SAI_TermeRecherché)

         CAS VK_F2 :
            SI bAvec_Colisage=1 ALORS
                RepriseSaisie(TABLE_Panier.nbr_colis)
            SINON
                RepriseSaisie(TABLE_Panier.qte)
            FIN
             
        CAS VK_DELETE :
    //            TableSelect(TABLE_Panier)
    //            Gest_Action_BTN_Panier("Supprimer")
       
        AUTRE CAS
       
    FIN
    L'avantage de cette méthode est qu'elle permet d'intercepter l’événement du clique sur ENTRER (ou autres)
    sur tous les champs de la fenêtre.

    Code à adapter par rapport aux champs de ta fenêtre et à améliorer.

    P.S :
    Si ChampEnCours()<>""
    On peut déduire que c'est un champ de saisie.
    Les douchettes/ Lecteurs de code à barres renvoient le code de la touche Entrer après fin de scan ou peuvent être configurés pour ce faire
    Regarde du coté du manuel de configuration de ta douchette
     
    #4 suenodesign, Août 4, 2018
    Dernière édition: Nov 25, 2018
    dsmaurad et joker aiment ça.

Partager cette page

Chargement...