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

Delphi Discussion :

Lecture d'un code barre


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Par défaut Lecture d'un code barre
    Bonjour,

    je n'arrive pas a gérer la fin du code barre après sa lecture.
    je voudrais qu'a chaque fin de lecture le pointeur quitte automatiquement le composant pour se positionne sur un autre.

    j'utilise DELPHI 7 et le composant est un EDIT .

    remerciements et salutations.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 683
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par yab2000dz Voir le message
    je voudrais qu'a chaque fin de lecture le pointeur quitte automatiquement le composant pour se positionne sur un autre.
    Le pointeur ? Vous voulez dire le focus non ?
    Pour placer le focus sur un autre composant, après la lecture du code barre (qui d'après ce que je comprends doit alimenter votre champ TEdit), vous souhaitez placer le focus sur le champ suivant automatiquement.
    Pour ce faire, après la lecture, il vous suffit de faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monComposantSuivant.setFocus;
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Par défaut
    Citation Envoyé par gbegreg Voir le message
    Le pointeur ? Vous voulez dire le focus non ?
    Pour placer le focus sur un autre composant, après la lecture du code barre (qui d'après ce que je comprends doit alimenter votre champ TEdit), vous souhaitez placer le focus sur le champ suivant automatiquement.
    Pour ce faire, après la lecture, il vous suffit de faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monComposantSuivant.setFocus;
    merci gbegreg pour votre reponse.

    en effet c'est gerer le focus.
    voici mon bout de programme qui : après la lecture du code barre récupère le nom du produit de ma base de données ACCESS et au lieu de se positionner directement sur le champ suivant quantité reste sur place (ie : le champ code barre), et ce malgré la commande : champcodebarre.setfocus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TF_Ventes.Ed_CBChange(Sender: TObject);
    begin
    if (Ed_CB.Text <> '') then
    begin
     AQ_Prod.Locate('C_B', Ed_CB.Text, [loCaseInsensitive]);
     EdPrd.Text:=AQ_Prodnom.Value;
     DBPrd.Visible:=false;
     edit3.SetFocus
    end;
     
    end;
    il s'agit peut être de gérer le CR (#13).

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 656
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    le meilleur moyen serait d'utiliser l'évènement OnKeyPress du TEdit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TF_Ventes.Ed_CBKeyPress(Sender: TObject;var Key: Char);
    begin
    if Key=#13 then 
     begin
       Key:=#0;
       if (Ed_CB.Text <> '') then
        begin
          AQ_Prod.Locate('C_B', Ed_CB.Text, [loCaseInsensitive]);
          EdPrd.Text:=AQ_Prodnom.Value;
          DBPrd.Visible:=false;
        end;
      SelectNext(Sender as TWinControl,true,true); // ou edit3.SetFocus
     end;
    end;
    Note : par précautions, avec les lectures code-barres, je vide aussi le buffer de clavier

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Par défaut
    merci sergiomaster pour la réponse,

    le probléme persiste ,avec l'evenement onkeypress, avec en plus la non apparition du libellé du champ, c'est a dire la recherche n'a pas pu étre effectuée et le focus est resté sur place .
    il faudrait appuyer sur la touche ENTREE pour que l'opération se réalise, chose que je voulais éviter.

  6. #6
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Par défaut
    bonjour tout le monde,

    après plusieurs recherches , j'ai l'impression que ma douchette ne renvoi pas un #13 (CR) après la fin de lecture du code barre .

    comment faire pour ca?

    j'ai essayer de scanner les différents codes figurant dans le document en ma possession , mais rien a faire

    merci pour votre aide

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

Discussions similaires

  1. [WM21] Evenement lors de la lecture d'un code barre
    Par mimi1255 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 21/10/2016, 08h29
  2. [WM21] Récupération donnée à la lecture d'un code barre
    Par mimi1255 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 19/10/2016, 09h23
  3. Réponses: 7
    Dernier message: 07/04/2016, 14h24
  4. Réponses: 0
    Dernier message: 17/06/2015, 15h40
  5. Lecture d'un code barre via une douchette
    Par dimainfo dans le forum VB.NET
    Réponses: 3
    Dernier message: 23/06/2009, 09h40

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