Code barre de douchette [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
10 novembre 2012
-
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
SALUT ...
SVP je vous un programme en delphi7 qui géré et lit le code barre de douchette, et comment détecter l’évènement de l'entrée de code barre.
Merci d'avance.

3 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
La plupart des douchettes sont reconnues comme des claviers. C'est donc reçu par le système comme des frappes clavier tout simplement.


________________________________________________________
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
précision : la douchette peut être configurée pour renvoyer #13 (return) ou #09 (tab) aprés la lecture du code barre
et donc de la déclencher les evenements OnClick d'un TButton, OnKeyPress d'un TEdit par exemple.

on placera donc le code dans l'evenement OnKeypress d'un TEdit :

procedure TForm.EditDouchetteKeypress(Sender: Tobject; var Key: char);
var Code: string;
begin
  if (Key #13) or (Key #09) then
  begin
    Code := (Sender as TEdit).Text;

    // faire quelque chose de "code"
    // exemple, lister les code barres scannés, si déjà présent pointer dessus :
    if ListBox1.Items.IndexOf(Code) = -1 then
      ListBox1.Items.Add(Code);
    else
      ListBox1.ItemIndex := ListBox1.Items.IndexOf(Code);

    (sender as TEdit).clear;
    (sender as TEdit).SetFocus;
  end;
end;

________________________________________________________
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
remplacer

ListBox1.Items.Add(Code);


par

ListBox1.ItemIndex := ListBox1.Items.Add(Code);


comme ça la liste pointe toujours sur le dernier element scanné

________________________________________________________