Code barre de douchette

Résolu
idaas Messages postés 2 Date d'inscription mardi 6 septembre 2005 Statut Membre Dernière intervention 10 novembre 2012 - 10 nov. 2012 à 16:23
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 12 nov. 2012 à 19:53
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

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
11 nov. 2012 à 18:07
La plupart des douchettes sont reconnues comme des claviers. C'est donc reçu par le système comme des frappes clavier tout simplement.


________________________________________________________
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
12 nov. 2012 à 19:52
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;

________________________________________________________
1
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
12 nov. 2012 à 19:53
remplacer

ListBox1.Items.Add(Code);


par

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


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

________________________________________________________
0
Rejoignez-nous